getaddrinfo: fix gai_strerror signature
[gnulib.git] / ChangeLog
1 2011-04-28  Eric Blake  <eblake@redhat.com>
2
3         getaddrinfo: fix gai_strerror signature
4         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
5         and work around mingw with UNICODE defined.
6         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
7         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
8         * modules/netdb (Makefile.am): Substitute it.
9         * lib/netdb.in.h (gai_strerror): Declare replacement.
10         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
11         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
12         the fix.
13
14         getsockopt: avoid compiler warning
15         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
16         Reported by Matthias Bolte.
17
18         tests: drop unused link dependency
19         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
20         * modules/dirent-safer-tests (Makefile.am): Likewise.
21         * modules/fdopendir-tests (Makefile.am): Likewise.
22         * modules/mkfifoat-tests (Makefile.am): Likewise.
23         * modules/openat-safer-tests (Makefile.am): Likewise.
24         * modules/openat-tests (Makefile.am): Likewise.
25         * modules/readlinkat-tests (Makefile.am): Likewise.
26         * modules/symlinkat-tests (Makefile.am): Likewise.
27         * modules/linkat-tests (Makefile.am): Likewise.
28         (Depends-on): Switch to filenamecat-lgpl.
29         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
30         LIBINTL.
31         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
32         * tests/test-linkat.c (main): Don't require xalloc.
33
34         hash, mgetgroups: drop xalloc dependency
35         * lib/hash.c (includes): Adjust includes.
36         * lib/mgetgroups.c (includes): Likewise.
37         (xgetgroups): Move...
38         * lib/xgetgroups.c: ...to new file.
39         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
40         * modules/xgetgroups: New file, split from...
41         * modules/mgetgroups: ...here.
42         (Depends-on): Add xalloc-oversized.
43         * modules/hash (Depends-on): Likewise.
44         * modules/hash-tests (Depends-on): Drop xalloc.
45         (test_hash_LDADD): Drop unused library.
46         * tests/test-hash.c (main): Break xalloc dependency.
47         (includes): Drop unused include.
48
49         xalloc-oversized: new module
50         * modules/xalloc-oversized: New module.
51         * modules/xalloc (Depends-on): Add it.
52         * lib/xalloc.h (xalloc_oversized): Move...
53         * lib/xalloc-oversized.h: ...into new file.
54
55         utimecmp: drop dependency on xmalloc
56         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
57         due to memory pressure.
58         * modules/utimecmp (Depends-on): Drop xalloc.
59
60 2011-04-27  Eric Blake  <eblake@redhat.com>
61
62         getcwd: fix mingw bugs
63         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
64         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
65         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
66
67 2011-04-27  Bruno Haible  <bruno@clisp.org>
68
69         mkstemps: Ensure declaration on MacOS X 10.5.
70         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
71         * doc/glibc-functions/mkstemps.texi: Document header file problem on
72         MacOS X.
73
74 2011-04-27  Bruno Haible  <bruno@clisp.org>
75
76         mkstemp: More documentation.
77         * doc/posix-functions/mkstemp.texi: Document header file problem on
78         MacOS X.
79
80 2011-04-27  Bruno Haible  <bruno@clisp.org>
81
82         mkstemp: Tweak configure message when cross-compiling.
83         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
84         result as a guess.
85
86 2011-04-27  Bruno Haible  <bruno@clisp.org>
87
88         clean-temp: Clarify what it does.
89         * lib/clean-temp.h: Add more comments.
90         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
91         module.
92         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
93         * doc/glibc-functions/mkstemps.texi: Likewise.
94         * doc/glibc-functions/mkostemps.texi: Likewise.
95
96 2011-04-27  Eric Blake  <eblake@redhat.com>
97
98         fchdir: avoid extra chdir and fix test
99         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
100         getcwd-lgpl.
101         * lib/fchdir.c (get_name): Any absolute name will do; it does not
102         have to be canonical.
103         (canonicalize_file_name): Drop unused macro.
104         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
105
106         filenamecat-lgpl: fix licence
107         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
108         when it was first created.
109
110         linkat, renameat: add missing dependency
111         * modules/linkat (Depends-on): Require getcwd-lgpl.
112         * modules/renameat (Depends-on): Likewise.
113
114         tests: reduce dependencies
115         * tests/test-linkat.c (main): Use lighter-weight getcwd.
116         * tests/test-renameat.c (main): Likewise.
117         * modules/linkat-tests (Depends-on): Relax dependency.
118         * modules/renameat-tests (Depends-on): Likewise.
119         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
120         dependency explicit.
121
122         save-cwd: reduce default dependency
123         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
124         * lib/save-cwd.c: Update comments.
125         * NEWS: Document the semantic change.
126
127         getcwd: enhance tests
128         * tests/test-getcwd-lgpl.c: New file, taken from...
129         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
130         repeat long path stress tests from m4 probe.
131         * modules/getcwd-lgpl-tests: New module.
132         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
133         * m4/getcwd-abort-bug.m4: Update comment.
134         * m4/getcwd-path-max.m4: Likewise.
135
136         getcwd-lgpl: new module
137         * modules/getcwd-lgpl: New module.
138         * lib/getcwd-lgpl.c: New file.
139         * doc/posix-functions/getcwd.texi (getcwd): Document it.
140         * MODULES.html.sh (lacking POSIX:2008): Likewise.
141         * modules/getcwd (configure.ac): Set C witness.
142         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
143
144         getcwd: tweak comments
145         * m4/getcwd-abort-bug.m4: Fix comments.
146         * m4/getcwd-path-max.m4: Likewise.
147         * m4/getcwd.m4: Likewise.
148
149 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
150         and Eric Blake  <eblake@redhat.com>
151
152         mkstemp: replace if system version uses wrong permissions
153         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
154         read/write mode bits set in file created by mkstemp.
155         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
156
157 2011-04-27  Eric Blake  <eblake@redhat.com>
158
159         passfd: avoid compiler warning
160         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
161         Reported by Laine Stump.
162
163 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
164
165         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
166         required by the NetBSD (and perhaps other 4.4BSD derived) join.
167
168 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
169         and Eric Blake  <eblake@redhat.com>
170
171         mkstemp: mention clean-temp module
172         * lib/mkstemp.c: Add comment.
173         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
174
175 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
176
177         inttypes: also provide default values for 32-bit tests
178         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
179         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
180
181 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
182
183         strtoumax: remove dependency on strtoimax
184         This is like the strtoull change of yesterday.
185         * modules/strtoumax (Files): Add lib/strtoimax.c.
186         (Depends-on): Remove strtoimax and add verify.
187
188         inttypes-incomplete: new module
189         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
190         all but the PRI* and SCN* parts of gl_INTTYPES_H.
191         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
192         of gl_INTTYPES_H.
193         (gl_INTTYPES_H): Rewrite in terms of these new macros.
194         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
195         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
196         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
197         * modules/strtoumax, modules/xstrtol (Depends-on):
198         Depend on inttypes-incomplete, not inttypes.
199         * modules/inttypes-incomplete: New module, containing the contents
200         of the old modules/inttypes module, except that the Files: section
201         omits m4/inttypes-pri.m4, and the configure.ac section invokes
202         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
203         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
204         (Depends-on): Depend only on inttypes-incomplete.
205         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
206
207         inttypes: omit now-redundant strtoimax and strtoumax work
208         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
209         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
210
211         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
212         This supports apps that need pointers to strtoimax and strtoumax,
213         and ports to HP-UX 11.00 64.bit, which has macros that expand to
214         nonexistent functions.  See
215         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
216         et seq.
217         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
218         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
219         a macro.
220         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
221
222 2011-04-25  Simon Josefsson  <simon@josefsson.org>
223
224         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
225
226 2011-04-25  Bruno Haible  <bruno@clisp.org>
227
228         strtol, strtoul: Mark modules as obsolete.
229         * modules/strtol (Status, Notice): New sections.
230         * modules/strtoul (Status, Notice): New sections.
231
232 2011-04-25  Bruno Haible  <bruno@clisp.org>
233
234         strtod: Remove check for strtod, unless supporting old platforms.
235         * modules/strtod-obsolete: New file.
236         * m4/strtod-obsolete.m4: New file.
237         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
238         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
239         * modules/strtod (Depends-on): Add strtod-obsolete.
240         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
241
242 2011-04-25  Bruno Haible  <bruno@clisp.org>
243
244         strcase: Make module obsolete.
245         * modules/strcase (Status, Notice): New sections.
246
247 2011-04-25  Bruno Haible  <bruno@clisp.org>
248
249         dup2: Remove check for dup2, unless supporting old obsolete platforms.
250         * modules/dup2-obsolete: New file.
251         * m4/dup2-obsolete.m4: New file.
252         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
253         gl_FUNC_DUP2_OBSOLETE is not also defined.
254         * modules/dup2 (Depends-on): Add dup2-obsolete.
255         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
256
257 2011-04-25  Bruno Haible  <bruno@clisp.org>
258
259         strnlen: Avoid memchr related link error on old obsolete platforms.
260         * modules/memchr-obsolete: New file.
261         * m4/memchr-obsolete.m4: New file.
262         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
263         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
264         * modules/memchr (Depends-on): Add memchr-obsolete.
265         * modules/strnlen (Depends-on): Likewise.
266         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
267
268 2011-04-25  Jim Meyering  <meyering@redhat.com>
269
270         maint.mk: makefile_at_at_check extend and clean up
271         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
272         in addition to */Makefile.am.
273         Exempt legitimate uses of @VAR@ notation, e.g.,
274         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
275         Remove obsolete coreutils-specific comment.
276         Prompted by discussion here:
277         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
278
279 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
280
281         strtoul: remove dependency on strtol
282         This is so that 'configure' need not check for strtol merely because
283         the application needs strtoul.
284         * modules/strtoul (Files): Add lib/strtol.c.
285         (Depends-on): Remove strtol.
286
287         strtoull: remove dependency on strtoul
288         This is like the strtoll change.
289         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
290         (Depends-on): Remove strtoul.
291
292         strtoll: remove dependency on strtol
293         This is so that 'configure' need not check for strtol merely because
294         the application needs strtoll.
295         * modules/strtoll (Files): Add lib/strtol.c.
296         (Depends-on): Remove strtol.
297
298 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
299
300         inttypes: Move some configure check to module 'imaxdiv'.
301         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
302         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
303         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
304
305 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
306
307         inttypes: Move some configure check to module 'imaxabs'.
308         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
309         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
310         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
311
312 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
313
314         inttypes: Remove configure tests that are not needed since 2009-12-31.
315         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
316         gl_cv_header_working_inttypes_h.
317
318 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
319
320         * modules/strnlen (Depends-on): Remove memchr.
321         The strnlen implementation doesn't need the memchr module's fixes; see
322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
323
324         strtol: remove dependency on wchar
325         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
326         * modules/strtol (Depends-on): Remove wchar.
327
328 2011-04-21  Eric Blake  <eblake@redhat.com>
329
330         passfd: fix test regression on Linux
331         * modules/passfd-tests (configure.ac): Correct socketpair check.
332
333         passfd: speed up configure and drop unused code
334         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
335         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
336         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
337         Instead of probing at configure for unix_scm_rights_bsd44_way,
338         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
339         check to a struct member probe.
340         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
341         (sendfd, recvfd): Update preprocessor checks.
342         * modules/passfd (Files): Reflect rename, and drop unused file.
343         (Depends-on): Drop unused dependency.
344
345         passfd: allow compilation on mingw
346         * modules/sys_socket (Depends-on): Add sys_uio.
347         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
348         iovec and a minimal struct msghdr.
349         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
350         * tests/test-sys_socket.c (main): Enhance test.
351         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
352         guaranteed to provide what we need.
353         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
354         * modules/passfd-tests (Depends-on): Add sys_wait.
355         * tests/test-passfd.c (main): Skip test on mingw, for now.
356         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
357         partial 'struct msghdr' implementation.
358
359         sys_uio: new module
360         * modules/sys_uio: New module.
361         * modules/sys_uio-tests: Likewise.
362         * lib/sys_uio.in.h: New file.
363         * m4/sys_uio_h.m4: Likewise.
364         * tests/test-sys_uio.c: Likewise.
365         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
366         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
367
368 2011-04-20  Jim Meyering  <meyering@redhat.com>
369
370         useless-if-before-free: avoid false-positive
371         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
372         disjunct so that it too requires a terminating ";".  Without that,
373         this script would identify as useless one statement from gcc that
374         was not:
375           if (aligned_ptr)
376             free (((void **) aligned_ptr) [-1]);
377
378 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
379
380         doc: update users.txt.
381         * users.txt: Add barcode.
382
383 2011-04-19  Bruno Haible  <bruno@clisp.org>
384
385         ioctl: Remove link dependency on native Windows.
386         * lib/fd-hook.h: Renamed from lib/close-hook.h.
387         (gl_close_fn, gl_ioctl_fn): New types.
388         (struct fd_hook): Renamed from struct close_hook. Change type of
389         private_close_fn field. Add private_ioctl_fn field.
390         (close_hook_fn): Add parameter for primary close method.
391         (execute_close_hooks, execute_all_close_hooks): Likewise.
392         (ioctl_hook_fn): New type.
393         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
394         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
395         argument.
396         (unregister_fd_hook): Renamed from unregister_close_hook.
397         * lib/fd-hook.c: Renamed from lib/close-hook.c.
398         Don't include <unistd.h>.
399         (close): Remove undef.
400         (anchor): Update.
401         (execute_close_hooks): Add argument for primary close method.
402         (execute_all_close_hooks): Likewise.
403         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
404         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
405         argument. Allow each argument to be NULL.
406         (unregister_fd_hook): Renamed from unregister_close_hook.
407         * lib/close.c (rpl_close): Pass 'close' function pointer to
408         execute_all_close_hooks.
409         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
410         (primary_ioctl): New function.
411         (ioctl): Don't call ioctlsocket here. Instead, call
412         execute_all_ioctl_hooks.
413         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
414         close method.
415         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
416         (fd_sockets_hook): Renamed from close_sockets_hook.
417         (gl_sockets_startup, gl_sockets_cleanup): Update.
418         * modules/fd-hook: Renamed from modules/close-hook. Update.
419         * modules/close (Depends-on): Add fd-hook, remove close-hook.
420         * modules/sockets (Depends-on): Likewise.
421         * modules/ioctl (Depends-on): Add fd-hook.
422         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
423         GNULIB_SOCKET.
424
425 2011-04-19  Bruno Haible  <bruno@clisp.org>
426
427         Move the support of O_NONBLOCK in open() to the 'open' module.
428         * modules/nonblocking (Depends-on): Remove 'open'.
429         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
430         gl_cv_have_open_O_NONBLOCK.
431         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
432         O_NONBLOCK support.
433         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
434
435 2011-04-17  Bruno Haible  <bruno@clisp.org>
436
437         pipe2: Simplify code.
438         * lib/pipe2.c (pipe2): Reduce code duplication.
439
440 2011-04-17  Bruno Haible  <bruno@clisp.org>
441
442         nonblocking: Add comment.
443         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
444
445 2011-04-17  Bruno Haible  <bruno@clisp.org>
446
447         nonblocking: Add tests for sockets.
448         * tests/test-nonblocking-socket.sh: New file.
449         * tests/test-nonblocking-socket-main.c: New file.
450         * tests/test-nonblocking-socket-child.c: New file.
451         * tests/test-nonblocking-socket.h: New file.
452         * tests/socket-server.h: New file.
453         * tests/socket-client.h: New file.
454         * modules/nonblocking-socket-tests: New file.
455         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
456
457 2011-04-17  Bruno Haible  <bruno@clisp.org>
458
459         nonblocking: Add tests for pipes.
460         * tests/test-nonblocking-pipe.sh: New file.
461         * tests/test-nonblocking-pipe-main.c: New file.
462         * tests/test-nonblocking-pipe-child.c: New file.
463         * tests/test-nonblocking-pipe.h: New file.
464         * tests/test-nonblocking-writer.h: New file.
465         * tests/test-nonblocking-reader.h: New file.
466         * tests/test-nonblocking-misc.h: New file.
467         * modules/nonblocking-pipe-tests: New file.
468         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
469
470 2011-04-16  Bruno Haible  <bruno@clisp.org>
471
472         gettext: Clarify the needed programmer actions.
473         * modules/gettext (Notice): New field.
474         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
475
476 2011-04-16  Bruno Haible  <bruno@clisp.org>
477
478         strchrnul: Tweak last commit.
479         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
480         bug.
481         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
482         as in _GL_FUNCDECL_SYS.
483         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
484         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
485
486 2011-04-15  Eric Blake  <eblake@redhat.com>
487
488         strchrnul: work around cygwin bug
489         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
490         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
492         * modules/string (Makefile.am): Substitute it.
493         * lib/string.in.h (strchrnul): Use it.
494
495 2011-04-15  Bruno Haible  <bruno@clisp.org>
496
497         Don't require lib/stdio-write.c when only module 'stdio' is used.
498         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
499         invocation.
500         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
501
502 2011-04-14  Bruno Haible  <bruno@clisp.org>
503
504         Support non-blocking pipe I/O in read() on native Windows.
505         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
506         (read): New declaration.
507         * lib/read.c: New file.
508         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
509         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
510         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
511         vscanf): New declarations.
512         * lib/stdio-read.c: New file.
513         * m4/read.m4: New file.
514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
515         REPLACE_READ.
516         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
517         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
518         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
519         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
520         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
521         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
522         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
523         * modules/read: New file.
524         * modules/nonblocking (Files): Add lib/stdio-read.c.
525         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
526         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
527         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
528         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
529         * modules/pread (Depends-on): Add read.
530         * modules/safe-read (Depends-on): Likewise.
531         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
532         gets, scanf, vfscanf, vscanf): Verify signatures.
533         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
534         problem with non-blocking pipes.
535         * doc/posix-functions/fgetc.texi: Likewise.
536         * doc/posix-functions/fgets.texi: Likewise.
537         * doc/posix-functions/fread.texi: Likewise.
538         * doc/posix-functions/fscanf.texi: Likewise.
539         * doc/posix-functions/getc.texi: Likewise.
540         * doc/posix-functions/getchar.texi: Likewise.
541         * doc/posix-functions/gets.texi: Likewise.
542         * doc/posix-functions/scanf.texi: Likewise.
543         * doc/posix-functions/vfscanf.texi: Likewise.
544         * doc/posix-functions/vscanf.texi: Likewise.
545
546 2011-04-14  Bruno Haible  <bruno@clisp.org>
547
548         Support non-blocking pipe I/O in write() on native Windows.
549         * lib/write.c (rpl_write): Split a write request that failed merely
550         because the byte count was larger than the pipe buffer's size.
551         * doc/posix-functions/write.texi: Mention the problem with large byte
552         counts.
553
554 2011-04-14  Bruno Haible  <bruno@clisp.org>
555
556         wchar: Ensure that wchar_t gets defined on uClibc.
557         * lib/wchar.in.h: On uClibc, include <stddef.h>.
558         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
559
560 2011-04-13  Bruno Haible  <bruno@clisp.org>
561
562         safe-write, full-read: Avoid unnecessary compilation units.
563         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
564         (Depends-on): Remove safe-read. Add ssize_t.
565         * modules/full-read (Files): Add lib/full-write.c.
566         (Depends-on): Add full-write.
567
568 2011-04-13  Bruno Haible  <bruno@clisp.org>
569
570         Support non-blocking pipe I/O and SIGPIPE in pwrite().
571         * modules/pwrite (Depends-on): Add 'write'.
572
573 2011-04-13  Bruno Haible  <bruno@clisp.org>
574
575         Support non-blocking pipe I/O in write() on native Windows.
576         * lib/unistd.in.h (write): Enable replacement also if
577         GNULIB_UNISTD_H_NONBLOCKING is 1.
578         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
579         (rpl_write): When failing to write on a non-blocking pipe, change
580         errno from ENOSPC to EAGAIN.
581         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
582         putchar, puts, vfprintf, vprintf): Enable replacement also if
583         GNULIB_STDIO_H_NONBLOCKING is 1.
584         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
585         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
586         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
587         CALL_WITH_SIGPIPE_EMULATION.
588         (CALL_WITH_SIGPIPE_EMULATION): Use them.
589         * m4/nonblocking.m4: New file.
590         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
591         for non-blocking I/O support.
592         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
593         GNULIB_UNISTD_H_NONBLOCKING.
594         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
595         required for non-blocking I/O support.
596         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
597         * modules/nonblocking (Files): Add m4/nonblocking.m4,
598         lib/stdio-write.c, m4/asm-underscore.m4.
599         (Depends-on): Add stdio, unistd.
600         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
601         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
602         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
603         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
604         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
605         problem with non-blocking pipes.
606         * doc/posix-functions/fputc.texi: Likewise.
607         * doc/posix-functions/fputs.texi: Likewise.
608         * doc/posix-functions/fwrite.texi: Likewise.
609         * doc/posix-functions/printf.texi: Likewise.
610         * doc/posix-functions/putc.texi: Likewise.
611         * doc/posix-functions/putchar.texi: Likewise.
612         * doc/posix-functions/puts.texi: Likewise.
613         * doc/posix-functions/vfprintf.texi: Likewise.
614         * doc/posix-functions/vprintf.texi: Likewise.
615         * doc/posix-functions/write.texi: Likewise.
616
617 2011-04-10  Jim Meyering  <meyering@redhat.com>
618
619         maint.mk: prohibit doubled words
620         Detect them also when they're separated by a newline.
621         There are 3 ways to customize it:
622           - disable the test on a per file basis, as usual with rules using
623             $(VC_LIST_EXCEPT)
624           - replace the default doubled-word-selecting regexp (affects all files)
625           - ignore a particular file-vs-doubled-word match
626         I nearly used that last one to ignore the "is is" match in
627         coreutils' NEWS file, since the text was "ls -is is ..."
628         To do that, I would have added this line to cfg.mk:
629           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
630         but it would have ignored any "is is" match in NEWS.
631         Low probability, but still...
632         Instead, I changed the text, slightly:
633           -  ls -is is now consistent with ls -lis in ignoring values returned
634           +  "ls -is" is now consistent with ls -lis in ignoring values returned
635         * top/maint.mk (prohibit_double_word_RE_): Provide default.
636         (prohibit_doubled_word_): Define.
637         (sc_prohibit_doubled_word): New rule.
638         (sc_prohibit_the_the): Remove.  Subsumed by the above.
639
640 2011-04-10  Jim Meyering  <meyering@redhat.com>
641
642         maint: fix doubled-word typo in comment
643         * m4/gethostname.m4: s/is is/it is/
644         * m4/getdomainname.m4: Likewise.
645
646 2011-04-10  Jim Meyering  <meyering@redhat.com>
647
648         maint: remove doubled word: s/it it/it/
649         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
650
651 2011-04-10  Jim Meyering  <meyering@redhat.com>
652
653         maint.mk: remove useless semicolon and backslash
654         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
655         semicolon and backslash.
656
657 2011-04-10  Bruno Haible  <bruno@clisp.org>
658
659         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
660         * modules/stdint-tests (Depends-on): Add wchar.
661
662 2011-04-10  Jim Meyering  <meyering@redhat.com>
663
664         maint: remove doubled words in comments, e.g., s/a a/a/
665         * lib/strptime.c (day_of_the_week): s/the the/the/
666         * tests/test-chown.h (test_chown): s/a a/a/
667
668         test-chown.h: correct a cast
669         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
670         when the destination is a stat.st_gid.
671
672 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
673
674         getaddrinfo: Fix test for sa_len member.
675         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
676         include <sys/types.h> before <sys/socket.h>.
677
678 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
679
680         maint: change "can not" to "cannot"
681         * doc/posix-functions/iconv.texi (iconv): This one crossed line
682         boundaries.
683
684 2011-04-09  Jim Meyering  <meyering@redhat.com>
685
686         maint: change "a a" to "a"
687         * tests/test-lchown.h (test_lchown): s/a a/a/
688
689         maint.mk: prohibit \<the the\>
690         * top/maint.mk (sc_prohibit_the_the): New rule.
691
692         maint: fix "the the" in comment
693         * lib/count-one-bits.h: s/the the/the/
694
695         maint: change "can not" to "cannot"
696         But do not change the occurrences in maintain.texi or in
697         build-aux/po/Makefile.in.in, which I presume comes from gettext.
698         * doc/gnulib-tool.texi: s/can not/cannot/
699         * doc/posix-functions/accept.texi (accept): Likewise.
700         * doc/posix-functions/socket.texi (socket): Likewise.
701         * lib/mbrtowc.c: Likewise.
702
703         maint.mk: prohibit use of "can not"
704         * top/maint.mk (sc_prohibit_can_not): New rule.
705         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
706
707 2011-04-09  Bruno Haible  <bruno@clisp.org>
708
709         careadlinkat: Guard against misuse of careadlinkatcwd.
710         * lib/careadlinkat.c: Include <stdlib.h>.
711         (careadlinkatcwd): Check that the fd argument is as expected.
712
713 2011-04-09  Bruno Haible  <bruno@clisp.org>
714
715         careadlinkat: Use common coding style.
716         * lib/careadlinkat.c: Move gnulib includes after system includes.
717
718 2011-04-09  Bruno Haible  <bruno@clisp.org>
719
720         careadlinkat: Clarify specification.
721         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
722         (careadlinkatcwd): Add comment.
723         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
724
725 2011-04-09  Bruno Haible  <bruno@clisp.org>
726
727         areadlinkat: Avoid link error on many platforms.
728         * modules/areadlinkat (Depends-on): Add areadlink.
729
730 2011-04-09  Bruno Haible  <bruno@clisp.org>
731
732         allocator, careadlinkat: Fix double-inclusion guard.
733         * lib/allocator.h: Fix double-inclusion guard.
734         * lib/careadlinkat.h: Likewise.
735
736 2011-04-09  Bruno Haible  <bruno@clisp.org>
737
738         relocatable-prog-wrapper: Update after module 'areadlink' changed.
739         * lib/relocwrapper.c: Update dependencies hierarchy.
740         * build-aux/install-reloc: Update list of files to be compiled.
741         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
742         lib/allocator.[hc].
743
744 2011-04-08  Eric Blake  <eblake@redhat.com>
745
746         strftime: silence gnulib-tool warning
747         * modules/strftime-tests (Depends-on): Drop automatic dependency.
748
749 2011-04-08  Bruno Haible  <bruno@clisp.org>
750
751         verify: Fix syntax error with GCC 4.6 in C++ mode.
752         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
753         (HAVE_STATIC_ASSERT): New macro.
754         (verify_true, verify): Use 'static_assert' if it is supported and
755         '_Static_assert' is not supported.
756
757 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
758
759         allocator: New module.
760         * modules/allocator, lib/allocator.c: New files.
761         * lib/allocator.h (stdlib_allocator): New decl.
762         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
763         Remove.  Do not include <stdlib.h>.
764         (careadlinkat): Use stdlib_allocator instead of rolling our own.
765         * modules/careadlinkat (Files): Remove lib/allocator.h.
766         (Depends-on): Add allocator.
767
768         stdlib: let modules use system malloc, realloc
769         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
770         if !_GL_USE_STDLIB_ALLOC.
771         (malloc, realloc): Limit this change to a smaller scope.
772
773         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
774         (malloc, realloc): Don't #undef; no longer needed.
775         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
776         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
777         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
778         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
779         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
780         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
781         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
782         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
783
784         careadlinkat: rename members to avoid problem
785         * lib/allocator.h (struct allocator): Rename members from
786         malloc/realloc to allocate/reallocate, to avoid problems if malloc
787         and realloc are #define'd.  Reported by Eric Blake in
788         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
789         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
790
791 2011-04-08  Eric Blake  <eblake@redhat.com>
792
793         nonblocking: reduce dependency
794         * tests/test-nonblocking.c: Only test sockets when in use.
795         * modules/nonblocking-tests (Depends-on): Drop socket.
796         (Makefile.am): Link even if sockets are not present.
797         * modules/pipe2-tests (Makefile.am): Likewise.
798         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
799
800         pipe2: fix O_NONBLOCK support on mingw
801         * modules/pipe2 (Depends-on): Add nonblocking.
802         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
803         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
804         * tests/test-nonblocking.c (main): Likewise.
805         * modules/pipe2-tests (Makefile.am): Avoid link failure.
806
807         fcntl-h: fix O_ACCMODE on cygwin
808         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
809         * lib/fcntl.in.h (O_ACCMODE): Fix it.
810
811         pipe-filter: drop O_NONBLOCK workarounds
812         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
813         * modules/pipe-filter-ii (Depends-on): Likewise.
814         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
815
816         nonblocking: provide O_NONBLOCK for mingw
817         * modules/nonblocking (Depends-on): Add open.
818         (configure.ac): Set new witness macro.
819         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
820         * modules/fcntl-h (Makefile.am): Substitute it.
821         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
822         nonblocking module is in use.
823         * lib/nonblocking.c: Adjust portability test.
824         * lib/open.c (open): Don't let native open see gnulib flag.
825         * tests/test-fcntl-h.c (main): Enhance test.
826         * tests/test-open.h (test_open): Likewise.
827         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
828
829         careadlinkat: fix compilation error on mingw
830         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
831         within struct allocator.
832
833 2011-04-06  Eric Blake  <eblake@redhat.com>
834
835         binary-io: relicense under LGPLv2+
836         * modules/binary-io (License): Relax to LGPLv2+.
837         Requested for libvirt, and required by pipe2.
838
839 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
840
841         verify: use _Static_assert if available
842         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
843         (verify_true, verify): Use it if available.  This generates better
844         diagnostics with GCC 4.6.0 and later.
845
846 2011-04-05  Bruno Haible  <bruno@clisp.org>
847
848         Remove leftover generated .h files after config.status changed.
849
850         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
851         GL_GENERATE_ALLOCA_H.
852         * modules/alloca-opt (Makefile.am): Remove alloca.h if
853         GL_GENERATE_ALLOCA_H evaluates to false.
854
855         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
856         GL_GENERATE_ARGZ_H.
857         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
858         evaluates to false.
859
860         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
861         GL_GENERATE_BYTESWAP_H.
862         * modules/byteswap (Makefile.am): Remove byteswap.h if
863         GL_GENERATE_BYTESWAP_H evaluates to false.
864
865         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
866         GL_GENERATE_ERRNO_H.
867         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
868         evaluates to false.
869
870         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
871         GL_GENERATE_FLOAT_H.
872         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
873         evaluates to false.
874
875         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
876         GL_GENERATE_FNMATCH_H.
877         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
878         GL_GENERATE_FNMATCH_H evaluates to false.
879
880         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
881         GL_GENERATE_GLOB_H.
882         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
883         evaluates to false.
884
885         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
886         automake conditional GL_GENERATE_ICONV_H.
887         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
888         evaluates to false.
889
890         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
891         GL_GENERATE_NETINET_IN_H.
892         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
893         GL_GENERATE_NETINET_IN_H evaluates to false.
894
895         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
896         conditional GL_GENERATE_PTHREAD_H.
897         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
898         * modules/pthread (Makefile.am): Remove pthread.h if
899         GL_GENERATE_PTHREAD_H evaluates to false.
900
901         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
902         GL_GENERATE_SCHED_H.
903         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
904         evaluates to false.
905
906         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
907         conditional GL_GENERATE_SELINUX_CONTEXT_H.
908         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
909         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
910
911         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
912         GL_GENERATE_STDARG_H.
913         * modules/stdarg (Makefile.am): Remove stdarg.h if
914         GL_GENERATE_STDARG_H evaluates to false.
915
916         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
917         GL_GENERATE_STDBOOL_H.
918         * modules/stdbool (Makefile.am): Remove stdbool.h if
919         GL_GENERATE_STDBOOL_H evaluates to false.
920
921         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
922         conditional GL_GENERATE_STDDEF_H.
923         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
924         * modules/stddef (Makefile.am): Remove stddef.h if
925         GL_GENERATE_STDDEF_H evaluates to false.
926
927         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
928         GL_GENERATE_STDINT_H.
929         * modules/stdint (Makefile.am): Remove stdint.h if
930         GL_GENERATE_STDINT_H evaluates to false.
931
932         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
933         GL_GENERATE_SYSEXITS_H.
934         * modules/sysexits (Makefile.am): Remove sysexits.h if
935         GL_GENERATE_SYSEXITS_H evaluates to false.
936
937         Reported by Karl Berry and Ralf Wildenhues.
938
939 2011-04-05  Bruno Haible  <bruno@clisp.org>
940
941         Ensure to rebuild generated .h files when config.status has changed.
942         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
943         config.status.
944         * modules/ctype (Makefile.am): Likewise.
945         * modules/dirent (Makefile.am): Likewise.
946         * modules/errno (Makefile.am): Likewise.
947         * modules/fcntl-h (Makefile.am): Likewise.
948         * modules/float (Makefile.am): Likewise.
949         * modules/getopt-posix (Makefile.am): Likewise.
950         * modules/glob (Makefile.am): Likewise.
951         * modules/iconv-h (Makefile.am): Likewise.
952         * modules/inttypes (Makefile.am): Likewise.
953         * modules/langinfo (Makefile.am): Likewise.
954         * modules/locale (Makefile.am): Likewise.
955         * modules/math (Makefile.am): Likewise.
956         * modules/netdb (Makefile.am): Likewise.
957         * modules/netinet_in (Makefile.am): Likewise.
958         * modules/poll-h (Makefile.am): Likewise.
959         * modules/pthread (Makefile.am): Likewise.
960         * modules/pty (Makefile.am): Likewise.
961         * modules/sched (Makefile.am): Likewise.
962         * modules/search (Makefile.am): Likewise.
963         * modules/selinux-h (Makefile.am): Likewise.
964         * modules/signal (Makefile.am): Likewise.
965         * modules/spawn (Makefile.am): Likewise.
966         * modules/stdarg (Makefile.am): Likewise.
967         * modules/stdbool (Makefile.am): Likewise.
968         * modules/stddef (Makefile.am): Likewise.
969         * modules/stdint (Makefile.am): Likewise.
970         * modules/stdio (Makefile.am): Likewise.
971         * modules/stdlib (Makefile.am): Likewise.
972         * modules/string (Makefile.am): Likewise.
973         * modules/strings (Makefile.am): Likewise.
974         * modules/sys_file (Makefile.am): Likewise.
975         * modules/sys_ioctl (Makefile.am): Likewise.
976         * modules/sys_select (Makefile.am): Likewise.
977         * modules/sys_socket (Makefile.am): Likewise.
978         * modules/sys_stat (Makefile.am): Likewise.
979         * modules/sys_time (Makefile.am): Likewise.
980         * modules/sys_times (Makefile.am): Likewise.
981         * modules/sys_utsname (Makefile.am): Likewise.
982         * modules/sys_wait (Makefile.am): Likewise.
983         * modules/sysexits (Makefile.am): Likewise.
984         * modules/termios (Makefile.am): Likewise.
985         * modules/time (Makefile.am): Likewise.
986         * modules/unistd (Makefile.am): Likewise.
987         * modules/wchar (Makefile.am): Likewise.
988         * modules/wctype-h (Makefile.am): Likewise.
989         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
990
991 2011-04-05  Bruno Haible  <bruno@clisp.org>
992
993         pipe2: Relicense under LGPLv2+.
994         * modules/pipe2 (License): Change to LGPLv2+.
995         Requested by Eric Blake, for libvirt.
996
997 2011-04-05  Bruce Korb  <bkorb@gnu.org>
998
999         bootstrap: compute gnulib_extra_files after updating build_aux
1000         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
1001         change build_aux or also supply gnulib_extra_files.  Handle correctly.
1002
1003 2011-04-05  Eric Blake  <eblake@redhat.com>
1004
1005         bootstrap: preserve git whitelist item sorting
1006         * build-aux/bootstrap (sort_patterns): New function.
1007         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
1008
1009 2011-04-05  Simon Josefsson  <simon@josefsson.org>
1010
1011         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
1012         sc_space_tab check.
1013
1014 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1015
1016         areadlink, areadlinkat: rewrite in terms of careadlinkat
1017         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
1018         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
1019         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
1020         (malloc, realloc): Remove #undefs.
1021         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
1022         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
1023         readlink, ssize_t, stdint, unistd.
1024         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
1025         areadlink, stdint.
1026
1027         careadlinkat: new module
1028         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
1029         * modules/careadlinkat: New files, written by me with
1030         a review and feedback from Ben Pfaff in
1031         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
1032
1033 2011-04-01  Bruno Haible  <bruno@clisp.org>
1034
1035         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
1036         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
1037         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
1038         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
1039         Reported by Bruce Korb <bruce.korb@gmail.com>.
1040
1041 2011-04-01  Bruno Haible  <bruno@clisp.org>
1042
1043         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
1044         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
1045         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
1046         * modules/wcpcpy (Depends-on): Add extensions.
1047         * modules/wcpncpy (Depends-on): Likewise.
1048         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
1049         systems.
1050         * doc/posix-functions/wcpncpy.texi: Likewise.
1051         * doc/posix-functions/wcwidth.texi: Likewise.
1052
1053 2011-03-31  Eric Blake  <eblake@redhat.com>
1054
1055         nonblocking: fix mingw test failures
1056         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
1057         non-blocking flag on regular file.
1058         (get_nonblocking_flag): Set errno on invalid fd.
1059         * tests/test-nonblocking.c (main): Avoid test failure on
1060         directories if fchdir is not active.
1061         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
1062
1063 2011-03-31  Bruno Haible  <bruno@clisp.org>
1064
1065         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
1066         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
1067         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
1068         Reported by Simon Josefsson <simon@josefsson.org>.
1069
1070 2011-03-31  Bruno Haible  <bruno@clisp.org>
1071         and Eric Blake  <eblake@redhat.com>
1072
1073         nonblocking: new module
1074         * modules/nonblocking: New module.
1075         * modules/nonblocking-tests: Likewise.
1076         * lib/nonblocking.h: New file.
1077         * lib/nonblocking.c: Likewise.
1078         * tests/test-nonblocking.c: New test.
1079         * lib/ioctl.c (ioctl) [mingw]: Update comment.
1080
1081 2011-03-30  Bruno Haible  <bruno@clisp.org>
1082
1083         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
1084         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
1085         instead of 'printf' format for GCC >= 4.4.
1086         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
1087         (fprintf, printf, vfprintf, vprintf): Declare with
1088         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
1089         the system's vfprintf() function.
1090         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
1091
1092 2011-03-30  Eric Blake  <eblake@redhat.com>
1093
1094         passfd: fix scoping bug
1095         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
1096         before sendmsg/recvmsg.
1097
1098         passfd: standardize coding conventions
1099         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
1100         can be learned at compile time.
1101         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
1102         ifdefs.
1103         (sendfd, recvfd): Follow gnulib code conventions.
1104
1105         passfd: fix incorrect sendmsg arguments
1106         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
1107         incorrect msg_controllen value.
1108         * modules/passfd-tests (Depends-on): Check for alarm.
1109         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
1110         Reported by Bastien ROUCARIES.
1111
1112 2011-03-30  Bruno Haible  <bruno@clisp.org>
1113
1114         c-strcasestr: Relicense under LGPLv2+.
1115         * modules/c-strcasestr (License): Change to LGPLv2+.
1116         Requested by Eric Blake, for libvirt.
1117
1118 2011-03-30  Simon Josefsson  <simon@josefsson.org>
1119
1120         * users.txt: Add libidn2.  Fix libtasn1 link.
1121
1122 2011-03-30  Jim Meyering  <meyering@redhat.com>
1123
1124         tests: readlink* ("",... fails with EINVAL on newer kernels
1125         readlink and readlinkat have typically failed with ENOENT for
1126         the invalid, empty file name,  "".  However, with the advent
1127         of linux-2.6.39, they fail with EINVAL.
1128         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
1129         when operating on the empty file name.
1130         * tests/test-readlink.h (test_readlink): Likewise.
1131
1132 2011-03-29  Bruno Haible  <bruno@clisp.org>
1133
1134         Relicense some modules under LGPLv2+, for libidn2.
1135         * modules/array-mergesort (License): Change to LGPLv2+.
1136         * modules/c-strcaseeq (License): Likewise.
1137         * modules/striconveh (License): Likewise.
1138         * modules/striconveha (License): Likewise.
1139         * modules/uniconv/base (License): Likewise.
1140         * modules/uniconv/u8-conv-from-enc (License): Likewise.
1141         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
1142         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
1143         * modules/unictype/base (License): Likewise.
1144         * modules/unictype/bidiclass-of (License): Likewise.
1145         * modules/unictype/category-M (License): Likewise.
1146         * modules/unictype/category-none (License): Likewise.
1147         * modules/unictype/category-of (License): Likewise.
1148         * modules/unictype/category-test (License): Likewise.
1149         * modules/unictype/category-test-withtable (License): Likewise.
1150         * modules/unictype/combining-class (License): Likewise.
1151         * modules/unictype/joiningtype-of (License): Likewise.
1152         * modules/unictype/scripts (License): Likewise.
1153         * modules/uninorm/base (License): Likewise.
1154         * modules/uninorm/canonical-decomposition (License): Likewise.
1155         * modules/uninorm/composition (License): Likewise.
1156         * modules/uninorm/decompose-internal (License): Likewise.
1157         * modules/uninorm/decomposition-table (License): Likewise.
1158         * modules/uninorm/nfc (License): Likewise.
1159         * modules/uninorm/nfd (License): Likewise.
1160         * modules/uninorm/u32-normalize (License): Likewise.
1161         * modules/unistr/base (License): Likewise.
1162         * modules/unistr/u32-cpy (License): Likewise.
1163         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
1164         * modules/unistr/u32-to-u8 (License): Likewise.
1165         * modules/unistr/u32-uctomb (License): Likewise.
1166         * modules/unistr/u8-check (License): Likewise.
1167         * modules/unistr/u8-mblen (License): Likewise.
1168         * modules/unistr/u8-mbtouc (License): Likewise.
1169         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
1170         * modules/unistr/u8-mbtoucr (License): Likewise.
1171         * modules/unistr/u8-prev (License): Likewise.
1172         * modules/unistr/u8-strlen (License): Likewise.
1173         * modules/unistr/u8-to-u32 (License): Likewise.
1174         * modules/unistr/u8-uctomb (License): Likewise.
1175         * modules/unitypes (License): Likewise.
1176         Requested by Simon Josefsson.
1177
1178 2011-03-29  Simon Josefsson  <simon@josefsson.org>
1179
1180         lib-symbol-visibility: Add a notice.
1181         * modules/lib-symbol-visibility (Notice): New field.
1182
1183 2011-03-29  Bruno Haible  <bruno@clisp.org>
1184
1185         getaddrinfo: Doc fix.
1186         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
1187         section "fixed in Gnulib".
1188
1189 2011-03-28  Simon Josefsson  <simon@josefsson.org>
1190
1191         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
1192         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
1193
1194 2011-03-26  Bruno Haible  <bruno@clisp.org>
1195
1196         unictype/property-byname: Reduce the number of load-time relocations.
1197         * lib/unictype/pr_byname.c: Include <stdlib.h>.
1198         (UC_PROPERTY_INDEX_*): New enumeration values.
1199         (uc_property_byname): Convert an index from the lookup table to an
1200         uc_property_t.
1201         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
1202         values.
1203
1204 2011-03-26  Bruno Haible  <bruno@clisp.org>
1205
1206         unictype/property-byname: Allow omitted word separators and aliases.
1207         * lib/unictype/pr_byname.gperf: Add property names without word
1208         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
1209         for 'space'.
1210
1211 2011-03-26  Bruno Haible  <bruno@clisp.org>
1212
1213         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
1214         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
1215         also hyphens to space.
1216         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
1217         without spaces.
1218         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
1219
1220 2011-03-26  Bruno Haible  <bruno@clisp.org>
1221
1222         unictype/joiningtype-byname: Recognize long names as well.
1223         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
1224         a long name.
1225         * lib/unictype/joiningtype_byname.c: Include <string.h>,
1226         unictype/joiningtype_byname.h.
1227         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
1228         * lib/unictype/joiningtype_byname.gperf: New file.
1229         * modules/unictype/joiningtype-byname (Files): Add
1230         lib/unictype/joiningtype_byname.gperf.
1231         (Depends-on): Add gperf.
1232         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
1233         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
1234         long names.
1235
1236         Tests for module 'unictype/joiningtype-longname'.
1237         * modules/unictype/joiningtype-longname-tests: New file.
1238         * tests/unictype/test-joiningtype_longname.c: New file.
1239
1240         New module 'unictype/joiningtype-longname'.
1241         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
1242         * lib/unictype/joiningtype_longname.c: New file.
1243         * modules/unictype/joiningtype-longname: New file.
1244         * modules/unictype/joiningtype-all (Depends-on): Add
1245         unictype/joiningtype-longname.
1246
1247 2011-03-26  Bruno Haible  <bruno@clisp.org>
1248
1249         unictype/bidiclass-byname: Recognize long names as well.
1250         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
1251         name.
1252         * lib/unictype/bidi_byname.c: Include <string.h>,
1253         unictype/bidi_byname.h.
1254         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
1255         * lib/unictype/bidi_byname.gperf: New file.
1256         * modules/unictype/bidiclass-byname (Files): Add
1257         lib/unictype/bidi_byname.gperf.
1258         (Depends-on): Add gperf.
1259         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
1260         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
1261         long names.
1262
1263         Tests for module 'unictype/bidiclass-longname'.
1264         * modules/unictype/bidiclass-longname-tests: New file.
1265         * tests/unictype/test-bidi_longname.c: New file.
1266
1267         New module 'unictype/bidiclass-longname'.
1268         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
1269         * lib/unictype/bidi_longname.c: New file.
1270         * modules/unictype/bidiclass-longname: New file.
1271         * modules/unictype/bidiclass-all (Depends-on): Add
1272         unictype/bidiclass-longname.
1273
1274 2011-03-26  Bruno Haible  <bruno@clisp.org>
1275
1276         unictype/bidi*: Rename modules.
1277         * modules/unictype/bidiclass-all: Renamed from
1278         modules/unictype/bidicategory-all.
1279         * modules/unictype/bidiclass-name: Renamed from
1280         modules/unictype/bidiclass-name.
1281         (Description): Update.
1282         * modules/unictype/bidiclass-name-tests: Renamed from
1283         modules/unictype/bidicategory-name-tests.
1284         * modules/unictype/bidiclass-byname: Renamed from
1285         modules/unictype/bidicategory-byname.
1286         (Description): Update.
1287         * modules/unictype/bidiclass-byname-tests: Renamed from
1288         modules/unictype/bidicategory-byname-tests.
1289         * modules/unictype/bidiclass-of: Renamed from
1290         modules/unictype/bidicategory-of.
1291         (Description): Update.
1292         * modules/unictype/bidiclass-of-tests: Renamed from
1293         modules/unictype/bidicategory-of-tests.
1294         * modules/unictype/bidiclass-test: Renamed from
1295         modules/unictype/bidicategory-test.
1296         (Description): Update.
1297         * modules/unictype/bidiclass-test-tests: Renamed from
1298         modules/unictype/bidicategory-test-tests.
1299         * modules/unictype/bidicategory-all: New file, a simple redirection.
1300         * modules/unictype/bidicategory-name: Likewise.
1301         * modules/unictype/bidicategory-byname: Likewise.
1302         * modules/unictype/bidicategory-of: Likewise.
1303         * modules/unictype/bidicategory-test: Likewise.
1304         * modules/unictype/property-bidi-* (Dependencies): Update.
1305         * lib/unictype/bidi_*.c: Update comment.
1306
1307 2011-03-26  Bruno Haible  <bruno@clisp.org>
1308
1309         unictype/bidi*: Rename functions, part 2.
1310         * modules/unictype/bidicategory-name (configure.ac): Update required
1311         libunistring version.
1312         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
1313
1314 2011-03-25  Bruno Haible  <bruno@clisp.org>
1315
1316         New module 'unictype/combining-class-all'.
1317         * modules/unictype/combining-class-all: New file.
1318
1319         Tests for module 'unictype/combining-class-byname'.
1320         * modules/unictype/combining-class-byname-tests: New file.
1321         * tests/unictype/test-combiningclass_byname.c: New file.
1322
1323         New module 'unictype/combining-class-byname'.
1324         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
1325         * lib/unictype/combiningclass_byname.c: New file.
1326         * lib/unictype/combiningclass_byname.gperf: New file.
1327         * modules/unictype/combining-class-byname: New file.
1328
1329         Tests for module 'unictype/combining-class-longname'.
1330         * modules/unictype/combining-class-longname-tests: New file.
1331         * tests/unictype/test-combiningclass_longname.c: New file.
1332
1333         New module 'unictype/combining-class-longname'.
1334         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
1335         * lib/unictype/combiningclass_longname.c: New file.
1336         * modules/unictype/combining-class-longname: New file.
1337
1338         Tests for module 'unictype/combining-class-name'.
1339         * modules/unictype/combining-class-name-tests: New file.
1340         * tests/unictype/test-combiningclass_name.c: New file.
1341
1342         New module 'unictype/combining-class-name'.
1343         * lib/unictype.in.h (uc_combining_class_name): New declaration.
1344         * lib/unictype/combiningclass_name.c: New file.
1345         * modules/unictype/combining-class-name: New file.
1346
1347 2011-03-25  Bruno Haible  <bruno@clisp.org>
1348
1349         unictype/combining-class: Rename source files.
1350         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
1351         of unictype/combining.h.
1352         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
1353         Update.
1354         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
1355         * modules/unictype/combining-class (Description): Fix.
1356         (Files, Makefile.am): Update.
1357         * tests/unictype/test-combiningclass.c: Renamed from
1358         tests/unictype/test-combining.c.
1359         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
1360
1361 2011-03-25  Bruno Haible  <bruno@clisp.org>
1362
1363         unictype: Update list of canonical combining classes.
1364         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
1365
1366 2011-03-25  Bruno Haible  <bruno@clisp.org>
1367
1368         unictype/category-byname: Recognize long names as well.
1369         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
1370         a long name.
1371         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
1372         unictype/categ_byname.h.
1373         (UC_CATEGORY_INDEX_*): New enumeration values.
1374         (uc_general_category_byname): Use uc_general_category_lookup and
1375         convert from index to value.
1376         * lib/unictype/categ_byname.gperf: New file.
1377         * modules/unictype/category-byname (Files): Add
1378         lib/unictype/categ_byname.gperf.
1379         (Depends-on): Add gperf.
1380         (Makefile.am): Add rule for generating unictype/categ_byname.h.
1381         * tests/unictype/test-categ_byname.c (main): Test the recognition of
1382         long names.
1383
1384         Tests for module 'unictype/category-longname'.
1385         * modules/unictype/category-longname-tests: New file.
1386         * tests/unictype/test-categ_longname.c: New file.
1387
1388         New module 'unictype/category-longname'.
1389         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
1390         * lib/unictype/categ_longname.c: New file.
1391         * modules/unictype/category-longname: New file.
1392         * modules/unictype/category-all (Depends-on): Add it.
1393
1394 2011-03-25  Bruno Haible  <bruno@clisp.org>
1395
1396         Tests for module 'unictype/category-LC'.
1397         * modules/unictype/category-LC-tests: New file.
1398         * tests/unictype/test-categ_LC.c: New file, automatically generated.
1399
1400         New module 'unictype/category-LC'.
1401         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
1402         (UC_CATEGORY_LC): New declaration.
1403         (UC_CASED_LETTER): New macro.
1404         * lib/gen-uni-tables.c (is_category_LC): New function.
1405         (output_categories): Also handle category LC.
1406         (UC_CATEGORY_MASK_LC): New enumeration value.
1407         (general_category_byname): Also handle category LC.
1408         * lib/unictype/categ_LC.c: New file.
1409         * lib/unictype/categ_LC.h: New file, automatically generated.
1410         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
1411         category LC.
1412         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
1413         * modules/unictype/category-LC: New file.
1414         * modules/unictype/category-byname (Depends-on): Add
1415         unictype/category-LC.
1416         * modules/unictype/category-all (Depends-on): Likewise.
1417
1418 2011-03-25  Eric Blake  <eblake@redhat.com>
1419
1420         xmalloc: revert yesterday's regression
1421         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
1422         realloc's underlying behavior (allowing allocation of zero-size
1423         objects, especially if malloc-gnu is also in use).
1424
1425 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
1426
1427         maint.mk: add missing version to VC-tag
1428         * top/maint.mk: git tag was missing actual tag name; add it.
1429
1430         valgrind: do leak checking, and exit with code 1 on error (not 0)
1431         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
1432         to VALGRIND.
1433
1434 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
1435
1436         posix-modules: say what it does.
1437         * posix-modules: Add a line to the --help output saying what it does.
1438
1439 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
1440
1441         xmalloc: Do not leak if underlying realloc is C99 compatible.
1442         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
1443         This avoids a leak on C99-based systems.  See
1444         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
1445
1446 2011-03-24  Eric Blake  <eblake@redhat.com>
1447
1448         realloc: document portability problem
1449         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
1450         passing 0 size to realloc.
1451
1452 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
1453
1454         doc: update users.txt
1455         * users.txt: Add cvsps, tmpwatch
1456
1457 2011-03-23  Matt Rice  <ratmice@gmail.com>
1458
1459         doc: update users.txt
1460         * users.txt: Add gdb.
1461
1462 2011-03-23  Jim Meyering  <meyering@redhat.com>
1463
1464         doc: update users.txt
1465         Looking through matches up to the following URL (there are still
1466         several more pages), I found several projects that use gnulib:
1467         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
1468         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
1469         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
1470
1471 2011-03-22  Bruno Haible  <bruno@clisp.org>
1472
1473         unictype/bidi*: Rename functions.
1474         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
1475         uc_bidi_class, uc_is_bidi_class): New declarations.
1476         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
1477         uc_bidi_category_byname.
1478         (uc_bidi_category_byname): New function.
1479         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
1480         u_bidi_category_name.
1481         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
1482         (uc_bidi_category_name): New function.
1483         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
1484         uc_bidi_category.
1485         (uc_bidi_category): New function.
1486         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
1487         uc_is_bidi_category. Invoke uc_bidi_class.
1488         (uc_is_bidi_category): New function.
1489         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
1490         instead of uc_bidi_category_byname.
1491         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
1492         instead of uc_bidi_category_name.
1493         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
1494         uc_bidi_category.
1495         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
1496         instead of uc_is_bidi_category.
1497
1498 2011-03-21  Bruno Haible  <bruno@clisp.org>
1499
1500         New module 'unictype/joininggroup-all'.
1501         * modules/unictype/joininggroup-all: New file.
1502
1503         Tests for module 'unictype/joininggroup-of'.
1504         * modules/unictype/joininggroup-of-tests: New file.
1505         * tests/unictype/test-joininggroup_of.c: New file.
1506         * tests/unictype/test-joininggroup_of.h: New file, automatically
1507         generated by gen-uni-tables.
1508
1509         New module 'unictype/joininggroup-of'.
1510         * modules/unictype/joininggroup-of: New file.
1511         * lib/unictype/joininggroup_of.c: New file.
1512         * lib/unictype/joininggroup_of.h: New file, automatically generated by
1513         gen-uni-tables.
1514
1515         Tests for module 'unictype/joininggroup-byname'.
1516         * modules/unictype/joininggroup-byname-tests: New file.
1517         * tests/unictype/test-joininggroup_byname.c: New file.
1518
1519         New module 'unictype/joininggroup-byname'.
1520         * modules/unictype/joininggroup-byname: New file.
1521         * lib/unictype/joininggroup_byname.c: New file.
1522         * lib/unictype/joininggroup_byname.gperf: New file.
1523
1524         Tests for module 'unictype/joininggroup-name'.
1525         * modules/unictype/joininggroup-name-tests: New file.
1526         * tests/unictype/test-joininggroup_name.c: New file.
1527
1528         New module 'unictype/joininggroup-name'.
1529         * modules/unictype/joininggroup-name: New file.
1530         * lib/unictype/joininggroup_name.c: New file.
1531         * lib/unictype/joininggroup_name.h: New file.
1532
1533         New module 'unictype/joiningtype-all'.
1534         * modules/unictype/joiningtype-all: New file.
1535
1536         Tests for module 'unictype/joiningtype-of'.
1537         * modules/unictype/joiningtype-of-tests: New file.
1538         * tests/unictype/test-joiningtype_of.c: New file.
1539         * tests/unictype/test-joiningtype_of.h: New file, automatically
1540         generated by gen-uni-tables.
1541
1542         New module 'unictype/joiningtype-of'.
1543         * modules/unictype/joiningtype-of: New file.
1544         * lib/unictype/joiningtype_of.c: New file.
1545         * lib/unictype/joiningtype_of.h: New file, automatically generated by
1546         gen-uni-tables.
1547
1548         Tests for module 'unictype/joiningtype-byname'.
1549         * modules/unictype/joiningtype-byname-tests: New file.
1550         * tests/unictype/test-joiningtype_byname.c: New file.
1551
1552         New module 'unictype/joiningtype-byname'.
1553         * modules/unictype/joiningtype-byname: New file.
1554         * lib/unictype/joiningtype_byname.c: New file.
1555
1556         Tests for module 'unictype/joiningtype-name'.
1557         * modules/unictype/joiningtype-name-tests: New file.
1558         * tests/unictype/test-joiningtype_name.c: New file.
1559
1560         New module 'unictype/joiningtype-name'.
1561         * modules/unictype/joiningtype-name: New file.
1562         * lib/unictype/joiningtype_name.c: New file.
1563
1564         unictype: Add support for Arabic shaping properties.
1565         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
1566         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
1567         declarations.
1568         (UC_JOINING_GROUP_*): New enumeration values.
1569         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
1570         declarations.
1571         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
1572         (unicode_joining_type): New variable.
1573         (UC_JOINING_GROUP_*): New enumeration values.
1574         (unicode_joining_group): New variable.
1575         (fill_arabicshaping, joining_type_as_c_identifier,
1576         output_joining_type_test, output_joining_type,
1577         joining_group_as_c_identifier, output_joining_group_test,
1578         output_joining_group): New functions.
1579         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
1580         fill_arabicshaping and output_joining_type_test, output_joining_type,
1581         output_joining_group_test, output_joining_group.
1582         Reported by Simon Josefsson.
1583
1584 2011-03-21  Jim Meyering  <meyering@redhat.com>
1585
1586         strftime: fix a bug in yesterday's change
1587         * lib/strftime.c (add): Accommodate width's initial value of -1.
1588         Otherwise, nstrftime would copy uninitialized data into
1589         the result buffer.
1590
1591 2011-03-21  Jim Meyering  <meyering@redhat.com>
1592
1593         tests: add strftime-tests module
1594         * tests/test-strftime.c: New file.
1595         * modules/strftime-tests: New module.
1596
1597 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1598
1599         strftime: don't assume a byte count fits in 'int'
1600         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
1601         found this problem by static analysis, using gcc -Wstrict-overflow
1602         (GCC 4.5.2, x86-64).  This reported an optimization that depended
1603         on an integer overflow having undefined behavior, but it turns out
1604         that the argument is a size, which might not fit in 'int' anyway,
1605
1606 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1607
1608         stdio: don't require ignore_value around fwrite
1609
1610         This patch works around libc bug 11959
1611         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
1612         Without this patch, applications must often write
1613         ignore_value (fwrite (...)) even though the ignore_value is
1614         not helpful here.  It's common to write many objects, using
1615         fwrite/printf/etc., and then use ferror to detect output error.
1616
1617         I considered making this patch optional, but decided against it,
1618         because libc is obviously being inconsistent here: there is no
1619         reason libc should insist that user code must inspect fwrite
1620         return's value without also insisting that it inspect printf's,
1621         putchar's, etc.  If user code wants to have a strict style where
1622         all these functions' values are checked (so that ferror need not
1623         be checked), we could add support for that style in a new gnulib
1624         module, but in the meantime it's better to be consistent and to
1625         support common usage.
1626
1627         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
1628         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
1629         that we are compiling in checking mode, and if not C++, and
1630         if not already wrapping fwrite for some other reason.
1631         (fwrite): #define to rpl_fwrite if the latter is defined.
1632
1633 2011-03-20  Bruno Haible  <bruno@clisp.org>
1634
1635         verror: Fix compilation error introduced on 2011-02-13.
1636         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
1637         instead of __attribute__.
1638         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1639
1640 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1641             Bruno Haible  <bruno@clisp.org>
1642
1643         socklen: do not depend on sys_socket
1644         While trying to modify Emacs to use gnulib's socklen module,
1645         I discovered a circular dependency: socklen depends on sys_socket
1646         and vice versa.  Emacs can use socklen, but it does not need
1647         sys_socket because it has its own substitute for sys/socket.h.
1648         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
1649         gl_TYPE_SOCKLEN_T.
1650         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
1651         gl_PREREQ_SYS_H_SOCKET.
1652         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
1653         gl_PREREQ_SYS_H_SOCKET.
1654         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
1655         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
1656         * modules/socklen (Depends-on): Do not depend on sys_socket.
1657         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
1658
1659 2011-03-20  Jim Meyering  <meyering@redhat.com>
1660
1661         maint.mk: sort file names *after* new transformation
1662         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
1663         prefix would have led to an unwarranted failure in GNU parted.
1664         Sort after that transformation.
1665
1666 2011-03-19  Jim Meyering  <meyering@redhat.com>
1667
1668         maint.mk: fix po-file syntax-check rule
1669         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
1670         Patch by Bruno Haible.
1671
1672 2011-03-19  Bruno Haible  <bruno@clisp.org>
1673
1674         socklen: Update comment.
1675         * m4/socklen.m4: Update comment about platforms.
1676
1677 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1678             Bruno Haible  <bruno@clisp.org>
1679
1680         inet_ntop, inet_pton: Simplify.
1681         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
1682         documented to provide socklen_t and we already depend on sys_socket.
1683         * modules/inet_pton (Depends-on): Likewise.
1684         * lib/arpa_inet.in.h: Adjust comment.
1685
1686 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1687             Bruno Haible  <bruno@clisp.org>
1688
1689         netdb: Simplify.
1690         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1691         documented to provide socklen_t and we already depend on sys_socket.
1692         * lib/netdb.in.h: Adjust comment.
1693
1694 2011-03-19  Bruno Haible  <bruno@clisp.org>
1695
1696         sys_socket, netdb: Document problem with socklen_t.
1697         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1698         platforms.
1699         * doc/posix-headers/netdb.texi: Likewise.
1700
1701 2011-03-18  Eric Blake  <eblake@redhat.com>
1702
1703         maint.mk: let po check work in VPATH build
1704         * top/maint.mk (po_file): Allow cfg.mk override.
1705         (sc_po_check): Allow VPATH use.
1706         Reported by Jiri Denemark.
1707
1708 2011-03-16  Jim Meyering  <meyering@redhat.com>
1709
1710         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1711         Before, you would have had to create one .x-sc_ file per rule in order
1712         to exempt offending files.  Now, you may instead use a Make variable --
1713         usually defined in cfg.mk -- whose name identifies the affected rule.
1714         * top/maint.mk (_sc_excl): Define.
1715         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1716         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1717
1718 2011-03-13  Bruno Haible  <bruno@clisp.org>
1719
1720         ignore-value tests: Avoid warnings.
1721         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1722         empty for gcc < 3.4.
1723
1724 2011-03-13  Bruno Haible  <bruno@clisp.org>
1725
1726         passfd: Fix link error on Solaris.
1727         * modules/passfd (Description): Correct.
1728         (Depends-on): Add socketlib.
1729         (Link): New section.
1730         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1731
1732 2011-03-13  Bruno Haible  <bruno@clisp.org>
1733
1734         passfd: Fix link error on AIX 5.2.
1735         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1736
1737 2011-03-13  Bruno Haible  <bruno@clisp.org>
1738
1739         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1740         * lib/sys_socket.in.h: Include <stddef.h>.
1741         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1742         CMSG_FIRSTHDR. Remove unused variable.
1743
1744 2011-03-13  Bruno Haible  <bruno@clisp.org>
1745
1746         passfd: Fix compilation error on OpenBSD.
1747         * lib/passfd.c: Include <sys/uio.h>.
1748
1749 2011-03-13  Bruno Haible  <bruno@clisp.org>
1750
1751         passfd test: Fix warnings.
1752         * tests/test-passfd.c: Include <sys/wait.h>.
1753         (main): Fix typo.
1754
1755 2011-03-13  Bruno Haible  <bruno@clisp.org>
1756
1757         passfd module, part 4, tweaks.
1758         * tests/test-passfd.c: Reorder includes.
1759         (main): Fix perror and printf calls.
1760
1761 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1762
1763         passfd module, part 4.
1764         * modules/passfd-tests: New file.
1765         * tests/test-passfd.c: New file.
1766
1767 2011-03-13  Jim Meyering  <meyering@redhat.com>
1768
1769         Makefile: rely on GNU make; derive syntax-check rule names
1770         Rather than requiring that each sc_ rule be listed as a dependent
1771         of "check", use features of GNU make to derive the list.
1772         * Makefile (syntax-check-rules): Define.
1773         (check): Depend on the new variable, not the hard-coded list.
1774
1775 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1776             Bruno Haible  <bruno@clisp.org>
1777
1778         passfd module, part 3.
1779         * lib/passfd.h (recvfd): Add a flags argument.
1780         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1781         (recvfd): Add a flags argument.
1782         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1783         exists.
1784         * modules/passfd (Depends-on): Add cloexec.
1785         Suggested by Eric Blake.
1786
1787 2011-03-13  Bruno Haible  <bruno@clisp.org>
1788
1789         passfd module, part 2, tweaks.
1790         * modules/passfd (Files): Reorder.
1791         (Depends-on): Remove errno.
1792         (Include): Remove <sys/socket.h>, <sys/un.h>.
1793         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1794         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1795         specification header. Include <sys/socket.h> always. Don't include
1796         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1797         (sendfd): Clarify that it sets errno when it fails.
1798         (recvfd): Fix specification.
1799
1800 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1801
1802         passfd module, part 2.
1803         * modules/passfd: New file.
1804         * lib/passfd.h: New file.
1805         * lib/passfd.c: New file.
1806
1807 2011-03-12  Bruno Haible  <bruno@clisp.org>
1808
1809         wcswidth, mbswidth: Avoid integer overflow.
1810         * lib/wcswidth.c: Include <limits.h>.
1811         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1812         * lib/mbswidth.c: Include <limits.h>.
1813         (mbsnwidth): Avoid 'int' overflow.
1814         Reported by Jim Meyering.
1815
1816 2011-03-12  Bruno Haible  <bruno@clisp.org>
1817
1818         futimens, utimensat: Avoid endless recursion on Solaris 10.
1819         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1820         Solaris.
1821         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1822         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1823
1824 2011-03-11  Jim Meyering  <meyering@redhat.com>
1825
1826         maint.mk: relax a regexp to accommodate other formatting styles
1827         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1828         between "ngettext" and the following "(".
1829
1830 2011-03-11  Pádraig Brady <P@draigBrady.com>
1831
1832         maint.mk: suppress a false positive warning
1833         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1834         diagnostics are marked with ngettext.
1835
1836 2011-03-10  Eric Blake  <eblake@redhat.com>
1837
1838         wchar: add explicit dependencies, for Tru64
1839         * modules/mbmemcasecoll (Depends-on): Add wchar.
1840         * modules/mbtowc (Depends-on): Likewise.
1841         * modules/vasnprintf (Depends-on): Likewise.
1842         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1843         * modules/wctomb (Depends-on): Likewise.
1844         Reported by Peter O'Gorman.
1845
1846 2011-03-08  Bruno Haible  <bruno@clisp.org>
1847
1848         passfd module, part 1, tweaks.
1849         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1850         Improve indentation. Improve AC_MSG_CHECKING messages.
1851         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1852         gl_SOCKET_FAMILIES.
1853
1854 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1855
1856         passfd module, part 1.
1857         * m4/afunix.m4: New file.
1858         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1859         sockets.
1860
1861 2011-03-08  Bruno Haible  <bruno@clisp.org>
1862
1863         regex-quote: New API.
1864         * lib/regex-quote.h: Include <stdbool.h>.
1865         (struct regex_quote_spec): New type.
1866         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1867         New declarations.
1868         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1869         'const struct regex_quote_spec *' argument.
1870         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1871         (pcre_special): New constant.
1872         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1873         New functions.
1874         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1875         'const struct regex_quote_spec *' argument.
1876         * modules/regex-quote (Depends-on): Add stdbool.
1877         * tests/test-regex-quote.c (check): Update for new API. Add test for
1878         anchored results.
1879         * NEWS: Mention the API change.
1880         Reported by Reuben Thomas and Eric Blake.
1881
1882 2011-03-06  Bruno Haible  <bruno@clisp.org>
1883
1884         regex-quote: Fix creation of POSIX extended regular expressions.
1885         * lib/regex-quote.c (ere_special): Add grouping and alternation
1886         operators.
1887
1888 2011-03-05  Bruno Haible  <bruno@clisp.org>
1889
1890         doc: Improve doc regarding autopoint vs. gnulib.
1891         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1892         disable autopoint while running autoreconf.
1893         Suggested by Ralf Wildenhues.
1894
1895 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1896
1897         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1898         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1899
1900 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1901
1902         parse-duration: remove xalloc.h dependency
1903         * lib/parse-duration.c (parse_period): handle NULL return from
1904         strdup instead of calling xstrdup().
1905         * modules/parse-duration: remove "xalloc" dependency
1906
1907 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1908
1909         bootstrap: honor m4_base when running aclocal
1910         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1911
1912 2011-03-02  Jim Meyering  <meyering@redhat.com>
1913
1914         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1915         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1916         on request from Matt Booth.
1917
1918 2011-03-01  Eric Blake  <eblake@redhat.com>
1919
1920         test-link: work on Hurd
1921         * tests/test-link.h (test_link): Hurd rejects linking directories
1922         with EISDIR instead of the POSIX-mandated EPERM.
1923
1924 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1925
1926         stdio: simplify by moving files to printf-posix, sigpipe
1927         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
1928         since this symbol is needed only if printf is replaced.
1929         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
1930         Require gl_ASM_SYMBOL_PREFIX.
1931         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
1932         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
1933         (Depends-on): Add 'raise'.
1934         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
1935         * modules/stdio (Files): Remove lib/stdio-write.c,
1936         m4/asm-underscore.m4.
1937         (Depends-on): Remove 'raise'.
1938
1939         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
1940         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
1941         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
1942         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
1943
1944 2011-02-28  Bruno Haible  <bruno@clisp.org>
1945
1946         localcharset: Assume ANSI C behaviour of free().
1947         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
1948         calling free().
1949         Suggested by Simon Josefsson <simon@josefsson.org>.
1950
1951 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
1952             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
1953             Bruno Haible  <bruno@clisp.org>  (tiny change)
1954
1955         On Cygwin, use /proc file system instead of win32 API.
1956         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
1957         Win32 file names.
1958         (DllMain): Simplify by removing Cygwin specific code.
1959         (find_shared_library_fullname): Use Linux specific implementation also
1960         for Cygwin.
1961         (get_shared_library_fullname): Update accordingly.
1962         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
1963         Win32 file names.
1964         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
1965         Cygwin specific code.
1966
1967 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
1968             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
1969
1970         Fix OpenMP flag detection for various Fortran compilers.
1971         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
1972         OpenMP-conditional compilation construct, to force compile
1973         failure with missing OpenMP flag.
1974         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
1975
1976 2011-02-25  Eric Blake  <eblake@redhat.com>
1977
1978         strstr: expand test coverage
1979         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
1980         compilation.
1981         * tests/test-memmem.c (main): Duplicate tests.
1982         * tests/test-strcasestr.c (main): Likewise.
1983         * tests/test-c-strcasestr.c (main): Likewise.
1984
1985 2011-02-25  Jim Meyering  <meyering@redhat.com>
1986
1987         maint.mk: detect missing-NL-at-EOF, too
1988         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
1989         it also detects when a file lacks a newline at EOF.
1990         (require_exactly_one_NL_at_EOF_): Renamed from
1991         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
1992         since people may well have .x-sc_... file names tied to the
1993         existing name.  Suggested by Eric Blake.
1994
1995 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1996
1997         dirname: move m4/dos.m4 functionality into lib/dosname.h
1998
1999         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
2000         extracts symbols from it, puts them into config.h; but it's much
2001         easier to use the symbols directly.  filename.h already does this,
2002         but it disagrees with dos.m4 in some respects.  This patch
2003         introduces a different include file dosname.h that packages up
2004         dos.m4, and then later we can work on merging filename.h and
2005         dosname.h.  Applications that need only the easy-to-configure
2006         symbols should consider including dosname.h rather than dirname.h.
2007         * NEWS: Mention incompatible changes.
2008         * m4/dos.m4: Remove.
2009         * lib/dosname.h, modules/dosname: New files.
2010         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
2011         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
2012         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
2013         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
2014         Include dosname.h, not dirname.h.
2015         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
2016         Include dosname.h, for definitions of symbols like ISSLASH
2017         that used to be in config.h.
2018         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
2019         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2020         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2021         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2022         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
2023         * modules/rmdir (Files): Likewise.
2024         * modules/stat (Files): Likewise.
2025         * modules/unlink (Files): Likewise.
2026         * modules/dirname-lgpl (Depends-on): Add dosname.
2027         * modules/lstat (Depends-on): Likewise.
2028         * modules/openat (Depends-on): Likewise.
2029         * modules/rmdir (Depends-on): Likewise.
2030         * modules/savewd (Depends-on): Likewise.
2031         * modules/stat (Depends-on): Likewise.
2032         * modules/unlink (Depends-on): Likewise.
2033         * modules/openat (Depends-on): Remove dirname-lgpl.
2034         * modules/savewd (Depends-on): Likewise.
2035         * tests/test-dirname.c: Do not use removed symbols like
2036         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
2037         the remaining symbols, e.g., ISSLASH ('\\').
2038
2039 2011-02-25  Eric Blake  <eblake@redhat.com>
2040
2041         strstr: revert patches that introduced bug and pessimization
2042         * lib/str-two-way.h: Add another reference.
2043         (two_way_short_needle, two_way_long_needle): Revert changes from
2044         2011-02-24; they pessimize search speed.
2045         (critical_factorization): Partially revert changes from
2046         2010-06-22; they violate the requirement that the left half of the
2047         needle be smaller than the period of the needle.
2048
2049 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2050
2051         filenamecat: remove unnecessary dependency on dirname-lgpl
2052         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
2053         is no direct dependency, just an indirect one via filenamecat-lgpl.
2054
2055         remove: remove unnecessary use of m4/dos.m4
2056         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
2057         * modules/remove (FILES): Remove m4/dos.m4.
2058
2059         * lib/openat-proc.c: Don't include dirname.h; not needed.
2060
2061         backupfile: remove unnecessary use of m4/dos.m4
2062         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
2063         of its symbols are used by the backupfile code.  backupfile.c does
2064         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
2065         for the rare case of programs that want all their backup file
2066         names to live within 8+3 limits, and dos.m4 doesn't address that.
2067         * modules/backupfile (Files): Remove m4/dos.m4.
2068
2069 2011-02-24  Jim Meyering  <meyering@redhat.com>
2070
2071         strstr: fix a bug whereby strstr would mistakenly return NULL
2072         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
2073         in period calculation.
2074         (two_way_long_needle): Likewise.
2075         The original problem was reported by Mike Stump in
2076         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
2077         Ralf Wildenhues provided the short needle and haystack.
2078         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
2079         Add a more involved test to trigger the bug in two_way_long_needle.
2080
2081 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2082
2083         gnulib-tool: remove use of bold display in help screen
2084         * gnulib-tool (func_usage): Do not use bold display anymore in the
2085         help screen.  That was just meant to be a temporary emphasis for a
2086         backward-incompatible change.
2087
2088 2011-02-23  Bruno Haible  <bruno@clisp.org>
2089
2090         Fix misindentation of preprocessor directives.
2091         * lib/argp-namefrob.h: Reindent preprocessor directives.
2092         * lib/getopt_int.h (struct _getopt_data): Likewise.
2093         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
2094         * lib/vasnprintf.c (decode_long_double): Likewise.
2095         * tests/test-argmatch.c: Insert blank lines, for clarity.
2096         * tests/test-exclude.c: Likewise.
2097
2098 2011-02-22  Bruno Haible  <bruno@clisp.org>
2099
2100         ioctl: Fix for MacOS X in 64-bit mode.
2101         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
2102         value.
2103         Suggested by Eric Blake.
2104         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
2105
2106 2011-02-22  Jim Meyering  <meyering@redhat.com>
2107
2108         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
2109         * Makefile (sc_cpp_indent_check): Don't limit the check to files
2110         in lib/.
2111
2112 2011-02-22  Eric Blake  <eblake@redhat.com>
2113
2114         maint: avoid any CDPATH issue
2115         * Makefile (sc_cpp_indent_check): Anchor cd argument.
2116
2117         maint: adjust cpp indentation for my modules, as well
2118         * Makefile (sc_cpp_indent_check): Add my name.
2119         * lib/fbufmode.c: Filter through cppi.
2120         * lib/fpurge.c: Likewise.
2121         * lib/freadable.c: Likewise.
2122         * lib/freading.c: Likewise.
2123         * lib/fwritable.c: Likewise.
2124         * lib/fwriting.c: Likewise.
2125         * lib/sigaction.c: Likewise.
2126
2127 2011-02-22  Jim Meyering  <meyering@redhat.com>
2128
2129         maint: adjust cpp indentation to reflect nesting depth
2130         I.e., in a block of code that begins with an unnested "#if",
2131         put one space between the "#" in column 1 and following token.
2132         For example,
2133         -#include <sys/vfs.h>
2134         +# include <sys/vfs.h>
2135         Do this only in .c files that are part of a module I maintain.
2136         * lib/linkat.c: Filter through cppi.
2137         * lib/nanosleep.c: Likewise.
2138         * lib/openat.c: Likewise.
2139         * lib/openat-die.c: Likewise.
2140         * lib/dup3.c: Likewise.
2141         * lib/fchownat.c: Likewise.
2142         * lib/flock.c: Likewise.
2143         * lib/fsync.c: Likewise.
2144         * lib/fts.c: Likewise.
2145         * lib/getpass.c: Likewise.
2146         * lib/gettimeofday.c: Likewise.
2147         * lib/userspec.c: Likewise.
2148         * Makefile (sc_cpp_indent_check): New rule, to check this.
2149
2150 2011-02-22  Bruno Haible  <bruno@clisp.org>
2151
2152         New module 'wctomb'.
2153         * lib/stdlib.in.h (wctomb): New declaration.
2154         * lib/wctomb.c: New file.
2155         * lib/wctomb-impl.h: New file.
2156         * m4/wctomb.m4: New file.
2157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
2158         REPLACE_WCTOMB.
2159         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
2160         REPLACE_WCTOMB.
2161         * modules/wctomb: New file.
2162         * tests/test-stdlib-c++.cc: Test signature of wctomb.
2163         * doc/posix-functions/wctomb.texi: Mention the new module.
2164         * modules/wctob (Depends-on): Add wctomb.
2165
2166 2011-02-22  Bruno Haible  <bruno@clisp.org>
2167
2168         New module 'mbtowc'.
2169         * lib/stdlib.in.h (mbtowc): New declaration.
2170         * lib/mbtowc.c: New file.
2171         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
2172         * m4/mbtowc.m4: New file.
2173         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
2174         REPLACE_MBTOWC.
2175         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
2176         REPLACE_MBTOWC.
2177         * modules/mbtowc: New file.
2178         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
2179         * doc/posix-functions/mbtowc.texi: Mention the new module.
2180         * modules/btowc (Depends-on): Add mbtowc.
2181
2182 2011-02-22  Bruno Haible  <bruno@clisp.org>
2183
2184         wcrtomb: Add more tests for native Windows platforms.
2185         * tests/test-wcrtomb-w32-1.sh: New file.
2186         * tests/test-wcrtomb-w32-2.sh: New file.
2187         * tests/test-wcrtomb-w32-3.sh: New file.
2188         * tests/test-wcrtomb-w32-4.sh: New file.
2189         * tests/test-wcrtomb-w32-5.sh: New file.
2190         * tests/test-wcrtomb-w32.c: New file.
2191         * modules/wcrtomb-tests (Files): Add them.
2192         (Makefile.am): Arrange to run these tests.
2193         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
2194         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
2195
2196 2011-02-20  Bruno Haible  <bruno@clisp.org>
2197
2198         wcrtomb: Enhance test.
2199         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
2200
2201 2011-02-20  Bruno Haible  <bruno@clisp.org>
2202
2203         mbrtowc: Tiny optimization.
2204         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
2205
2206 2011-02-20  Jim Meyering  <meyering@redhat.com>
2207
2208         test-exclude.c: remove unmatched #endif
2209         * tests/test-exclude.c: Remove stray #endif, left over from
2210         the change of a week ago.
2211
2212 2011-02-19  Jim Meyering  <meyering@redhat.com>
2213
2214         git-version-gen: skip "-dirty" check when appropriate
2215         * build-aux/git-version-gen: Don't run any git commands when the
2216         version string comes from .tarball-version.  Prior to this, we
2217         would run git update-index --refresh even from a just-unpacked
2218         tarball directory, and that could affect a .git/ directory in a
2219         parent of the build directory.  Reported by Mike Frysinger.
2220
2221 2011-02-19  Bruno Haible  <bruno@clisp.org>
2222
2223         unictype/property-byname: Reduce the size of the 'data' segment.
2224         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
2225
2226 2011-02-19  Bruno Haible  <bruno@clisp.org>
2227
2228         unictype/scripts: Reduce the size of the 'data' segment.
2229         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
2230         '%pic'.
2231         * lib/unictype/scripts_byname.gperf: Regenerated.
2232
2233 2011-02-19  Bruno Haible  <bruno@clisp.org>
2234
2235         stdint: Update documentation.
2236         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
2237
2238 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
2239
2240         stdint: omit redundant check for wchar.h
2241         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
2242         always tests whether wchar.h exists, so remove the now-redundant test.
2243
2244 2011-02-18  Bruno Haible  <bruno@clisp.org>
2245
2246         stdint: Cut dependency to module 'wchar'.
2247         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
2248         include the necessary prerequisites.
2249         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
2250         * modules/stdint (Depends-on): Remove wchar.
2251         (Makefile.am): Substitute HAVE_WCHAR_H.
2252         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
2253
2254 2011-02-18  Eric Blake  <eblake@redhat.com>
2255
2256         longlong: skip, rather than fail, on cross-compilation
2257         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
2258         when cross-compiling; regression from 2011-02-16.
2259
2260 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2261
2262         * NEWS: Mention 2011-02-08 change to stdlib.
2263
2264 2011-02-17  Bruno Haible  <bruno@clisp.org>
2265
2266         getloadavg: Add comments about platforms.
2267         * m4/getloadavg.m4: Add comment.
2268         * lib/getloadavg.c: Likewise.
2269
2270 2011-02-17  Bruno Haible  <bruno@clisp.org>
2271
2272         getloadavg: Fix link error on Solaris 2.6.
2273         * modules/getloadavg (Link): New section.
2274         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
2275         linking test-getloadavg.
2276         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
2277         getloadavg.
2278
2279 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2280
2281         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
2282         It was 'int', but this doesn't match the IRIX 6.5 manual.
2283         Suggested by Bruno Haible in
2284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
2285
2286 2011-02-17  Bruno Haible  <bruno@clisp.org>
2287
2288         havelib: Fix comments.
2289         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
2290         change.
2291
2292 2011-02-17  Bruno Haible  <bruno@clisp.org>
2293
2294         havelib: Update config.rpath.
2295         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
2296
2297 2011-02-17  Bruno Haible  <bruno@clisp.org>
2298
2299         getloadavg test: Add some plausibility checks.
2300         * tests/test-getloadavg.c (check_avg): Print a warning when the value
2301         is improbable.
2302
2303 2011-02-16  Eric Blake  <eblake@redhat.com>
2304
2305         maintainer-makefile: make syntax-check a no-op from tarballs
2306         * top/maint.mk (no-vc-detected): New rule.
2307         (local-checks-available): Use it to avoid hanging if someone tries
2308         'make syntax-check' from a tarball.  Also append to any non-syntax
2309         checks already defined in cfg.mk.
2310
2311 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
2312
2313         longlong: tune, particularly for common case of c99
2314
2315         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
2316         or running anything if c99, or if unsigned long long int does not
2317         work.  In either case, we know the answer without further tests.
2318         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
2319         it at most once, and use its results for both long long int and
2320         unsigned long long int.  This is more likely to be efficient in
2321         the common case where the program wants to check for both long
2322         long int and unsigned long long int.
2323         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
2324         since the answer is already known.
2325
2326 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
2327
2328         getloadavg: set errno
2329         * lib/getloadavg.c: Set errno when returning -1.  If no other
2330         error number looks appropriate, set it to ENOSYS if the getloadavg
2331         looks like it can't possibly ever work, ENOTSUP otherwise.
2332         Suggested by Bruno Haible in
2333         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
2334
2335         getloadavg: trim unused parts and speed up 'configure'
2336         * NEWS: Document this.
2337         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
2338         always compiled if getloadavg is absent.
2339         Move test code to ...
2340         * tests/test-getloadavg.c: New file, containing previous
2341         contents of test from lib/getloadavg.c.  It also contains
2342         suggestions by Bruno Haible in
2343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
2344         * modules/getloadavg-tests: New file.
2345         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
2346         Do tests in the same order as they're needed for getloadavg.c.
2347         Omit setgid-related tests that generate symbols KMEM_GROUP,
2348         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
2349         Do only the tests that are needed to see whether the system has
2350         getloadavg, moving the other tests into ...
2351         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
2352         NLIST_NAME_UNION; nobody should be using it.  Do not define
2353         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
2354         relevant, as the user of this module shouldn't care how getloadavg
2355         is implemented.
2356
2357         getloadavg: omit unused var
2358         * lib/getloadavg.c (getloadavg): Omit unused local variable.
2359
2360 2011-02-15  Jim Meyering  <meyering@redhat.com>
2361
2362         doc: update users.txt
2363         * users.txt: Update iwhd's URL.
2364
2365 2011-02-13  Bruno Haible  <bruno@clisp.org>
2366
2367         Consistent macro naming for macros that use GCC __attribute__.
2368         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
2369         _ATTRIBUTE_NONNULL_.
2370         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
2371         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
2372         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
2373         ATTRIBUTE_DEPRECATED.
2374         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
2375         ATTRIBUTE_NORETURN.
2376         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2377         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2378         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2379         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2380         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
2381         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
2382         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
2383         ATTRIBUTE_SENTINEL.
2384         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
2385         ATTRIBUTE_RETURN_CHECK.
2386         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
2387         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
2388         ATTRIBUTE_NORETURN.
2389         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
2390         Reported by Paul Eggert.
2391
2392 2011-02-13  Bruno Haible  <bruno@clisp.org>
2393
2394         Don't interfere with a program's definition of __attribute__.
2395         * lib/argp.h (__attribute__): Remove definition.
2396         (_GL_ATTRIBUTE_FORMAT): New macro.
2397         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
2398         * lib/argp-fmtstream.h (__attribute__): Remove definition.
2399         (_GL_ATTRIBUTE_FORMAT): New macro.
2400         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
2401         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
2402         GCC 3 or newer.
2403         * lib/error.h (__attribute__): Remove definition.
2404         (_GL_ATTRIBUTE_FORMAT): New macro.
2405         (error, error_at_line): Use it.
2406         * lib/hash.h (__attribute__): Remove definition.
2407         (ATTRIBUTE_WUR): Update definition. Define always.
2408         * lib/openat.h (__attribute__): Remove definition.
2409         (ATTRIBUTE_NORETURN): Update definition. Define always.
2410         * lib/sigpipe-die.h (__attribute__): Remove definition.
2411         (ATTRIBUTE_NORETURN): Update definition. Define always.
2412         * lib/vasnprintf.h (__attribute__): Remove definition.
2413         (_GL_ATTRIBUTE_FORMAT): New macro.
2414         (asnprintf, vasnprintf): Use it.
2415         * lib/xalloc.h (__attribute__): Remove definition.
2416         (ATTRIBUTE_NORETURN): Update definition. Define always.
2417         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
2418         * lib/xmemdup0.h (__attribute__): Remove definition.
2419         (ATTRIBUTE_NORETURN): Update definition. Define always.
2420         * lib/xprintf.h (__attribute__): Remove definition.
2421         (_GL_ATTRIBUTE_FORMAT): New macro.
2422         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
2423         * lib/xstrtol.h (__attribute__): Remove definition.
2424         (ATTRIBUTE_NORETURN): Update definition. Define always.
2425         * lib/xvasprintf.h (__attribute__): Remove definition.
2426         (_GL_ATTRIBUTE_FORMAT): New macro.
2427         (xasprintf, xvasprintf): Use it.
2428         * tests/test-argmatch.c (__attribute__): Remove definition.
2429         (ATTRIBUTE_NORETURN): Update definition. Define always.
2430         * tests/test-exclude.c (__attribute__): Remove definition.
2431         (ATTRIBUTE_NORETURN): Update definition. Define always.
2432         Reported by Paul Eggert.
2433
2434 2011-02-13  Bruno Haible  <bruno@clisp.org>
2435
2436         mbrtowc: Add more tests for native Windows platforms.
2437         * tests/test-mbrtowc-w32-1.sh: New file.
2438         * tests/test-mbrtowc-w32-2.sh: New file.
2439         * tests/test-mbrtowc-w32-3.sh: New file.
2440         * tests/test-mbrtowc-w32-4.sh: New file.
2441         * tests/test-mbrtowc-w32-5.sh: New file.
2442         * tests/test-mbrtowc-w32.c: New file.
2443         * modules/mbrtowc-tests (Files): Add them.
2444         (Makefile.am): Arrange to run these tests.
2445         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
2446         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
2447
2448 2011-02-13  Bruno Haible  <bruno@clisp.org>
2449
2450         mbrtowc: Work around native Windows bug.
2451         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
2452         guess when no suitable locale for testing was found.
2453         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
2454
2455 2011-02-13  Bruno Haible  <bruno@clisp.org>
2456
2457         mbsinit: Work around mingw bug.
2458         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
2459         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
2460         Windows.
2461         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
2462
2463 2011-02-13  Bruno Haible  <bruno@clisp.org>
2464
2465         mbsinit: Don't crash for a NULL argument.
2466         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
2467         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
2468
2469 2011-02-13  Bruno Haible  <bruno@clisp.org>
2470
2471         Don't interfere with a program's definition of __attribute__.
2472         * lib/stdio.in.h (__attribute__): Remove definition.
2473         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
2474         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
2475         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
2476         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
2477         * lib/string.in.h (__attribute__): Remove definition.
2478         Reported by Paul Eggert.
2479
2480 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2481
2482         stdlib: don't get in the way of non-GCC __attribute__
2483         See thread starting at
2484         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
2485         Revert previous stdlib change, installing the following instead:
2486         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
2487         to get in the way of a non-GCC compiler that supports __attribute__.
2488         (_GL_ATTRIBUTE_RETURN): New macro.
2489         (_Exit): Use it instead of __attribute__.
2490
2491 2011-02-12  Bruno Haible  <bruno@clisp.org>
2492
2493         quotearg test: Avoid test failure on mingw.
2494         * tests/test-quotearg.sh: Convert the locale identifier from native
2495         Windows syntax to Unix syntax.
2496
2497 2011-02-12  Bruno Haible  <bruno@clisp.org>
2498
2499         setlocale: Prefer gnulib's override over libintl's override.
2500         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
2501         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
2502         GNULIB_defined_setlocale is set.
2503
2504 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2505
2506         stdlib: support non-GCC __attribute__
2507
2508         Fix a serious and tricky problem encountered when attempting to
2509         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
2510         5.5, but it crashed due to memory corruption on Solaris 10 with
2511         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
2512         bits that are otherwise zero.  This tagging is optional inside
2513         Emacs but is preferred and is used when __attribute__ ((__aligned
2514         (8))) works, as it does with both recent-enough GCC and with Sun C
2515         5.11.  However, Sun C 5.11 is not GCC and does not #define
2516         __GNUC__ and __GNUC_MINOR__.
2517
2518         When I added the getloadavg module to Emacs, it brought in
2519         stdlib.in.h, which contained this fragment:
2520
2521            #ifndef __attribute__
2522            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
2523            #  define __attribute__(Spec)   /* empty */
2524            # endif
2525            #endif
2526
2527         When files that include <stdlib.h> were compiled with Sun C 5.11,
2528         the above code disabled __attribute__ ((__aligned (8))), which
2529         caused variables to not be properly aligned, which eventually led
2530         to the pointer corruption mentioned above.  (This was a bit hard
2531         to diagnose, unfortunately.)
2532
2533         Several "#define __attribute__(X) /* empty */" code snippets need
2534         to be eradicated from Gnulib to work with non-GCC compilers that
2535         support __attribute__.  The Autoconf way to do this is to test for
2536         each kind of attribute that we want support for, and selectively
2537         enable that in source code.
2538
2539         Fix this problem just for stdlib.h, by adding a test for the
2540         __noreturn__ attribute, and change stdlib.in.h to use that test
2541         when needed.  This technique can be easily generalized to the
2542         other *.in.h files and attributes, and a similar technique can be
2543         used for *.h and *.c files.  This patch is enough to solve the
2544         problem for Emacs + getloadavg, and I thought I'd publish it for
2545         feedback before undertaking further, similar fixes in other
2546         modules.
2547
2548         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
2549         because it's not needed for stdlib.h.  It merely substitutes the
2550         value directly into stdlib.h.  We may well need to #define it, or
2551         similar symbols, for other modules, but it's nice to also have an
2552         option to not #define it for applications like Emacs that do not
2553         need it.
2554
2555         * lib/stdlib.in.h (__attribute__): Do not #define.
2556         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
2557         be defined only if the _Exit module is also used.
2558         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
2559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
2560         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
2561         platforms.
2562         * modules/_Exit (Files): Add m4/attribute.m4.
2563         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
2564         * m4/attribute.m4: New file.
2565
2566 2011-02-12  Bruno Haible  <bruno@clisp.org>
2567
2568         wcsrtombs: Work around bug on native Windows.
2569         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
2570         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
2571         instead of len.
2572         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
2573
2574 2011-02-12  Bruno Haible  <bruno@clisp.org>
2575
2576         mbsrtowcs: Work around bug on native Windows.
2577         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
2578         against mingw bug.
2579         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
2580
2581 2011-02-12  Bruno Haible  <bruno@clisp.org>
2582
2583         Avoid setlocale bugs in tests.
2584         * modules/btowc (Dependencies): Add setlocale.
2585         * modules/c-strcase (Dependencies): Likewise.
2586         * modules/mbmemcasecmp (Dependencies): Likewise.
2587         * modules/mbmemcasecoll (Dependencies): Likewise.
2588         * modules/mbrtowc (Dependencies): Likewise.
2589         * modules/mbscasecmp (Dependencies): Likewise.
2590         * modules/mbscasestr (Dependencies): Likewise.
2591         * modules/mbschr (Dependencies): Likewise.
2592         * modules/mbscspn (Dependencies): Likewise.
2593         * modules/mbsinit (Dependencies): Likewise.
2594         * modules/mbsncasecmp (Dependencies): Likewise.
2595         * modules/mbsnrtowcs (Dependencies): Likewise.
2596         * modules/mbspbrk (Dependencies): Likewise.
2597         * modules/mbspcasecmp (Dependencies): Likewise.
2598         * modules/mbsrchr (Dependencies): Likewise.
2599         * modules/mbsrtowcs (Dependencies): Likewise.
2600         * modules/mbsspn (Dependencies): Likewise.
2601         * modules/mbsstr (Dependencies): Likewise.
2602         * modules/nl_langinfo (Dependencies): Likewise.
2603         * modules/quotearg (Dependencies): Likewise.
2604         * modules/unicase/locale-language (Dependencies): Likewise.
2605         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
2606         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
2607         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
2608         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
2609         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
2610         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
2611         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
2612         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
2613         * modules/vasnprintf-posix (Dependencies): Likewise.
2614         * modules/wcrtomb (Dependencies): Likewise.
2615         * modules/wcsnrtombs (Dependencies): Likewise.
2616         * modules/wcsrtombs (Dependencies): Likewise.
2617
2618 2011-02-12  Bruno Haible  <bruno@clisp.org>
2619
2620         setlocale: Workaround native Windows bug.
2621         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
2622         succeeds but sets LC_CTYPE to "C", report a failure.
2623         * tests/test-setlocale2.sh: New file.
2624         * tests/test-setlocale2.c: New file.
2625         * modules/setlocale-tests (Files): Add the new files.
2626         (Makefile.am): Enable test-setlocale2.sh test.
2627         * doc/posix-functions/setlocale.texi: Mention workaround.
2628
2629 2011-02-11  Bruno Haible  <bruno@clisp.org>
2630
2631         Tests for module 'setlocale'.
2632         * modules/setlocale-tests: New file.
2633         * tests/test-setlocale1.sh: New file.
2634         * tests/test-setlocale1.c: New file.
2635
2636         New module 'setlocale'.
2637         * lib/locale.in.h (setlocale): New declaration.
2638         * lib/setlocale.c: New file, based on
2639         gettext/gettext-runtime/intl/setlocale.c.
2640         * m4/setlocale.m4: New file.
2641         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
2642         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
2643         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
2644         REPLACE_SETLOCALE.
2645         * modules/setlocale: New file.
2646         * tests/test-locale-c++.cc: Test the declaration of setlocale.
2647         * doc/posix-functions/setlocale.texi: Mention the new module.
2648
2649 2011-02-11  Bruno Haible  <bruno@clisp.org>
2650
2651         Prepare for locale dependent tests on mingw.
2652         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
2653         because it has the wrong locale encoding.
2654         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
2655         French_France.1252 instead of "fr".
2656         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
2657         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
2658         because it has the wrong locale encoding.
2659         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
2660         native Windows, try Turkish_Turkey.65001.
2661         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
2662         Chinese_China.54936.
2663
2664         Prepare for locale dependent tests on mingw.
2665         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
2666         differently.
2667         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2668         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2669         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2670         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2671
2672 2011-02-11  Eric Blake  <eblake@redhat.com>
2673
2674         strptime: avoid compiler warnings
2675         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
2676         compiler warnings about dead code.
2677         Reported by Daniel P. Berrange.
2678
2679 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
2680
2681         doc: update users.txt
2682         * users.txt: Add rcs.
2683
2684 2011-02-10  John W. Eaton  <jwe@gnu.org>
2685
2686         doc: update users.txt
2687         * users.txt: Add octave.
2688
2689 2011-02-10  Jim Meyering  <meyering@redhat.com>
2690
2691         doc: update users.txt
2692         * users.txt: Add iwhd.
2693
2694 2011-02-09  Bruno Haible  <bruno@clisp.org>
2695
2696         gnulib-tool: Make copyright notice adjustment more robust.
2697         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2698         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2699         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2700         License".
2701         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2702
2703 2011-02-06  Bruno Haible  <bruno@clisp.org>
2704
2705         New module 'towctrans'.
2706         * modules/towctrans: New file.
2707         * lib/wctype.in.h (towctrans): New declaration.
2708         * lib/towctrans.c: New file.
2709         * lib/towctrans-impl.h: New file.
2710         * m4/towctrans.m4: New file.
2711         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2712         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2713         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2714         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2715         * doc/posix-functions/towctrans.texi: Mention the new module.
2716
2717 2011-02-06  Bruno Haible  <bruno@clisp.org>
2718
2719         New module 'wctrans'.
2720         * modules/wctrans: New file.
2721         * lib/wctype.in.h (wctrans): New declaration.
2722         * lib/wctrans.c: New file.
2723         * lib/wctrans-impl.h: New file.
2724         * m4/wctrans.m4: New file.
2725         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2726         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2727         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2728         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2729         * doc/posix-functions/wctrans.texi: Mention the new module.
2730
2731 2011-02-06  Bruno Haible  <bruno@clisp.org>
2732
2733         New module 'iswctype'.
2734         * modules/iswctype: New file.
2735         * lib/wctype.in.h (iswctype): New declaration.
2736         * lib/iswctype.c: New file.
2737         * lib/iswctype-impl.h: New file.
2738         * m4/iswctype.m4: New file.
2739         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2740         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2741         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2742         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2743         * doc/posix-functions/iswctype.texi: Mention the new module and the
2744         HP-UX 11.00 problem.
2745
2746 2011-02-06  Bruno Haible  <bruno@clisp.org>
2747
2748         New module 'wctype'.
2749         * modules/wctype: Change to represent the wctype() substitute.
2750         * lib/wctype.in.h (wctype): New declaration.
2751         * lib/wctype.c: New file.
2752         * lib/wctype-impl.h: New file.
2753         * m4/wctype.m4: New file.
2754         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2755         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2756         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2757         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2758         * doc/posix-functions/wctype.texi: Mention the new module and the
2759         HP-UX 11.00 problem.
2760
2761 2011-02-06  Bruno Haible  <bruno@clisp.org>
2762
2763         wctype-h: Ensure wctype_t and wctrans_t are defined.
2764         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2765         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2766         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2767         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2768         HAVE_WCTRANS_T.
2769         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2770
2771 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2772
2773         flock: fix license typo
2774
2775         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2776         omitted.
2777
2778 2011-02-08  Bruno Haible  <bruno@clisp.org>
2779
2780         Split large sed scripts, for HP-UX sed.
2781         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2782         to avoid HP-UX limit of 99 commands, in the near future.
2783         * modules/stdlib (Makefile.am): Likewise.
2784         * modules/unistd (Makefile.am): Likewise.
2785         * modules/wchar (Makefile.am): Likewise.
2786         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2787         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2788         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2789
2790 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2791             Bruno Haible  <bruno@clisp.org>
2792
2793         stdlib: improve random_r modularization
2794         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2795         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2796         you also need the random_r module to get this material right.
2797         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2798         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2799         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2800
2801 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2802
2803         stdlib: don't depend on stdint
2804         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2805         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2806         be independent of whether stdint.h is needed.
2807         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2808         here, instead of ...
2809         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2810         struct random_data should be using the random_r module, not just
2811         the stdlib module (which wouldn't make sense: what package needs
2812         just struct random_data without also needing random_r?).
2813         * modules/stdlib (Depends-on): Remove stdint.
2814
2815         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2816         See the thread rooted at
2817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2818         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2819         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2820         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2821         __VMS)); previously it was always included (via fcntl--.h).
2822         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2823         hand; this is good enough for load averages.  Also, do not use
2824         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2825         flags directly if available and don't bother otherwise.  (Packages
2826         that need the extra reliability should use the modules that define
2827         these flags on older platforms that lack them.)
2828         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2829         fcntl-safer.
2830
2831 2011-02-08  Jim Meyering  <meyering@redhat.com>
2832
2833         di-set.h, ino-map.h: add multiple-inclusion guard
2834         Technically, the guard is required only for ino-map.h, due to its
2835         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2836         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2837         * lib/ino-map.h: Likewise.
2838
2839 2011-02-06  Bruno Haible  <bruno@clisp.org>
2840
2841         iswblank: Ensure declaration on glibc systems.
2842         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2843         * modules/iswblank (Dependencies): Add 'extensions'.
2844         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2845
2846 2011-02-06  Bruno Haible  <bruno@clisp.org>
2847
2848         New module 'iswblank'.
2849         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2850         * modules/iswblank: New file.
2851         * modules/wctype-h (Files): Remove lib/iswblank.c.
2852         (Makefile.am): Substitute GNULIB_ISWBLANK.
2853         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2854         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2855         (gl_WCTYPE_H_DEFAULTS): New macro.
2856         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2857         * modules/iswblank-tests: New file.
2858         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2859         * tests/test-wctype-h.c (main): Remove iswblank tests.
2860         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2861         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2862         of 'wctype-h'.
2863         * NEWS: Mention the change.
2864         * modules/mbchar (Depends-on): Add iswblank.
2865
2866 2011-02-08  Bruno Haible  <bruno@clisp.org>
2867
2868         di-set tests: Refactor.
2869         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2870         unnecessary includes.
2871         (ASSERT): Remove macro.
2872         (main): Make C90 compliant by avoiding variable declaration after
2873         statement.
2874         * modules/di-set-tests (Files): Add tests/macros.h.
2875
2876 2011-02-08  Bruno Haible  <bruno@clisp.org>
2877
2878         ino-map tests: Refactor.
2879         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2880         unnecessary includes.
2881         (ASSERT): Remove macro.
2882         (main): Make C90 compliant by avoiding variable declaration after
2883         statement.
2884         * modules/ino-map-tests (Files): Add tests/macros.h.
2885
2886 2011-02-08  Jim Meyering  <meyering@redhat.com>
2887
2888         di-set: add "const" to a cast
2889         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2890         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2891
2892 2011-02-06  Bruno Haible  <bruno@clisp.org>
2893
2894         Rename module 'wctype' to 'wctype-h'.
2895         * modules/wctype-h: Renamed from modules/wctype.
2896         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2897         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2898         (Files, Depends-on, Makefile.am): Update.
2899         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2900         (Files, Makefile.am): Update.
2901         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2902         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2903         * doc/posix-headers/wctype.texi: Update.
2904         * doc/posix-functions/iswalnum.texi: Update.
2905         * doc/posix-functions/iswalpha.texi: Update.
2906         * doc/posix-functions/iswblank.texi: Update.
2907         * doc/posix-functions/iswcntrl.texi: Update.
2908         * doc/posix-functions/iswdigit.texi: Update.
2909         * doc/posix-functions/iswgraph.texi: Update.
2910         * doc/posix-functions/iswlower.texi: Update.
2911         * doc/posix-functions/iswprint.texi: Update.
2912         * doc/posix-functions/iswpunct.texi: Update.
2913         * doc/posix-functions/iswspace.texi: Update.
2914         * doc/posix-functions/iswupper.texi: Update.
2915         * doc/posix-functions/iswxdigit.texi: Update.
2916         * doc/posix-functions/towlower.texi: Update.
2917         * doc/posix-functions/towupper.texi: Update.
2918         * NEWS: Mention the change.
2919         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2920         * modules/mbchar (Dependencies): Likewise.
2921         * modules/mbswidth (Dependencies): Likewise.
2922         * modules/quotearg (Dependencies): Likewise.
2923         * modules/regex (Dependencies): Likewise.
2924         * modules/wcscasecmp (Dependencies): Likewise.
2925         * modules/wcsncasecmp (Dependencies): Likewise.
2926         * modules/wcwidth (Dependencies): Likewise.
2927
2928 2011-02-06  Bruno Haible  <bruno@clisp.org>
2929
2930         New module 'wcswidth'.
2931         * modules/wcswidth: New file.
2932         * lib/wchar.in.h (wcswidth): New declaration.
2933         * lib/wcswidth.c: New file.
2934         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
2935         * m4/wcswidth.m4: New file.
2936         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
2937         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
2938         REPLACE_WCSWIDTH.
2939         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
2940         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
2941         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
2942         * doc/posix-functions/wcswidth.texi: Mention the new module.
2943
2944 2011-02-06  Bruno Haible  <bruno@clisp.org>
2945
2946         New module 'wcstok'.
2947         * modules/wcstok: New file.
2948         * lib/wchar.in.h (wcstok): New declaration.
2949         * lib/wcstok.c: New file.
2950         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
2951         * m4/wcstok.m4: New file.
2952         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
2953         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
2954         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
2955         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
2956         * doc/posix-functions/wcstok.texi: Mention the new module.
2957
2958 2011-02-06  Bruno Haible  <bruno@clisp.org>
2959
2960         New module 'wcsstr'.
2961         * modules/wcsstr: New file.
2962         * lib/wchar.in.h (wcsstr): New declaration.
2963         * lib/wcsstr.c: New file.
2964         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
2965         * m4/wcsstr.m4: New file.
2966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
2967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
2968         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
2969         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
2970         * doc/posix-functions/wcsstr.texi: Mention the new module.
2971
2972 2011-02-06  Bruno Haible  <bruno@clisp.org>
2973
2974         New module 'wcspbrk'.
2975         * modules/wcspbrk: New file.
2976         * lib/wchar.in.h (wcspbrk): New declaration.
2977         * lib/wcspbrk.c: New file.
2978         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
2979         * m4/wcspbrk.m4: New file.
2980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
2981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
2982         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
2983         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
2984         * doc/posix-functions/wcspbrk.texi: Mention the new module.
2985
2986 2011-02-06  Bruno Haible  <bruno@clisp.org>
2987
2988         New module 'wcsspn'.
2989         * modules/wcsspn: New file.
2990         * lib/wchar.in.h (wcsspn): New declaration.
2991         * lib/wcsspn.c: New file.
2992         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
2993         * m4/wcsspn.m4: New file.
2994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
2995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
2996         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
2997         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
2998         * doc/posix-functions/wcsspn.texi: Mention the new module.
2999
3000 2011-02-06  Bruno Haible  <bruno@clisp.org>
3001
3002         New module 'wcscspn'.
3003         * modules/wcscspn: New file.
3004         * lib/wchar.in.h (wcscspn): New declaration.
3005         * lib/wcscspn.c: New file.
3006         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
3007         * m4/wcscspn.m4: New file.
3008         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
3009         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
3010         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
3011         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
3012         * doc/posix-functions/wcscspn.texi: Mention the new module.
3013
3014 2011-02-06  Bruno Haible  <bruno@clisp.org>
3015
3016         New module 'wcsrchr'.
3017         * modules/wcsrchr: New file.
3018         * lib/wchar.in.h (wcsrchr): New declaration.
3019         * lib/wcsrchr.c: New file.
3020         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
3021         * m4/wcsrchr.m4: New file.
3022         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
3023         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
3024         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
3025         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
3026         * doc/posix-functions/wcsrchr.texi: Mention the new module.
3027
3028 2011-02-06  Bruno Haible  <bruno@clisp.org>
3029
3030         New module 'wcschr'.
3031         * modules/wcschr: New file.
3032         * lib/wchar.in.h (wcschr): New declaration.
3033         * lib/wcschr.c: New file.
3034         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
3035         * m4/wcschr.m4: New file.
3036         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
3037         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
3038         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
3039         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
3040         * doc/posix-functions/wcschr.texi: Mention the new module.
3041
3042 2011-02-06  Bruno Haible  <bruno@clisp.org>
3043
3044         New module 'wcsdup'.
3045         * modules/wcsdup: New file.
3046         * lib/wchar.in.h (wcsdup): New declaration.
3047         * lib/wcsdup.c: New file.
3048         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
3049         * m4/wcsdup.m4: New file.
3050         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
3051         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
3052         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
3053         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
3054         * doc/posix-functions/wcsdup.texi: Mention the new module.
3055
3056 2011-02-06  Bruno Haible  <bruno@clisp.org>
3057
3058         New module 'wcsxfrm'.
3059         * modules/wcsxfrm: New file.
3060         * lib/wchar.in.h (wcsxfrm): New declaration.
3061         * lib/wcsxfrm.c: New file.
3062         * lib/wcsxfrm-impl.h: New file.
3063         * m4/wcsxfrm.m4: New file.
3064         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
3065         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
3066         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
3067         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
3068         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
3069
3070 2011-02-06  Bruno Haible  <bruno@clisp.org>
3071
3072         New module 'wcscoll'.
3073         * modules/wcscoll: New file.
3074         * lib/wchar.in.h (wcscoll): New declaration.
3075         * lib/wcscoll.c: New file.
3076         * lib/wcscoll-impl.h: New file.
3077         * m4/wcscoll.m4: New file.
3078         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
3079         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
3080         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
3081         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
3082         * doc/posix-functions/wcscoll.texi: Mention the new module.
3083
3084 2011-02-06  Bruno Haible  <bruno@clisp.org>
3085
3086         New module 'wcsncasecmp'.
3087         * modules/wcsncasecmp: New file.
3088         * lib/wchar.in.h (wcsncasecmp): New declaration.
3089         * lib/wcsncasecmp.c: New file.
3090         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
3091         * m4/wcsncasecmp.m4: New file.
3092         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
3093         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
3094         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
3095         HAVE_WCSNCASECMP.
3096         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
3097         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
3098
3099 2011-02-06  Bruno Haible  <bruno@clisp.org>
3100
3101         New module 'wcscasecmp'.
3102         * modules/wcscasecmp: New file.
3103         * lib/wchar.in.h (wcscasecmp): New declaration.
3104         * lib/wcscasecmp.c: New file.
3105         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
3106         * m4/wcscasecmp.m4: New file.
3107         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
3108         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
3109         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
3110         HAVE_WCSCASECMP.
3111         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
3112         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
3113
3114 2011-02-05  Bruno Haible  <bruno@clisp.org>
3115
3116         New module 'wcsncmp'.
3117         * modules/wcsncmp: New file.
3118         * lib/wchar.in.h (wcsncmp): New declaration.
3119         * lib/wcsncmp.c: New file.
3120         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
3121         * m4/wcsncmp.m4: New file.
3122         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
3123         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
3124         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
3125         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
3126         * doc/posix-functions/wcsncmp.texi: Mention the new module.
3127
3128 2011-02-05  Bruno Haible  <bruno@clisp.org>
3129
3130         New module 'wcscmp'.
3131         * modules/wcscmp: New file.
3132         * lib/wchar.in.h (wcscmp): New declaration.
3133         * lib/wcscmp.c: New file.
3134         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
3135         * m4/wcscmp.m4: New file.
3136         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
3137         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
3138         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
3139         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
3140         * doc/posix-functions/wcscmp.texi: Mention the new module.
3141
3142 2011-02-05  Bruno Haible  <bruno@clisp.org>
3143
3144         New module 'wcsncat'.
3145         * modules/wcsncat: New file.
3146         * lib/wchar.in.h (wcsncat): New declaration.
3147         * lib/wcsncat.c: New file.
3148         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
3149         * m4/wcsncat.m4: New file.
3150         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
3151         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
3152         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
3153         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
3154         * doc/posix-functions/wcsncat.texi: Mention the new module.
3155
3156 2011-02-05  Bruno Haible  <bruno@clisp.org>
3157
3158         New module 'wcscat'.
3159         * modules/wcscat: New file.
3160         * lib/wchar.in.h (wcscat): New declaration.
3161         * lib/wcscat.c: New file.
3162         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
3163         * m4/wcscat.m4: New file.
3164         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
3165         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
3166         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
3167         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
3168         * doc/posix-functions/wcscat.texi: Mention the new module.
3169
3170 2011-02-05  Bruno Haible  <bruno@clisp.org>
3171
3172         New module 'wcpncpy'.
3173         * modules/wcpncpy: New file.
3174         * lib/wchar.in.h (wcpncpy): New declaration.
3175         * lib/wcpncpy.c: New file.
3176         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
3177         * m4/wcpncpy.m4: New file.
3178         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
3179         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
3180         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
3181         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
3182         * doc/posix-functions/wcpncpy.texi: Mention the new module.
3183
3184 2011-02-05  Bruno Haible  <bruno@clisp.org>
3185
3186         New module 'wcsncpy'.
3187         * modules/wcsncpy: New file.
3188         * lib/wchar.in.h (wcsncpy): New declaration.
3189         * lib/wcsncpy.c: New file.
3190         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
3191         * m4/wcsncpy.m4: New file.
3192         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
3193         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
3194         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
3195         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
3196         * doc/posix-functions/wcsncpy.texi: Mention the new module.
3197
3198 2011-02-05  Bruno Haible  <bruno@clisp.org>
3199
3200         New module 'wcpcpy'.
3201         * modules/wcpcpy: New file.
3202         * lib/wchar.in.h (wcpcpy): New declaration.
3203         * lib/wcpcpy.c: New file.
3204         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
3205         * m4/wcpcpy.m4: New file.
3206         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
3207         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
3208         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
3209         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
3210         * doc/posix-functions/wcpcpy.texi: Mention the new module.
3211
3212 2011-02-05  Bruno Haible  <bruno@clisp.org>
3213
3214         New module 'wcscpy'.
3215         * modules/wcscpy: New file.
3216         * lib/wchar.in.h (wcscpy): New declaration.
3217         * lib/wcscpy.c: New file.
3218         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
3219         * m4/wcscpy.m4: New file.
3220         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
3221         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
3222         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
3223         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
3224         * doc/posix-functions/wcscpy.texi: Mention the new module.
3225
3226 2011-02-05  Bruno Haible  <bruno@clisp.org>
3227
3228         New module 'wcsnlen'.
3229         * modules/wcsnlen: New file.
3230         * lib/wchar.in.h (wcsnlen): New declaration.
3231         * lib/wcsnlen.c: New file.
3232         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
3233         * m4/wcsnlen.m4: New file.
3234         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
3235         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
3236         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
3237         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
3238         * doc/posix-functions/wcsnlen.texi: Mention the new module.
3239
3240 2011-02-05  Bruno Haible  <bruno@clisp.org>
3241
3242         New module 'wcslen'.
3243         * modules/wcslen: New file.
3244         * lib/wchar.in.h (wcslen): New declaration.
3245         * lib/wcslen.c: New file.
3246         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
3247         * m4/wcslen.m4: New file.
3248         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
3249         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
3250         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
3251         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
3252         * doc/posix-functions/wcslen.texi: Mention the new module.
3253
3254 2011-02-05  Bruno Haible  <bruno@clisp.org>
3255
3256         New module 'wmemset'.
3257         * modules/wmemset: New file.
3258         * lib/wchar.in.h (wmemset): New declaration.
3259         * lib/wmemset.c: New file.
3260         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
3261         * m4/wmemset.m4: New file.
3262         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
3263         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
3264         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
3265         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
3266         * doc/posix-functions/wmemset.texi: Mention the new module.
3267
3268 2011-02-05  Bruno Haible  <bruno@clisp.org>
3269
3270         New module 'wmemmove'.
3271         * modules/wmemmove: New file.
3272         * lib/wchar.in.h (wmemmove): New declaration.
3273         * lib/wmemmove.c: New file.
3274         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
3275         * m4/wmemmove.m4: New file.
3276         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
3277         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
3278         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
3279         HAVE_WMEMMOVE.
3280         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
3281         * doc/posix-functions/wmemmove.texi: Mention the new module.
3282
3283 2011-02-05  Bruno Haible  <bruno@clisp.org>
3284
3285         New module 'wmemcpy'.
3286         * modules/wmemcpy: New file.
3287         * lib/wchar.in.h (wmemcpy): New declaration.
3288         * lib/wmemcpy.c: New file.
3289         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
3290         * m4/wmemcpy.m4: New file.
3291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
3292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
3293         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
3294         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
3295         * doc/posix-functions/wmemcpy.texi: Mention the new module.
3296
3297 2011-02-05  Bruno Haible  <bruno@clisp.org>
3298
3299         New module 'wmemcmp'.
3300         * modules/wmemcmp: New file.
3301         * lib/wchar.in.h (wmemcmp): New declaration.
3302         * lib/wmemcmp.c: New file.
3303         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
3304         * m4/wmemcmp.m4: New file.
3305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
3306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
3307         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
3308         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
3309         * doc/posix-functions/wmemcmp.texi: Mention the new module.
3310
3311 2011-02-07  Jim Meyering  <meyering@redhat.com>
3312
3313         di-set, ino-map: new modules, from coreutils
3314         * lib/di-set.c: New file.
3315         * lib/di-set.h: Likewise.
3316         * lib/ino-map.c: Likewise.
3317         * lib/ino-map.h: Likewise.
3318         * modules/di-set: Likewise.
3319         * modules/di-set-tests: Likewise.
3320         * modules/ino-map: Likewise.
3321         * modules/ino-map-tests: Likewise.
3322         * tests/test-di-set.c: Likewise.
3323         * tests/test-ino-map.c: Likewise.
3324
3325 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
3326
3327         getloadavg: merge minor changes from Emacs
3328
3329         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
3330         (getloadavg): Use memset, not bzero.
3331
3332         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
3333         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3334         clash (bug#86).
3335
3336 2010-11-14  Bruno Haible  <bruno@clisp.org>
3337
3338         Allow multiple gnulib generated replacements to coexist.
3339         * lib/getopt.in.h (struct option): Avoid identical redefinition.
3340         * lib/inttypes.in.h (imaxdiv_t): Likewise.
3341         * lib/langinfo.in.h (nl_item): Likewise.
3342         * lib/math.in.h (_NaN, NAN): Likewise.
3343         * lib/netdb.in.h (struct addrinfo): Likewise.
3344         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
3345         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
3346         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
3347         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
3348         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
3349         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
3350         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
3351         pthread_mutexattr_init, pthread_mutexattr_settype,
3352         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
3353         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
3354         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
3355         pthread_spin_trylock, pthread_spin_unlock): Likewise.
3356         * lib/sched.in.h (struct sched_param): Likewise.
3357         * lib/se-selinux.in.h (security_class_t, security_context_t,
3358         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
3359         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
3360         lsetfilecon, fsetfilecon, security_check_context,
3361         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
3362         Likewise.
3363         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
3364         Likewise.
3365         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
3366         _gl_function_taking_int_returning_void_t, union sigval,
3367         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
3368         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
3369         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
3370         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
3371         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
3372         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
3373         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
3374         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
3375         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
3376         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
3377         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
3378         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
3379         socklen_t, rpl_fd_isset): Likewise.
3380         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
3381         * lib/sys_time.in.h (struct timeval): Likewise.
3382         * lib/sys_times.in.h (struct tms): Likewise.
3383         * lib/sys_utsname.in.h (struct utsname):
3384         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
3385         * lib/unistd.in.h (getpagesize): Likewise.
3386         * lib/wchar.in.h (mbstate_t): Likewise.
3387         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
3388         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
3389         towlower, towupper): Likewise.
3390         Reported by Sam Steingold <sds@gnu.org>.
3391
3392 2011-02-05  Eric Blake  <eblake@redhat.com>
3393
3394         unsetenv: work around Haiku issues
3395         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
3396         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
3397
3398 2010-12-30  Bruce Korb  <bkorb@gnu.org>
3399
3400         libposix: avoid calling error() within libposix
3401         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
3402         is defined.
3403
3404 2011-02-05  Eric Blake  <eblake@redhat.com>
3405
3406         strerror_r-posix: port to cygwin
3407         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
3408         implementation.
3409         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
3410         * tests/test-strerror_r.c (main): Fix test.
3411         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
3412         issue.
3413
3414 2011-02-05  Bruno Haible  <bruno@clisp.org>
3415
3416         New module 'wmemchr'.
3417         * modules/wmemchr: New file.
3418         * lib/wchar.in.h (wmemchr): New declaration.
3419         * lib/wmemchr.c: New file.
3420         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
3421         * m4/wmemchr.m4: New file.
3422         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
3423         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
3424         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
3425         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
3426         * doc/posix-functions/wmemchr.texi: Mention the new module.
3427
3428 2011-02-04  Eric Blake  <eblake@redhat.com>
3429
3430         fdopendir: detect FreeBSD bug
3431         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
3432         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
3433
3434 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3435
3436         stdbool: do not define HAVE_STDBOOL_H
3437         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
3438         AC_HEADER_STDBOOL.  All uses changed.  Do not define
3439         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
3440         imported from the latest Autoconf git.  It was motivated by Emacs,
3441         which uses gnulib but does not need HAVE_STDBOOL_H.
3442
3443 2011-02-04  Bruno Haible  <bruno@clisp.org>
3444
3445         wcsnrtombs: Prepare for new module wwcsnrtombs.
3446         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
3447         * lib/wcsnrtombs.c: Include it.
3448         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
3449
3450         wcsrtombs: Prepare for new module wwcsrtombs.
3451         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
3452         * lib/wcsrtombs.c: Include it.
3453         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
3454
3455         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
3456         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
3457         * lib/mbsnrtowcs.c: Include it.
3458         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
3459
3460         mbsrtowcs: Prepare for new module mbsrtowwcs.
3461         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
3462         * lib/mbsrtowcs.c: Include it.
3463         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
3464
3465 2011-02-04  Bruno Haible  <bruno@clisp.org>
3466
3467         vasnprintf: Reduce use of malloc for small format strings.
3468         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
3469         (arguments): Add room for the first 7 arguments.
3470         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
3471         (char_directives, u8_directives, u16_directives, u32_directives): Add
3472         room for the first 7 directives.
3473         * lib/printf-parse.c: Include <string.h>.
3474         (PRINTF_PARSE): Change memory handling code so that it uses the first
3475         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
3476         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
3477         Reported by Pádraig Brady <P@draigbrady.com>.
3478
3479 2011-01-31  Eric Blake  <eblake@redhat.com>
3480
3481         dup2: work around Haiku bug
3482         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
3483         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
3484         * doc/posix-functions/dup2.texi (dup2): Document the bug.
3485         * tests/test-dup2.c (main): Enhance test.
3486
3487 2011-01-31  Simon Josefsson  <simon@josefsson.org>
3488
3489         doc: off_t is not available in eglibc 2.11.2 stdio.h.
3490         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
3491         declared by eglibc 2.11.2.
3492         * lib/stdio.in.h: Likewise.
3493
3494 2011-01-31  Eric Blake  <eblake@redhat.com>
3495
3496         ignore-value: add missing test dependency
3497         * tests/test-ignore-value.c: Revert previous change; stdio.h
3498         provides off_t.
3499         * modules/ignore-value-tests (Depends-on): Add missing dependency.
3500
3501 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
3502
3503         mktime: clarify long_int width checking
3504         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
3505         the top level, to make it clearer that the assumption about
3506         long_int width is being checked.  See
3507         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
3508
3509 2011-01-30  Simon Josefsson  <simon@josefsson.org>
3510
3511         ignore-value: Fix self-test.
3512         * tests/test-ignore-value.c: Include sys/types.h for off_t.
3513
3514 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3515
3516         TYPE_MAXIMUM: avoid theoretically undefined behavior
3517         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
3518         negative number, which the C Standard says has undefined behavior.
3519         In practice this is not a problem, but might as well do it by the book.
3520         Reported by Rich Felker and Eric Blake; see
3521         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
3522         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
3523         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
3524         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
3525         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
3526         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3527         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
3528
3529         mktime: #undef mktime before #defining it
3530         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
3531
3532         mktime: systematically normalize tm_isdst comparisons
3533         * lib/mktime.c (isdst_differ): New function.
3534         (__mktime_internal): Use it systematically for all isdst comparisons.
3535         This completes the fix for libc BZ #6723, and removes the need for
3536         normalizing tm_isdst.  See
3537         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
3538         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
3539
3540         mktime: fix some integer overflow issues and sidestep the rest
3541
3542         This was prompted by a bug report by Benjamin Lindner for MinGW
3543         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
3544         His bug is due to signed integer overflow (0 - INT_MIN), and I
3545         I scanned through mktime.c looking for other integer overflow
3546         problems, fixing all the bugs I found.
3547
3548         Although the C Standard says the resulting code is still not safe
3549         in the presence of integer overflow, in practice it should be good
3550         enough for all real-world two's-complement implementations, except
3551         for debugging environments that deliberately trap on integer
3552         overflow (e.g., gcc -ftrapv).
3553
3554         * lib/mktime.c (WRAPV): New macro.
3555         (SHR): Also check that long_int and time_t shift right in the
3556         usual way, before using the fast-but-unportable method.
3557         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
3558         used.  The code already assumed two's complement, so there's
3559         no need to test for alternatives.  All uses removed.
3560         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
3561         the C standard.  Problem reported by Rich Felker in
3562         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
3563         (twos_complement_arithmetic): Also check long_int and time_t.
3564         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
3565         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
3566         (__mktime_internal): Avoid integer overflow with unary subtraction
3567         in two instances where -1 - X is an adequate replacement for -X,
3568         since the calculations are approximate.
3569
3570 2011-01-29  Eric Blake  <eblake@redhat.com>
3571
3572         mktime: avoid infinite loop
3573         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
3574         type; behavior is still undefined but portable to all known targets.
3575         Reported by Rich Felker.
3576
3577 2011-01-29  Simon Josefsson  <simon@josefsson.org>
3578
3579         rename, unlink, same-inode: Relicense.
3580         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
3581         * modules/unlink (License): Likewise.
3582         * modules/same-inode (License): Likewise.
3583
3584 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3585
3586         mktime: avoid problems on NetBSD 5 / i386
3587         * lib/mktime.c (long_int): New type.  This works around a problem
3588         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
3589         but time_t is 64 bits, and where I expect the existing code is
3590         wrong in some cases.
3591         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
3592         (ydhms_diff): Bring back the compile-time check for wide-enough
3593         year and yday.
3594
3595         mktime: fix misspelling in comment
3596         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
3597         This merges all recent glibc changes of importance.
3598
3599 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3600
3601         move-if-change: cope with concurrent mv of identical file.
3602         * build-aux/move-if-change (CMPPROG): Accept environment
3603         variable as an override for `cmp'.
3604         (usage): Document CMPPROG.
3605         Adjust comparison to drop stdout.  Cope with failure of mv if
3606         the target file exists and is identical to the source, for
3607         parallel builds.
3608         Report from H.J. Lu against binutils in PR binutils/12283.
3609
3610 2011-01-28  Bruce Korb  <bkorb@gnu.org>
3611
3612         * users.txt: Mention sharutils.
3613
3614 2011-01-28  Simon Josefsson  <simon@josefsson.org>
3615
3616         * users.txt: Mention OATH Toolkit.
3617
3618 2011-01-27  Bruno Haible  <bruno@clisp.org>
3619
3620         Prepare for supporting FreeBSD 10.
3621         * build-aux/config.libpath: Remove handling of freebsd1*.
3622
3623 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
3624
3625         Prepare for supporting FreeBSD 10.
3626         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
3627         match FreeBSD 10.0.
3628
3629 2011-01-27  Bruno Haible  <bruno@clisp.org>
3630
3631         vma-iter, get-rusage-as: Add OpenBSD support.
3632         * modules/vma-iter (configure.ac): Test for mquery.
3633         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
3634         * lib/vma-iter.c: Include <sys/mman.h>.
3635         (vma_iterate): Add an implementation based on mquery().
3636         * lib/resource-ext.h (get_rusage_as): Update comments.
3637         * lib/get-rusage-as.c: Likewise.
3638         * lib/get-rusage-data.c: Likewise.
3639
3640 2011-01-26  Karl Berry  <karl@gnu.org>
3641
3642         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
3643         variables to make it easier to override the makeinfo program used.
3644
3645 2011-01-26  Eric Blake  <eblake@redhat.com>
3646
3647         fcntl: work around Haiku F_DUPFD bugs
3648         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
3649         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
3650         cloexec bit on duplication.
3651         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
3652
3653 2011-01-26  Bruno Haible  <bruno@clisp.org>
3654
3655         Enable memory leak tests on AIX.
3656         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
3657         * tests/test-fprintf-posix3.c (main): Likewise.
3658
3659 2011-01-26  Bruno Haible  <bruno@clisp.org>
3660
3661         Tests for module 'get-rusage-data'.
3662         * modules/get-rusage-data-tests: New file.
3663         * tests/test-get-rusage-data.c: New file.
3664
3665         New module 'get-rusage-data'.
3666         * lib/resource-ext.h (get_rusage_data): New declaration.
3667         * lib/get-rusage-data.c: New file.
3668         * modules/get-rusage-data: New file.
3669
3670 2011-01-25  Bruno Haible  <bruno@clisp.org>
3671
3672         get-rusage-as: Allow for easier testing.
3673         * lib/resource-ext.h (get_rusage_as): Add comment.
3674         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
3675         (main): New function for interactive testing.
3676
3677 2011-01-25  Bruno Haible  <bruno@clisp.org>
3678
3679         vma-iter: Treat Haiku like BeOS.
3680         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
3681         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
3682
3683 2011-01-25  Eric Blake  <eblake@redhat.com>
3684
3685         c-stack: fix regression on cygwin when libsigsegv is present
3686         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3687
3688 2011-01-24  Bruno Haible  <bruno@clisp.org>
3689
3690         vma-iter: Avoid empty intervals.
3691         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3692         on an empty interval.
3693
3694 2011-01-24  Jim Meyering  <meyering@redhat.com>
3695
3696         u64: remove unnecessary #include
3697         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3698
3699 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3700
3701         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3702         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3703
3704 2011-01-23  Bruno Haible  <bruno@clisp.org>
3705
3706         New module 'vma-iter'.
3707         * lib/vma-iter.h: New file.
3708         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3709         * modules/vma-iter: New file.
3710         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3711         for get_rusage_as_via_iterator.
3712         (vma_iterate_callback): New function.
3713         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3714         * modules/get-rusage-as (Depends-on): Add vma-iter.
3715
3716 2011-01-23  Bruno Haible  <bruno@clisp.org>
3717
3718         uninorm: Tweak includes.
3719         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3720         Reported by Jim Meyering.
3721
3722 2011-01-23  Bruno Haible  <bruno@clisp.org>
3723
3724         get-rusage-as: Improve on NetBSD.
3725         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3726         /proc, like on FreeBSD.
3727
3728 2011-01-23  Jim Meyering  <meyering@redhat.com>
3729
3730         xreadlink.h: remove unnecessary #include
3731         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3732
3733         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3734         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3735
3736 2011-01-23  Bruno Haible  <bruno@clisp.org>
3737
3738         get-rusage-as: Fix bug.
3739         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3740         original limit when aborting the first loop.
3741
3742 2011-01-23  Bruno Haible  <bruno@clisp.org>
3743
3744         wctype: Ensure valid C syntax.
3745         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3746         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3747
3748 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3749
3750         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3752         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3753         as they are needed only for configure's test case.
3754         This removes two unnecessary symbols from config.h.
3755
3756         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3757         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3758         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3759         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3760         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3761         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3762         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3763         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3764         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3765         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3766         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3767         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3768         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3769         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3770         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3771         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3772         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3773         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3774
3775 2011-01-21  Eric Blake  <eblake@redhat.com>
3776
3777         maintainer-makefile: work with older git for submodule check
3778         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3779         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3780         Reported by Matthias Bolte.
3781
3782         bootstrap: minor portability fixes
3783         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3784         (usage): Omit leading capital and trailing . on help phrases, per
3785         GNU Coding Standards.
3786         (check_versions, top level): Prefix messages with script name.
3787
3788 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3789
3790         bootstrap: support --no-git option
3791         * build-aux/bootstrap: Add --no-git option, to be used when
3792         --gnulib-srcdir points to the exact desired checkout.
3793
3794 2011-01-21  Eric Blake  <eblake@redhat.com>
3795
3796         strerror_r-posix: work with glibc 2.13
3797         * lib/strerror_r.c (strerror_r): Fix return type.
3798
3799 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3800             Bruno Haible  <bruno@clisp.org>
3801
3802         uN_strstr: New unit tests.
3803         * modules/unistr/u8-strstr-tests: New file.
3804         * modules/unistr/u16-strstr-tests: New file.
3805         * modules/unistr/u32-strstr-tests: New file.
3806         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3807         * tests/unistr/test-u8-strstr.c: New file.
3808         * tests/unistr/test-u16-strstr.c: New file.
3809         * tests/unistr/test-u32-strstr.c: New file.
3810
3811 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3812             Bruno Haible  <bruno@clisp.org>
3813
3814         Make uN_strstr functions O(n) worst-case.
3815         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3816         16-bit and 32-bit unit cases, use the unibyte algorithm from
3817         lib/mbsstr.c.
3818         * lib/unistr/u8-strstr.c: Include <string.h>.
3819         (UNIT_IS_UINT8_T): New macro.
3820         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3821         (U_STRLEN, U_STRNLEN): New macros.
3822         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3823         (U_STRLEN, U_STRNLEN): New macros.
3824         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3825         (configure.ac): Update required libunistring version.
3826         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3827         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3828         malloca.
3829         (configure.ac): Update required libunistring version.
3830         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3831         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3832         malloca.
3833         (configure.ac): Update required libunistring version.
3834
3835 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3836             Bruno Haible  <bruno@clisp.org>
3837
3838         Prepare for faster uN_strstr functions.
3839         * lib/str-kmp.h: Support definable UNITs.
3840         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3841         needle_len argument.
3842         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3843         * lib/mbscasestr.c (mbscasestr): Likewise.
3844
3845 2011-01-21  Pádraig Brady <P@draigBrady.com>
3846
3847         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3848         * tests/test-malloca.c (main): Unset the environment variable
3849         to greatly speed up the test.
3850         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3851         * modules/malloca-tests: Depend on unsetenv.
3852
3853 2011-01-21  Pádraig Brady <P@draigBrady.com>
3854
3855         ignore-value: remove stdint dependency
3856         * lib/ignore-value.h: Remove <stdint.h>
3857         * modules/ignore-value: Remove stdint dependency.
3858
3859 2011-01-21  Jim Meyering  <meyering@redhat.com>
3860
3861         maint.mk: adjust variable name to be consistent with other gl_ vars
3862         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3863         to be lower case.
3864
3865 2011-01-20  Jim Meyering  <meyering@redhat.com>
3866
3867         maint.mk: make "check" depend on public-submodule-commit by default
3868         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3869
3870 2011-01-20  Bruno Haible  <bruno@clisp.org>
3871
3872         mbfile, mbiter: Complete change from 2008-12-21.
3873         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3874         * m4/mbiter.m4 (gl_MBITER): Likewise.
3875
3876 2011-01-20  Jim Meyering  <meyering@redhat.com>
3877
3878         init.sh: insert space between each function name and "()"
3879         * tests/init.sh: Make it a little easier to see that a function's
3880         name is "warn_", and not "warn" when looking at the first part of
3881         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3882
3883 2011-01-20  Jim Meyering  <meyering@redhat.com>
3884
3885         mountlist: clean up code formatting
3886         * lib/mountlist.c (read_file_system_list): Split a long line,
3887         correct bracing style, use NULL in place of "(struct statfs *)0",
3888         don't parenthesize return value, add spaces around "=" and after
3889         ";-in-for-stmt".
3890
3891 2011-01-14  Markus Duft <mduft@gentoo.org>
3892
3893         mountlist: add support for Interix
3894         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3895         Apply statvfs to all entries of /dev/fs.
3896         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3897         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3898
3899 2011-01-20  Jim Meyering  <meyering@redhat.com>
3900
3901         maint.mk: improve the public-submodule-commit rule
3902         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3903         to suppress printing of its commands... unless V=1.
3904         Add git submodule's --quiet option to suppress printing of e.g.,
3905         "Entering gnulib" output.
3906         "cd" into $(srcdir) before running git submodule.
3907
3908 2011-01-20  Bruno Haible  <bruno@clisp.org>
3909
3910         include_next: Fix bug introduced on 2011-01-18.
3911         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3912         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3913         ac_cv_header_... variable if the second argument is not 'check'.
3914         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3915         gl_NEXT_HEADERS_INTERNAL.
3916
3917 2011-01-20  Bruno Haible  <bruno@clisp.org>
3918
3919         Allow the user to avoid the GNULIB_TEST_* macros.
3920         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
3921         Suggested by Paul Eggert.
3922
3923 2011-01-14  Jim Meyering  <meyering@redhat.com>
3924
3925         bootstrap: avoid failure when there is no .gitmodules file
3926         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
3927         has been assigned to, even when its value is the empty string.
3928         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
3929         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
3930         Reported by John W. Eaton <jwe@gnu.org>.
3931
3932 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3933
3934         assume <ctype.h>, ..., <time.h> exist
3935         For years gnulib has been assuming the existence of the headers
3936         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
3937         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
3938         them, since they don't appear to be needed.
3939         * README (Portability guidelines): Document this.
3940         * lib/flock.c: Assume <fcntl.h> exists.
3941         * lib/regex_internal.h: Assume <locale.h> exists.
3942         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
3943         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
3944         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
3945         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
3946         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
3947         * m4/regex.m4 (gl_REGEX): Likewise.
3948         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
3949         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
3950         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
3951         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
3952         * tests/test-argp.c: Likewise.
3953         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
3954
3955         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
3956         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
3957         AA_APPLE_UNIVERSAL_BUILD.  See
3958         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
3959         * NEWS: Document this.
3960
3961 2011-01-19  Eric Blake  <eblake@redhat.com>
3962
3963         c-stack: assume stack overflow if SA_SIGINFO unsupported
3964         * lib/c-stack.c (SIGACTION_WORKS): Rename...
3965         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
3966         sigaction will work.
3967         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
3968         behavior match Linux.
3969         * tests/test-c-stack.c (main): Prefer NULL for pointers.
3970
3971         stdbool-tests: accomodate Haiku
3972         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
3973
3974         binary-io: fix O_TEXT on Haiku
3975         * modules/binary-io (Depends-on): Add fcntl-h.
3976         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
3977         than blindly undefining O_TEXT.
3978         Reported by Scott McCreary.
3979
3980 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3981
3982         include_next: do not check for standard headers like stddef.h
3983
3984         I found this problem when modifying Emacs to use gnulib.
3985         I noticed that it added HAVE_STDDEF_H to config.h, even though
3986         gnulib always assumes <stddef.h> exists as per README and this
3987         symbol is unnecessary.
3988         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
3989         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
3990         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
3991         faster for headers like stddef.h that are known to exist.
3992         (gl_CHECK_NEXT_HEADERS): Use it.
3993         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
3994         rather than gl_CHECK_NEXT_HEADERS.
3995         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
3996         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
3997
3998 2011-01-18  Eric Blake  <eblake@redhat.com>
3999
4000         ansi-c++-opt: skip C++ dependency style if C++ is unused
4001         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
4002         tests when we know C++ compilation is not desired.
4003         Reported by Scott McCreary.
4004
4005 2011-01-18  Bruno Haible  <bruno@clisp.org>
4006
4007         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
4008         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
4009         (main): Perform test also when getrlimit and setrlimit don't exist or
4010         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
4011         limiting the address space size using setrlimit, compare the address
4012         space size before and after the the test.
4013         * tests/test-dprintf-posix2.c: Likewise.
4014         * tests/test-fprintf-posix3.sh: Update skip messages.
4015         * tests/test-dprintf-posix2.sh: Likewise.
4016         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
4017         * modules/dprintf-posix-tests (Depends-on): Likewise.
4018         Reported by Bruce Korb <bkorb@gnu.org> and
4019         Gary V. Vaughan <gary@gnu.org>.
4020
4021 2011-01-18  Bruno Haible  <bruno@clisp.org>
4022
4023         get-rusage-as: Improvement for Cygwin.
4024         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
4025         areas that are merely reserved.
4026
4027 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4028
4029         strftime: remove dependencies on multibyte modules
4030
4031         strftime depended on mbrlen, mbsinit, and wchar, but these modules
4032         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
4033         only if __osf__ is defined, and I suspect OSF doesn't need these
4034         other modules.  If my guess is wrong, we'll need to come up with a
4035         variant of strftime that doesn't need the multibyte modules.
4036
4037         I discovered this problem when attempting modify Emacs to use the
4038         strftime module.  With the previous gnulib, this caused Emacs to
4039         need 31 new files, ranging from lib/config.charset to
4040         m4/wint_t.m4.  This was overkill and I expect would be offputting
4041         to the Emacs maintainers.  After this change, only 6 new files are
4042         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
4043         stdbool.m4, and tm_gmtoff.m4.
4044
4045         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
4046         Suggested by Bruno Haible in
4047         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
4048         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
4049         and do not check for wchar.h.
4050         * modules/strftime (Files): Remove m4/mbstate_t.m4.
4051         (Depends-on): Remove mbrlen, mbsinit, wchar.
4052
4053 2011-01-18  Bruno Haible  <bruno@clisp.org>
4054
4055         Tests for module 'get-rusage-as'.
4056         * modules/get-rusage-as-tests: New file.
4057         * tests/test-get-rusage-as.c: New file.
4058
4059         New module 'get-rusage-as'.
4060         * modules/get-rusage-as: New file.
4061         * lib/resource-ext.h: New file.
4062         * lib/get-rusage-as.c: New file.
4063
4064 2011-01-17  Eric Blake  <eblake@redhat.com>
4065
4066         sigaction: relax license from LGPLv3+ to LGPLv2+
4067         * modules/sigaction (License): Relax to LGPLv2+.
4068
4069 2011-01-14  Bruno Haible  <bruno@clisp.org>
4070
4071         filemode: Make function declarations usable in C++ mode.
4072         * lib/filemode.h: Enclose function declarations in extern "C" block.
4073         Reported by John W. Eaton <jwe@gnu.org>.
4074
4075 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
4076
4077         save-cwd: no longer include "xgetcwd.h"
4078         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
4079         This avoids a compilation failure in projects that use save-cwd
4080         without also using the xgetcwd module.
4081
4082 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4083
4084         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
4085         This is so that a program like Emacs, which needs only dtoastr,
4086         does not have to bother with distributing and compiling ftoastr
4087         and ldtoastr.
4088         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
4089         * modules/dtoastr, modules/ldtoastr: New files.
4090         * modules/ftoastr: Now works just for 'float'.
4091         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
4092         (Makefile.am): Remove ftoastr.h (not needed and no effect),
4093         dtoastr.c, ldtoastr.c.
4094
4095 2011-01-11  Jim Meyering  <meyering@redhat.com>
4096
4097         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
4098         There is no need to work around the lack of the fchdir function,
4099         since gnulib can now provide a replacement when required.
4100         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
4101         * modules/save-cwd (Depends-on): Add fchdir.
4102
4103 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4104
4105         openat, save-cwd: avoid xmalloc
4106
4107         This removes a direct (but undocumented) dependency of openat on
4108         xalloc, along with an indirect dependency via save-cwd.  It also
4109         removes a dependency of save-cwd on xgetcwd, and thereby
4110         indirectly on xalloc.  This change causes the openat substitute
4111         to fall back on save_cwd when memory is tight, and for save_cwd to
4112         fail instead of dying when memory is tight, but that's good enough.
4113         Problem and initial idea for fix reported by Bastien Roucaries in
4114         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
4115
4116         * lib/openat-proc.c: Include stdlib.h (for malloc), not
4117         xalloc.h (for xmalloc).
4118         (openat_proc_name): Use malloc, not xmalloc.
4119         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
4120         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
4121
4122         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
4123         This avoids heap allocation for file names whose lengths are in
4124         the range 512..1023, with the upper bound increasing to at most
4125         4031 depending on the platform's PATH_MAX.  (We do not want
4126         pathmax.h here as it might supply a non-constant PATH_MAX.)
4127         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
4128         Perhaps they should be moved to malloca.h?
4129         (OPENAT_BUFFER_SIZE): Use them.
4130
4131 2011-01-10  Bruno Haible  <bruno@clisp.org>
4132
4133         doc: Update users.txt.
4134         * users.txt: Add recutils.
4135
4136 2011-01-09  Karl Berry  <karl@gnu.org>
4137
4138         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
4139
4140         * doc/configmake.texi: New file.
4141         * doc/gnulib.texi: Include it.
4142         * modules/configmake: Move documentation from here.
4143
4144 2011-01-09  Bruno Haible  <bruno@clisp.org>
4145
4146         Update to Unicode 6.0.0.
4147         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
4148         (get_lbp): Update for Unicode 6.0.0.
4149         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
4150         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
4151         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
4152         U+11001, U+11038..U+11046. Remove U+06DE.
4153         (uc_width): Fix bounds of planes.
4154         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4155         lib/uniwidth/width.c.
4156         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
4157         trailing whitespace removed.
4158         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
4159         without comments, but with the original copyright notice.
4160         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
4161         * lib/unicase/ignorable.h: Likewise.
4162         * lib/unicase/tocasefold.h: Likewise.
4163         * lib/unicase/tolower.h: Likewise.
4164         * lib/unicase/totitle.h: Likewise.
4165         * lib/unicase/toupper.h: Likewise.
4166         * lib/unictype/bidi_of.h: Likewise.
4167         * lib/unictype/blocks.h: Likewise.
4168         * lib/unictype/categ_C.h: Likewise.
4169         * lib/unictype/categ_Cn.h: Likewise.
4170         * lib/unictype/categ_L.h: Likewise.
4171         * lib/unictype/categ_Ll.h: Likewise.
4172         * lib/unictype/categ_Lm.h: Likewise.
4173         * lib/unictype/categ_Lo.h: Likewise.
4174         * lib/unictype/categ_Lu.h: Likewise.
4175         * lib/unictype/categ_M.h: Likewise.
4176         * lib/unictype/categ_Mc.h: Likewise.
4177         * lib/unictype/categ_Me.h: Likewise.
4178         * lib/unictype/categ_Mn.h: Likewise.
4179         * lib/unictype/categ_N.h: Likewise.
4180         * lib/unictype/categ_Nd.h: Likewise.
4181         * lib/unictype/categ_No.h: Likewise.
4182         * lib/unictype/categ_P.h: Likewise.
4183         * lib/unictype/categ_Po.h: Likewise.
4184         * lib/unictype/categ_S.h: Likewise.
4185         * lib/unictype/categ_Sc.h: Likewise.
4186         * lib/unictype/categ_Sk.h: Likewise.
4187         * lib/unictype/categ_Sm.h: Likewise.
4188         * lib/unictype/categ_So.h: Likewise.
4189         * lib/unictype/categ_of.h: Likewise.
4190         * lib/unictype/combining.h: Likewise.
4191         * lib/unictype/ctype_alnum.h: Likewise.
4192         * lib/unictype/ctype_alpha.h: Likewise.
4193         * lib/unictype/ctype_graph.h: Likewise.
4194         * lib/unictype/ctype_lower.h: Likewise.
4195         * lib/unictype/ctype_print.h: Likewise.
4196         * lib/unictype/ctype_punct.h: Likewise.
4197         * lib/unictype/ctype_upper.h: Likewise.
4198         * lib/unictype/decdigit.h: Likewise.
4199         * lib/unictype/digit.h: Likewise.
4200         * lib/unictype/numeric.h: Likewise.
4201         * lib/unictype/pr_alphabetic.h: Likewise.
4202         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4203         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4204         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4205         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4206         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4207         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4208         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4209         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4210         * lib/unictype/pr_case_ignorable.h: Likewise.
4211         * lib/unictype/pr_cased.h: Likewise.
4212         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
4213         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
4214         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
4215         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
4216         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
4217         * lib/unictype/pr_combining.h: Likewise.
4218         * lib/unictype/pr_composite.h: Likewise.
4219         * lib/unictype/pr_currency_symbol.h: Likewise.
4220         * lib/unictype/pr_decimal_digit.h: Likewise.
4221         * lib/unictype/pr_deprecated.h: Likewise.
4222         * lib/unictype/pr_format_control.h: Likewise.
4223         * lib/unictype/pr_grapheme_base.h: Likewise.
4224         * lib/unictype/pr_grapheme_extend.h: Likewise.
4225         * lib/unictype/pr_grapheme_link.h: Likewise.
4226         * lib/unictype/pr_id_continue.h: Likewise.
4227         * lib/unictype/pr_id_start.h: Likewise.
4228         * lib/unictype/pr_ideographic.h: Likewise.
4229         * lib/unictype/pr_lowercase.h: Likewise.
4230         * lib/unictype/pr_math.h: Likewise.
4231         * lib/unictype/pr_numeric.h: Likewise.
4232         * lib/unictype/pr_other_alphabetic.h: Likewise.
4233         * lib/unictype/pr_other_id_continue.h: Likewise.
4234         * lib/unictype/pr_other_math.h: Likewise.
4235         * lib/unictype/pr_punctuation.h: Likewise.
4236         * lib/unictype/pr_sentence_terminal.h: Likewise.
4237         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4238         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4239         * lib/unictype/pr_unified_ideograph.h: Likewise.
4240         * lib/unictype/pr_uppercase.h: Likewise.
4241         * lib/unictype/pr_xid_continue.h: Likewise.
4242         * lib/unictype/pr_xid_start.h: Likewise.
4243         * lib/unictype/scripts.h: Likewise.
4244         * lib/unictype/scripts_byname.gperf: Likewise.
4245         * lib/unictype/sy_java_ident.h: Likewise.
4246         * lib/unigbrk/gbrkprop.h: Likewise.
4247         * lib/unilbrk/lbrkprop1.h: Likewise.
4248         * lib/unilbrk/lbrkprop2.h: Likewise.
4249         * lib/uninorm/decomposition-table2.h: Likewise.
4250         * lib/uniwbrk/wbrkprop.h: Likewise.
4251         * tests/unicase/test-cased.c: Likewise.
4252         * tests/unicase/test-ignorable.c: Likewise.
4253         * tests/unicase/test-uc_tolower.c: Likewise.
4254         * tests/unicase/test-uc_totitle.c: Likewise.
4255         * tests/unicase/test-uc_toupper.c: Likewise.
4256         * tests/unictype/test-categ_C.c: Likewise.
4257         * tests/unictype/test-categ_Cn.c: Likewise.
4258         * tests/unictype/test-categ_L.c: Likewise.
4259         * tests/unictype/test-categ_Ll.c: Likewise.
4260         * tests/unictype/test-categ_Lm.c: Likewise.
4261         * tests/unictype/test-categ_Lo.c: Likewise.
4262         * tests/unictype/test-categ_Lu.c: Likewise.
4263         * tests/unictype/test-categ_M.c: Likewise.
4264         * tests/unictype/test-categ_Mc.c: Likewise.
4265         * tests/unictype/test-categ_Me.c: Likewise.
4266         * tests/unictype/test-categ_Mn.c: Likewise.
4267         * tests/unictype/test-categ_N.c: Likewise.
4268         * tests/unictype/test-categ_Nd.c: Likewise.
4269         * tests/unictype/test-categ_No.c: Likewise.
4270         * tests/unictype/test-categ_P.c: Likewise.
4271         * tests/unictype/test-categ_Po.c: Likewise.
4272         * tests/unictype/test-categ_S.c: Likewise.
4273         * tests/unictype/test-categ_Sc.c: Likewise.
4274         * tests/unictype/test-categ_Sk.c: Likewise.
4275         * tests/unictype/test-categ_Sm.c: Likewise.
4276         * tests/unictype/test-categ_So.c: Likewise.
4277         * tests/unictype/test-ctype_alnum.c: Likewise.
4278         * tests/unictype/test-ctype_alpha.c: Likewise.
4279         * tests/unictype/test-ctype_graph.c: Likewise.
4280         * tests/unictype/test-ctype_lower.c: Likewise.
4281         * tests/unictype/test-ctype_print.c: Likewise.
4282         * tests/unictype/test-ctype_punct.c: Likewise.
4283         * tests/unictype/test-ctype_upper.c: Likewise.
4284         * tests/unictype/test-decdigit.h: Likewise.
4285         * tests/unictype/test-digit.h: Likewise.
4286         * tests/unictype/test-numeric.h: Likewise.
4287         * tests/unictype/test-pr_alphabetic.c: Likewise.
4288         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4289         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
4290         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
4291         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4292         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4293         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4294         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4295         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4296         * tests/unictype/test-pr_case_ignorable.c: Likewise.
4297         * tests/unictype/test-pr_cased.c: Likewise.
4298         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
4299         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
4300         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
4301         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
4302         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
4303         * tests/unictype/test-pr_combining.c: Likewise.
4304         * tests/unictype/test-pr_composite.c: Likewise.
4305         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4306         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4307         * tests/unictype/test-pr_deprecated.c: Likewise.
4308         * tests/unictype/test-pr_format_control.c: Likewise.
4309         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4310         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4311         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4312         * tests/unictype/test-pr_id_continue.c: Likewise.
4313         * tests/unictype/test-pr_id_start.c: Likewise.
4314         * tests/unictype/test-pr_ideographic.c: Likewise.
4315         * tests/unictype/test-pr_lowercase.c: Likewise.
4316         * tests/unictype/test-pr_math.c: Likewise.
4317         * tests/unictype/test-pr_numeric.c: Likewise.
4318         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4319         * tests/unictype/test-pr_other_id_continue.c: Likewise.
4320         * tests/unictype/test-pr_other_math.c: Likewise.
4321         * tests/unictype/test-pr_punctuation.c: Likewise.
4322         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4323         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4324         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4325         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4326         * tests/unictype/test-pr_uppercase.c: Likewise.
4327         * tests/unictype/test-pr_xid_continue.c: Likewise.
4328         * tests/unictype/test-pr_xid_start.c: Likewise.
4329         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4330         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4331         changes.
4332         * lib/unictype/categ_Cc.h: Likewise.
4333         * lib/unictype/categ_Cf.h: Likewise.
4334         * lib/unictype/categ_Co.h: Likewise.
4335         * lib/unictype/categ_Cs.h: Likewise.
4336         * lib/unictype/categ_Lt.h: Likewise.
4337         * lib/unictype/categ_Nl.h: Likewise.
4338         * lib/unictype/categ_Pc.h: Likewise.
4339         * lib/unictype/categ_Pd.h: Likewise.
4340         * lib/unictype/categ_Pe.h: Likewise.
4341         * lib/unictype/categ_Pf.h: Likewise.
4342         * lib/unictype/categ_Pi.h: Likewise.
4343         * lib/unictype/categ_Ps.h: Likewise.
4344         * lib/unictype/categ_Z.h: Likewise.
4345         * lib/unictype/categ_Zl.h: Likewise.
4346         * lib/unictype/categ_Zp.h: Likewise.
4347         * lib/unictype/categ_Zs.h: Likewise.
4348         * lib/unictype/ctype_blank.h: Likewise.
4349         * lib/unictype/ctype_cntrl.h: Likewise.
4350         * lib/unictype/ctype_digit.h: Likewise.
4351         * lib/unictype/ctype_space.h: Likewise.
4352         * lib/unictype/ctype_xdigit.h: Likewise.
4353         * lib/unictype/mirror.h: Likewise.
4354         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4355         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4356         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4357         * lib/unictype/pr_bidi_control.h: Likewise.
4358         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4359         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4360         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4361         * lib/unictype/pr_bidi_pdf.h: Likewise.
4362         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4363         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4364         * lib/unictype/pr_dash.h: Likewise.
4365         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4366         * lib/unictype/pr_diacritic.h: Likewise.
4367         * lib/unictype/pr_extender.h: Likewise.
4368         * lib/unictype/pr_hex_digit.h: Likewise.
4369         * lib/unictype/pr_hyphen.h: Likewise.
4370         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4371         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4372         * lib/unictype/pr_ignorable_control.h: Likewise.
4373         * lib/unictype/pr_iso_control.h: Likewise.
4374         * lib/unictype/pr_join_control.h: Likewise.
4375         * lib/unictype/pr_left_of_pair.h: Likewise.
4376         * lib/unictype/pr_line_separator.h: Likewise.
4377         * lib/unictype/pr_logical_order_exception.h: Likewise.
4378         * lib/unictype/pr_non_break.h: Likewise.
4379         * lib/unictype/pr_not_a_character.h: Likewise.
4380         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4381         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4382         * lib/unictype/pr_other_id_start.h: Likewise.
4383         * lib/unictype/pr_other_lowercase.h: Likewise.
4384         * lib/unictype/pr_other_uppercase.h: Likewise.
4385         * lib/unictype/pr_paired_punctuation.h: Likewise.
4386         * lib/unictype/pr_paragraph_separator.h: Likewise.
4387         * lib/unictype/pr_pattern_syntax.h: Likewise.
4388         * lib/unictype/pr_pattern_white_space.h: Likewise.
4389         * lib/unictype/pr_private_use.h: Likewise.
4390         * lib/unictype/pr_quotation_mark.h: Likewise.
4391         * lib/unictype/pr_radical.h: Likewise.
4392         * lib/unictype/pr_soft_dotted.h: Likewise.
4393         * lib/unictype/pr_space.h: Likewise.
4394         * lib/unictype/pr_titlecase.h: Likewise.
4395         * lib/unictype/pr_variation_selector.h: Likewise.
4396         * lib/unictype/pr_white_space.h: Likewise.
4397         * lib/unictype/pr_zero_width.h: Likewise.
4398         * lib/unictype/sy_c_ident.h: Likewise.
4399         * lib/unictype/sy_c_whitespace.h: Likewise.
4400         * lib/unictype/sy_java_whitespace.h: Likewise.
4401         * lib/uninorm/composition-table.gperf: Likewise.
4402         * lib/uninorm/decomposition-table1.h: Likewise.
4403         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
4404         LB8.
4405         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4406         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4407         * modules/unictype/*: Bump version number of expected libunistring
4408         version.
4409
4410 2011-01-09  Bruno Haible  <bruno@clisp.org>
4411
4412         Update to Unicode 5.2.0.
4413         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
4414         trailing whitespace removed.
4415
4416 2011-01-09  Bruno Haible  <bruno@clisp.org>
4417
4418         New Unicode character properties, from Unicode 5.2.0.
4419         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
4420         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
4421         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
4422         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
4423         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
4424         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
4425         uc_is_property_cased, uc_is_property_case_ignorable,
4426         uc_is_property_changes_when_lowercased,
4427         uc_is_property_changes_when_uppercased,
4428         uc_is_property_changes_when_titlecased,
4429         uc_is_property_changes_when_casefolded,
4430         uc_is_property_changes_when_casemapped): New declarations.
4431         * lib/unictype/pr_byname.gperf: Add the new properties.
4432         * modules/unictype/property-byname (Depends-on): Depend on the new
4433         properties modules.
4434         * modules/unictype/property-all (Depends-on): Likewise.
4435         * MODULES.html.sh (Unicode string functions): Add
4436         unictype/property-case-ignorable, unictype/property-cased,
4437         unictype/property-changes-when-casefolded,
4438         unictype/property-changes-when-casemapped,
4439         unictype/property-changes-when-lowercased,
4440         unictype/property-changes-when-titlecased,
4441         unictype/property-changes-when-uppercased.
4442
4443         New module 'unictype/property-changes-when-casemapped'.
4444         * modules/unictype/property-changes-when-casemapped: New file.
4445         * lib/unictype/pr_changes_when_casemapped.c: New file.
4446         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
4447         generated by gen-uni-tables.
4448         * modules/unictype/property-changes-when-casemapped-tests: New file.
4449         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
4450         automatically generated by gen-uni-tables.
4451
4452         New module 'unictype/property-changes-when-casefolded'.
4453         * modules/unictype/property-changes-when-casefolded: New file.
4454         * lib/unictype/pr_changes_when_casefolded.c: New file.
4455         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
4456         generated by gen-uni-tables.
4457         * modules/unictype/property-changes-when-casefolded-tests: New file.
4458         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
4459         automatically generated by gen-uni-tables.
4460
4461         New module 'unictype/property-changes-when-titlecased'.
4462         * modules/unictype/property-changes-when-titlecased: New file.
4463         * lib/unictype/pr_changes_when_titlecased.c: New file.
4464         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
4465         generated by gen-uni-tables.
4466         * modules/unictype/property-changes-when-titlecased-tests: New file.
4467         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
4468         automatically generated by gen-uni-tables.
4469
4470         New module 'unictype/property-changes-when-uppercased'.
4471         * modules/unictype/property-changes-when-uppercased: New file.
4472         * lib/unictype/pr_changes_when_uppercased.c: New file.
4473         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
4474         generated by gen-uni-tables.
4475         * modules/unictype/property-changes-when-uppercased-tests: New file.
4476         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
4477         automatically generated by gen-uni-tables.
4478
4479         New module 'unictype/property-changes-when-lowercased'.
4480         * modules/unictype/property-changes-when-lowercased: New file.
4481         * lib/unictype/pr_changes_when_lowercased.c: New file.
4482         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
4483         generated by gen-uni-tables.
4484         * modules/unictype/property-changes-when-lowercased-tests: New file.
4485         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
4486         automatically generated by gen-uni-tables.
4487
4488         New module 'unictype/property-case-ignorable'.
4489         * modules/unictype/property-case-ignorable: New file.
4490         * lib/unictype/pr_case_ignorable.c: New file.
4491         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
4492         by gen-uni-tables.
4493         * modules/unictype/property-case-ignorable-tests: New file.
4494         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
4495         generated by gen-uni-tables.
4496
4497         New module 'unictype/property-cased'.
4498         * modules/unictype/property-cased: New file.
4499         * lib/unictype/pr_cased.c: New file.
4500         * lib/unictype/pr_cased.h: New file, automatically generated by
4501         gen-uni-tables.
4502         * modules/unictype/property-cased-tests: New file.
4503         * tests/unictype/test-pr_cased.c: New file, automatically generated by
4504         gen-uni-tables.
4505
4506 2011-01-09  Bruno Haible  <bruno@clisp.org>
4507
4508         Update to Unicode 5.2.0.
4509         * lib/gen-uni-tables.c (output_predicate, output_category,
4510         output_combclass, output_bidi_category, output_decimal_digit_test,
4511         output_decimal_digit, output_digit_test, output_digit,
4512         output_numeric_test, output_numeric, output_mirror, output_scripts,
4513         output_scripts_byname, output_blocks, output_ident_category): Fix
4514         comment header.
4515         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
4516         get_wbp.
4517         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
4518         items.
4519         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
4520         Changes_When_Lowercased, Changes_When_Uppercased,
4521         Changes_When_Titlecased, Changes_When_Casefolded,
4522         Changes_When_Casemapped.
4523         (is_property_alphabetic, is_property_default_ignorable_code_point):
4524         Update for Unicode 5.2.0.
4525         (is_property_cased, is_property_case_ignorable,
4526         is_property_changes_when_lowercased,
4527         is_property_changes_when_uppercased,
4528         is_property_changes_when_titlecased,
4529         is_property_changes_when_casefolded,
4530         is_property_changes_when_casemapped): New functions.
4531         (output_properties): Output also the properties cased, case_ignorable,
4532         changes_when_lowercased, changes_when_uppercased,
4533         changes_when_titlecased, changes_when_casefolded,
4534         changes_when_casemapped.
4535         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
4536         Unicode TR#11 revision 17 -> 19.
4537         (LBP_CP): New enumeration value.
4538         (LBP_*): Adjust values accordingly.
4539         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4540         TR#14 revision 22 -> 24.
4541         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
4542         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
4543         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4544         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
4545         is_WBP_MIDLETTER.
4546         (output_composition_tables): Allow for 24 bits instead of 16 bits in
4547         the code1 and code2 of each composition rule.
4548         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
4549         * lib/unicase/ignorable.h: Likewise.
4550         * lib/unicase/tocasefold.h: Likewise.
4551         * lib/unicase/tolower.h: Likewise.
4552         * lib/unicase/totitle.h: Likewise.
4553         * lib/unicase/toupper.h: Likewise.
4554         * lib/unictype/bidi_of.h: Likewise.
4555         * lib/unictype/blocks.h: Likewise.
4556         * lib/unictype/categ_C.h: Likewise.
4557         * lib/unictype/categ_Cf.h: Likewise.
4558         * lib/unictype/categ_Cn.h: Likewise.
4559         * lib/unictype/categ_L.h: Likewise.
4560         * lib/unictype/categ_Ll.h: Likewise.
4561         * lib/unictype/categ_Lm.h: Likewise.
4562         * lib/unictype/categ_Lo.h: Likewise.
4563         * lib/unictype/categ_Lu.h: Likewise.
4564         * lib/unictype/categ_M.h: Likewise.
4565         * lib/unictype/categ_Mc.h: Likewise.
4566         * lib/unictype/categ_Mn.h: Likewise.
4567         * lib/unictype/categ_N.h: Likewise.
4568         * lib/unictype/categ_Nd.h: Likewise.
4569         * lib/unictype/categ_Nl.h: Likewise.
4570         * lib/unictype/categ_No.h: Likewise.
4571         * lib/unictype/categ_P.h: Likewise.
4572         * lib/unictype/categ_Pd.h: Likewise.
4573         * lib/unictype/categ_Po.h: Likewise.
4574         * lib/unictype/categ_S.h: Likewise.
4575         * lib/unictype/categ_Sc.h: Likewise.
4576         * lib/unictype/categ_So.h: Likewise.
4577         * lib/unictype/categ_of.h: Likewise.
4578         * lib/unictype/combining.h: Likewise.
4579         * lib/unictype/ctype_alnum.h: Likewise.
4580         * lib/unictype/ctype_alpha.h: Likewise.
4581         * lib/unictype/ctype_graph.h: Likewise.
4582         * lib/unictype/ctype_lower.h: Likewise.
4583         * lib/unictype/ctype_print.h: Likewise.
4584         * lib/unictype/ctype_punct.h: Likewise.
4585         * lib/unictype/ctype_upper.h: Likewise.
4586         * lib/unictype/decdigit.h: Likewise.
4587         * lib/unictype/digit.h: Likewise.
4588         * lib/unictype/numeric.h: Likewise.
4589         * lib/unictype/pr_alphabetic.h: Likewise.
4590         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4591         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4592         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4593         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4594         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4595         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4596         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4597         * lib/unictype/pr_combining.h: Likewise.
4598         * lib/unictype/pr_composite.h: Likewise.
4599         * lib/unictype/pr_currency_symbol.h: Likewise.
4600         * lib/unictype/pr_dash.h: Likewise.
4601         * lib/unictype/pr_decimal_digit.h: Likewise.
4602         * lib/unictype/pr_deprecated.h: Likewise.
4603         * lib/unictype/pr_diacritic.h: Likewise.
4604         * lib/unictype/pr_extender.h: Likewise.
4605         * lib/unictype/pr_grapheme_base.h: Likewise.
4606         * lib/unictype/pr_grapheme_extend.h: Likewise.
4607         * lib/unictype/pr_grapheme_link.h: Likewise.
4608         * lib/unictype/pr_id_continue.h: Likewise.
4609         * lib/unictype/pr_id_start.h: Likewise.
4610         * lib/unictype/pr_ideographic.h: Likewise.
4611         * lib/unictype/pr_ignorable_control.h: Likewise.
4612         * lib/unictype/pr_logical_order_exception.h: Likewise.
4613         * lib/unictype/pr_lowercase.h: Likewise.
4614         * lib/unictype/pr_numeric.h: Likewise.
4615         * lib/unictype/pr_other_alphabetic.h: Likewise.
4616         * lib/unictype/pr_punctuation.h: Likewise.
4617         * lib/unictype/pr_sentence_terminal.h: Likewise.
4618         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4619         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4620         * lib/unictype/pr_unified_ideograph.h: Likewise.
4621         * lib/unictype/pr_uppercase.h: Likewise.
4622         * lib/unictype/pr_xid_continue.h: Likewise.
4623         * lib/unictype/pr_xid_start.h: Likewise.
4624         * lib/unictype/pr_zero_width.h: Likewise.
4625         * lib/unictype/scripts.h: Likewise.
4626         * lib/unictype/scripts_byname.gperf: Likewise.
4627         * lib/unictype/sy_java_ident.h: Likewise.
4628         * lib/unigbrk/gbrkprop.h: Likewise.
4629         * lib/unilbrk/lbrkprop1.h: Likewise.
4630         * lib/unilbrk/lbrkprop2.h: Likewise.
4631         * lib/unilbrk/lbrktables.h: Likewise.
4632         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
4633         LBP_CP. Implement rule LB30.
4634         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
4635         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
4636         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
4637         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
4638         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
4639         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
4640         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
4641         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
4642         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
4643         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
4644         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
4645         bits instead of 16 bits in the code1 and code2 of each composition
4646         rule.
4647         (uc_composition): Update for Unicode 5.2.0.
4648         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
4649         * lib/uninorm/decomposition-table2.h: Likewise.
4650         * lib/uniwbrk/wbrkprop.h: Likewise.
4651         * tests/unicase/test-cased.c: Likewise.
4652         * tests/unicase/test-ignorable.c: Likewise.
4653         * tests/unicase/test-uc_tolower.c: Likewise.
4654         * tests/unicase/test-uc_totitle.c: Likewise.
4655         * tests/unicase/test-uc_toupper.c: Likewise.
4656         * tests/unictype/test-categ_C.c: Likewise.
4657         * tests/unictype/test-categ_Cf.c: Likewise.
4658         * tests/unictype/test-categ_Cn.c: Likewise.
4659         * tests/unictype/test-categ_L.c: Likewise.
4660         * tests/unictype/test-categ_Ll.c: Likewise.
4661         * tests/unictype/test-categ_Lm.c: Likewise.
4662         * tests/unictype/test-categ_Lo.c: Likewise.
4663         * tests/unictype/test-categ_Lu.c: Likewise.
4664         * tests/unictype/test-categ_M.c: Likewise.
4665         * tests/unictype/test-categ_Mc.c: Likewise.
4666         * tests/unictype/test-categ_Mn.c: Likewise.
4667         * tests/unictype/test-categ_N.c: Likewise.
4668         * tests/unictype/test-categ_Nd.c: Likewise.
4669         * tests/unictype/test-categ_Nl.c: Likewise.
4670         * tests/unictype/test-categ_No.c: Likewise.
4671         * tests/unictype/test-categ_P.c: Likewise.
4672         * tests/unictype/test-categ_Pd.c: Likewise.
4673         * tests/unictype/test-categ_Po.c: Likewise.
4674         * tests/unictype/test-categ_S.c: Likewise.
4675         * tests/unictype/test-categ_Sc.c: Likewise.
4676         * tests/unictype/test-categ_So.c: Likewise.
4677         * tests/unictype/test-ctype_alnum.c: Likewise.
4678         * tests/unictype/test-ctype_alpha.c: Likewise.
4679         * tests/unictype/test-ctype_graph.c: Likewise.
4680         * tests/unictype/test-ctype_lower.c: Likewise.
4681         * tests/unictype/test-ctype_print.c: Likewise.
4682         * tests/unictype/test-ctype_punct.c: Likewise.
4683         * tests/unictype/test-ctype_upper.c: Likewise.
4684         * tests/unictype/test-decdigit.h: Likewise.
4685         * tests/unictype/test-digit.h: Likewise.
4686         * tests/unictype/test-numeric.h: Likewise.
4687         * tests/unictype/test-pr_alphabetic.c: Likewise.
4688         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4689         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4690         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4691         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4692         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4693         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4694         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4695         * tests/unictype/test-pr_combining.c: Likewise.
4696         * tests/unictype/test-pr_composite.c: Likewise.
4697         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4698         * tests/unictype/test-pr_dash.c: Likewise.
4699         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4700         * tests/unictype/test-pr_deprecated.c: Likewise.
4701         * tests/unictype/test-pr_diacritic.c: Likewise.
4702         * tests/unictype/test-pr_extender.c: Likewise.
4703         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4704         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4705         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4706         * tests/unictype/test-pr_id_continue.c: Likewise.
4707         * tests/unictype/test-pr_id_start.c: Likewise.
4708         * tests/unictype/test-pr_ideographic.c: Likewise.
4709         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4710         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4711         * tests/unictype/test-pr_lowercase.c: Likewise.
4712         * tests/unictype/test-pr_numeric.c: Likewise.
4713         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4714         * tests/unictype/test-pr_punctuation.c: Likewise.
4715         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4716         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4717         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4718         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4719         * tests/unictype/test-pr_uppercase.c: Likewise.
4720         * tests/unictype/test-pr_xid_continue.c: Likewise.
4721         * tests/unictype/test-pr_xid_start.c: Likewise.
4722         * tests/unictype/test-pr_zero_width.c: Likewise.
4723         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4724         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4725         changed behaviour: line breaking is now disallowed between a letter
4726         or '=' and '('.
4727         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4728         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4729         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4730         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4731         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4732         lib/uniwidth/width.c.
4733         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4734         without comments, but with the original copyright notice.
4735         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4736         changes.
4737         * lib/unictype/categ_Cc.h: Likewise.
4738         * lib/unictype/categ_Co.h: Likewise.
4739         * lib/unictype/categ_Cs.h: Likewise.
4740         * lib/unictype/categ_Lt.h: Likewise.
4741         * lib/unictype/categ_Me.h: Likewise.
4742         * lib/unictype/categ_Pc.h: Likewise.
4743         * lib/unictype/categ_Pe.h: Likewise.
4744         * lib/unictype/categ_Pf.h: Likewise.
4745         * lib/unictype/categ_Pi.h: Likewise.
4746         * lib/unictype/categ_Ps.h: Likewise.
4747         * lib/unictype/categ_Sk.h: Likewise.
4748         * lib/unictype/categ_Sm.h: Likewise.
4749         * lib/unictype/categ_Z.h: Likewise.
4750         * lib/unictype/categ_Zl.h: Likewise.
4751         * lib/unictype/categ_Zp.h: Likewise.
4752         * lib/unictype/categ_Zs.h: Likewise.
4753         * lib/unictype/ctype_blank.h: Likewise.
4754         * lib/unictype/ctype_cntrl.h: Likewise.
4755         * lib/unictype/ctype_digit.h: Likewise.
4756         * lib/unictype/ctype_space.h: Likewise.
4757         * lib/unictype/ctype_xdigit.h: Likewise.
4758         * lib/unictype/mirror.h: Likewise.
4759         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4760         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4761         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4762         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4763         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4764         * lib/unictype/pr_bidi_control.h: Likewise.
4765         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4766         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4767         * lib/unictype/pr_bidi_pdf.h: Likewise.
4768         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4769         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4770         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4771         * lib/unictype/pr_format_control.h: Likewise.
4772         * lib/unictype/pr_hex_digit.h: Likewise.
4773         * lib/unictype/pr_hyphen.h: Likewise.
4774         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4775         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4776         * lib/unictype/pr_iso_control.h: Likewise.
4777         * lib/unictype/pr_join_control.h: Likewise.
4778         * lib/unictype/pr_left_of_pair.h: Likewise.
4779         * lib/unictype/pr_line_separator.h: Likewise.
4780         * lib/unictype/pr_math.h: Likewise.
4781         * lib/unictype/pr_non_break.h: Likewise.
4782         * lib/unictype/pr_not_a_character.h: Likewise.
4783         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4784         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4785         * lib/unictype/pr_other_id_continue.h: Likewise.
4786         * lib/unictype/pr_other_id_start.h: Likewise.
4787         * lib/unictype/pr_other_lowercase.h: Likewise.
4788         * lib/unictype/pr_other_math.h: Likewise.
4789         * lib/unictype/pr_other_uppercase.h: Likewise.
4790         * lib/unictype/pr_paired_punctuation.h: Likewise.
4791         * lib/unictype/pr_paragraph_separator.h: Likewise.
4792         * lib/unictype/pr_pattern_syntax.h: Likewise.
4793         * lib/unictype/pr_pattern_white_space.h: Likewise.
4794         * lib/unictype/pr_private_use.h: Likewise.
4795         * lib/unictype/pr_quotation_mark.h: Likewise.
4796         * lib/unictype/pr_radical.h: Likewise.
4797         * lib/unictype/pr_soft_dotted.h: Likewise.
4798         * lib/unictype/pr_space.h: Likewise.
4799         * lib/unictype/pr_titlecase.h: Likewise.
4800         * lib/unictype/pr_variation_selector.h: Likewise.
4801         * lib/unictype/pr_white_space.h: Likewise.
4802         * lib/unictype/sy_c_ident.h: Likewise.
4803         * lib/unictype/sy_c_whitespace.h: Likewise.
4804         * lib/unictype/sy_java_whitespace.h: Likewise.
4805         * modules/uni*/*: Bump version number of expected libunistring version.
4806         Reported by Simon Josefsson.
4807
4808 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4809
4810         useless-if-before-free: fix typo in --help and make the internal,
4811         automatic version date update process work once again.
4812         --help output contained a NUL character instead of the
4813         backslash-zero that was intended.  Also, the "must lie within
4814         the first 8 lines" line is on line 9, and hence not getting
4815         automatically updated.
4816         * build-aux/useless-if-before-free: Fix the former by adding a
4817         backslash, and the latter by condensing the three lines of what-it-does
4818         to a single line, leaving one line of slack for the future.
4819
4820 2011-01-09  Bruno Haible  <bruno@clisp.org>
4821
4822         uniwidth/width: Fix width of U+1D173..U+1D17A.
4823         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4824         symbolic_width, output_width_property_test): New functions.
4825         (main): Invoke output_nonspacing_property, output_width_property_test.
4826         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4827         U+1D173..U+1D17A.
4828         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4829         1.
4830         * modules/uniwidth/*: Bump version number of expected libunistring
4831         version.
4832         * modules/unilbrk/*: Likewise.
4833
4834 2011-01-08  Bruno Haible  <bruno@clisp.org>
4835
4836         uninorm tests: Preserve copyright of Unicode data file.
4837         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4838         Mention modifications.
4839
4840 2011-01-08  Bruno Haible  <bruno@clisp.org>
4841
4842         gen-uni-tables: Prepare for Unicode 5.2.0.
4843         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4844         (debug_output_lbp, output_lbp): Update.
4845
4846 2011-01-08  Bruno Haible  <bruno@clisp.org>
4847
4848         unilbrk: Clarify gen-uni-tables.c code.
4849         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4850         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4851         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4852
4853 2011-01-07  Bruno Haible  <bruno@clisp.org>
4854
4855         strtod: Restore errno when successfully parsing Infinity or NaN.
4856         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4857         restore the original errno.
4858
4859 2011-01-07  Bruno Haible  <bruno@clisp.org>
4860
4861         remove test: Avoid failure on HP-UX 11.
4862         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4863
4864 2011-01-07  Bruno Haible  <bruno@clisp.org>
4865
4866         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4867         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4868         error code.
4869
4870 2011-01-07  Pádraig Brady <P@draigBrady.com>
4871
4872         ignore-value: fixup comments, and add Eric Blake
4873         as an author since he rewrote the macros.
4874         * lib/ignore-value.h (ignore_value):  State that
4875         we now support aggregates.  Also specify exactly
4876         when the GCC warn_unused_result feature was added.
4877
4878 2011-01-06  Eric Blake  <eblake@redhat.com>
4879
4880         ignore-value: support aggregate types
4881         * lib/ignore-value.h (ignore_value): Provide separate gcc
4882         definition.
4883         * modules/ignore-value-tests: New test module.
4884         * tests/test-ignore-value.c: New test.
4885
4886         maint.mk: improve sc_prohibit_strcmp regex
4887         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4888         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4889         definition of STRNEQ.
4890
4891         signal: work around Haiku issue with SIGBUS
4892         * lib/siglist.h: Add comment.
4893         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4894         strsignal's favoring of SIGSEGV.
4895         * tests/test-signal.c (main): Avoid test failure.
4896         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4897         Reported by Scott McCreary.
4898
4899         maint.mk: add pre-release check to ensure submodule commits are public
4900         * top/maint.mk (public-submodule-commit): New rule.
4901         (submodule-checks): New variable.
4902         (alpha beta stable): Depend on the variable.
4903
4904 2011-01-05  Pádraig Brady <P@draigBrady.com>
4905         and Jim Meyering  <meyering@redhat.com>
4906
4907         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4908         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4909         (ATTRIBUTE_DEPRECATED): Define.
4910         (_ignore_case): New function.
4911         (ignore_value): New macro, to replace the old function.
4912         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4913         * modules/ignore-value (Depends-on): Add stdint.
4914
4915 2011-01-04  Eric Blake  <eblake@redhat.com>
4916
4917         doc: regenerate INSTALL
4918         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4919         @firstparagraphindent support, now that autoconf dropped it.
4920         (INSTALL_PRELUDE): Reinstate old macro.
4921         * doc/install.texi: Resync from autoconf.
4922         * doc/INSTALL: Reflect recent autoconf update.
4923         * doc/INSTALL.ISO: Likewise.
4924         * doc/INSTALL.UTF-8: Likewise.
4925         Reported by Karl Berry.
4926
4927 2011-01-04  Bruce Korb  <address@hidden>
4928
4929         git-version-gen: avoid a sub-shell
4930         * build-aux/git-version-gen: Redirect stderr in `...` via
4931         "exec 2>...", rather than via an added sub-shell.
4932
4933 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
4934
4935         git-version-gen: use (...) rather than sh -c '...'
4936         * build-aux/git-version-gen: Rather than hard-coding a shell's name
4937         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
4938
4939 2011-01-03  Jim Meyering  <meyering@redhat.com>
4940
4941         git-version-gen: convert leading TABs to spaces
4942         * build-aux/git-version-gen: Expand leading TABs.
4943
4944         git-version-gen: handle failed "git rev-list"
4945         * build-aux/git-version-gen: Rather than leaking a "fatal" error
4946         from git and proceeding as if it had succeeded but printed no SHA1
4947         checksums, suppress the diagnostic and handle the failure.
4948         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
4949
4950         git-version-gen: include command name in one more diagnostic
4951         * build-aux/git-version-gen: When the required .tarball-version file
4952         was missing or unreadable, you might see the diagnostic from "cat",
4953         but no trace of the name of the invoking script.  Now, you still see
4954         the diagnostic from cat, but also get one from "git-version-gen: ".
4955         Inspired by a patch from Bruce Korb.
4956
4957         update-copyright: adjust test to match changed code
4958         * tests/test-update-copyright.sh: Change test's expected output
4959         to match new actual output.
4960
4961 2011-01-02  Bruno Haible  <bruno@clisp.org>
4962
4963         getlogin_r: Avoid test failure on HP-UX 11.
4964         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
4965         ERANGE when the second argument is zero.
4966         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
4967         portability problem.
4968
4969 2011-01-02  Bruce Korb  <bkorb@gnu.org>
4970
4971         * build-aux/update-copyright: doc Simon's changes
4972
4973 2011-01-02  Simon Josefsson  <simon@josefsson.org>
4974
4975         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
4976         environment variable.
4977
4978 2011-01-02  Bruno Haible  <bruno@clisp.org>
4979
4980         unigbrk: Avoid gcc warnings.
4981         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
4982         unused variable.
4983         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
4984         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
4985         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
4986         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
4987         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
4988         Change type of first argument to 'const char *'.
4989         (main): Remove unused variable.
4990         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
4991         type of first argument to 'const char *'.
4992         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
4993         Likewise.
4994         (main): Change type of variable 's'.
4995         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
4996         to 'int'.
4997
4998 2011-01-02  Bruno Haible  <bruno@clisp.org>
4999
5000         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
5001         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
5002         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
5003         bug.
5004         * lib/pwrite.c: Undo 2010-12-31 patch.
5005         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
5006
5007 2011-01-02  Bruno Haible  <bruno@clisp.org>
5008
5009         pread: Fix test whether it works.
5010         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
5011
5012 2011-01-02  Bruno Haible  <bruno@clisp.org>
5013
5014         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
5015         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
5016         ends in "6". Don't require a specific month name. Try also the locale
5017         names found on HP-UX 11 and Solaris 7.
5018
5019 2011-01-02  Bruno Haible  <bruno@clisp.org>
5020
5021         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
5022         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
5023         C linkage.
5024         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
5025
5026 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5027
5028         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
5029         for consistency, since the "cluster" term is not used elsewhere.
5030         * lib/unigbrk.in.h: Update name.
5031         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
5032         * lib/unigbrk/u16-grapheme-next.c: Update name.
5033         * lib/unigbrk/u16-grapheme-prev.c: Update name.
5034         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
5035         * lib/unigbrk/u32-grapheme-next.c: Update name.
5036         * lib/unigbrk/u32-grapheme-prev.c: Update name.
5037         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
5038         * lib/unigbrk/u8-grapheme-next.c: Update name.
5039         * lib/unigbrk/u8-grapheme-prev.c: Update name.
5040         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
5041         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
5042         Suggested by Bruno Haible.
5043
5044 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5045
5046         Remove module 'u8-grapheme-len' as too redundant with
5047         'u8-grapheme-next'.
5048         * modules/unigbrk/u8-grapheme-len: Delete file.
5049         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
5050         * lib/unigbrk.in.h: Remove prototype for deleted function.
5051         * lib/unigbrk/u8-grapheme-len.c: Delete file.
5052         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
5053
5054         Remove module 'u16-grapheme-len' as too redundant with
5055         'u16-grapheme-next'.
5056         * modules/unigbrk/u16-grapheme-len: Delete file.
5057         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
5058         * lib/unigbrk.in.h: Remove prototype for deleted function.
5059         * lib/unigbrk/u16-grapheme-len.c: Delete file.
5060         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
5061
5062         Remove module 'u32-grapheme-len' as too redundant with
5063         'u32-grapheme-next'.
5064         * modules/unigbrk/u32-grapheme-len: Delete file.
5065         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
5066         * lib/unigbrk.in.h: Remove prototype for deleted function.
5067         * lib/unigbrk/u32-grapheme-len.c: Delete file.
5068         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
5069
5070         Suggested by Bruno Haible.
5071
5072 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5073
5074         * unigbrk.in.h: Fix typo: "ben" => "been".
5075         Reported by Bruno Haible.
5076
5077 2011-01-01  Jim Meyering  <meyering@redhat.com>
5078
5079         maint: update almost all copyright ranges to include 2011
5080         Run the new "make update-copyright" rule.
5081
5082 2011-01-01  Jim Meyering  <meyering@redhat.com>
5083
5084         maint: update-copyright: exempt doc/INSTALL*
5085         * Makefile (update-copyright): Also exclude doc/INSTALL*,
5086         since they are generated.  Suggested by Bruno Haible.
5087
5088 2011-01-01  Jim Meyering  <meyering@redhat.com>
5089
5090         maint: refine the update-copyright rule
5091         * Makefile (update-copyright): Also exclude any file that includes
5092         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
5093         code that merely generates the comment.
5094
5095 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5096
5097         New module 'u8-grapheme-len'.
5098         * modules/unigbrk/u8-grapheme-len: New file.
5099         * modules/unigbrk/u8-grapheme-len-tests: New file.
5100         * lib/unigbrk.in.h: Add prototype for new function.
5101         * lib/unigbrk/u8-grapheme-len.c: New file.
5102         * tests/unigbrk/test-u8-grapheme-len.c: New file.
5103
5104         New module 'u16-grapheme-len'.
5105         * modules/unigbrk/u16-grapheme-len: New file.
5106         * modules/unigbrk/u16-grapheme-len-tests: New file.
5107         * lib/unigbrk.in.h: Add prototype for new function.
5108         * lib/unigbrk/u16-grapheme-len.c: New file.
5109         * tests/unigbrk/test-u16-grapheme-len.c: New file.
5110
5111         New module 'u32-grapheme-len'.
5112         * modules/unigbrk/u32-grapheme-len: New file.
5113         * modules/unigbrk/u32-grapheme-len-tests: New file.
5114         * lib/unigbrk.in.h: Add prototype for new function.
5115         * lib/unigbrk/u32-grapheme-len.c: New file.
5116         * tests/unigbrk/test-u32-grapheme-len.c: New file.
5117
5118         New module 'u8-grapheme-next'.
5119         * modules/unigbrk/u8-grapheme-next: New file.
5120         * modules/unigbrk/u8-grapheme-next-tests: New file.
5121         * lib/unigbrk.in.h: Add prototype for new function.
5122         * lib/unigbrk/u8-grapheme-next.c: New file.
5123         * tests/unigbrk/test-u8-grapheme-next.c: New file.
5124
5125         New module 'u16-grapheme-next'.
5126         * modules/unigbrk/u16-grapheme-next: New file.
5127         * modules/unigbrk/u16-grapheme-next-tests: New file.
5128         * lib/unigbrk.in.h: Add prototype for new function.
5129         * lib/unigbrk/u16-grapheme-next.c: New file.
5130         * tests/unigbrk/test-u16-grapheme-next.c: New file.
5131
5132         New module 'u32-grapheme-next'.
5133         * modules/unigbrk/u32-grapheme-next: New file.
5134         * modules/unigbrk/u32-grapheme-next-tests: New file.
5135         * lib/unigbrk.in.h: Add prototype for new function.
5136         * lib/unigbrk/u32-grapheme-next.c: New file.
5137         * tests/unigbrk/test-u32-grapheme-next.c: New file.
5138
5139         New module 'u8-grapheme-prev'.
5140         * modules/unigbrk/u8-grapheme-prev: New file.
5141         * modules/unigbrk/u8-grapheme-prev-tests: New file.
5142         * lib/unigbrk.in.h: Add prototype for new function.
5143         * lib/unigbrk/u8-grapheme-prev.c: New file.
5144         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
5145
5146         New module 'u16-grapheme-prev'.
5147         * modules/unigbrk/u16-grapheme-prev: New file.
5148         * modules/unigbrk/u16-grapheme-prev-tests: New file.
5149         * lib/unigbrk.in.h: Add prototype for new function.
5150         * lib/unigbrk/u16-grapheme-prev.c: New file.
5151         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
5152
5153         New module 'u32-grapheme-prev'.
5154         * modules/unigbrk/u32-grapheme-prev: New file.
5155         * modules/unigbrk/u32-grapheme-prev-tests: New file.
5156         * lib/unigbrk.in.h: Add prototype for new function.
5157         * lib/unigbrk/u32-grapheme-prev.c: New file.
5158         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
5159
5160         New module 'u8-grapheme-breaks'.
5161         * modules/unigbrk/u8-grapheme-breaks: New file.
5162         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
5163         * lib/unigbrk.in.h: Add prototype for new function.
5164         * lib/unigbrk/u8-grapheme-breaks.c: New file.
5165         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
5166
5167         New module 'u16-grapheme-breaks'.
5168         * modules/unigbrk/u16-grapheme-breaks: New file.
5169         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
5170         * lib/unigbrk.in.h: Add prototype for new function.
5171         * lib/unigbrk/u16-grapheme-breaks.c: New file.
5172         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
5173
5174         New module 'u32-grapheme-breaks'.
5175         * modules/unigbrk/u32-grapheme-breaks: New file.
5176         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
5177         * lib/unigbrk.in.h: Add prototype for new function.
5178         * lib/unigbrk/u32-grapheme-breaks.c: New file.
5179         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
5180
5181         New module 'ulc-grapheme-breaks'.
5182         * modules/unigbrk/ulc-grapheme-breaks: New file.
5183         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
5184         * m4/locale-ar.m4: New file.
5185         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
5186         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
5187         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
5188
5189 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5190
5191         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
5192         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
5193         modified how this file was generated before I initially submitted
5194         the module, but failed to regenerate it.  This meant that several
5195         of the level2 entries were wrong.
5196         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
5197         Remove the division-by-2 that is folded into the table now that
5198         gbrkprop.h has been regenerated properly.  Now -1 entries are
5199         handled correctly.
5200
5201         New module 'unigbrk/uc-gbrk-prop-tests'.
5202         * modules/unigbrk/uc-gbrk-prop-tests: New file.
5203         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
5204         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
5205         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
5206
5207 2011-01-01  Bruno Haible  <bruno@clisp.org>
5208
5209         Avoid use of hexadecimal escapes.
5210         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
5211         instead of hexadecimal escapes.
5212
5213 2011-01-01  Jim Meyering  <meyering@redhat.com>
5214
5215         maint: new rule to update copyright year ranges
5216         * Makefile (update-copyright): New rule.
5217
5218         maint: indent with TABs in Makefile
5219         * Makefile: Expand leading sequences of spaces to TABs
5220
5221         version-etc: update the copyright year it reports
5222         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
5223
5224 2010-12-31  Bruno Haible  <bruno@clisp.org>
5225
5226         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
5227         * lib/isfinite.c (zerof, zerod, zerol): New variables.
5228         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
5229         zero.
5230
5231 2010-12-31  Bruno Haible  <bruno@clisp.org>
5232
5233         pwrite: Work around HP-UX 11.11 bug.
5234         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
5235         works and set REPLACE_PWRITE if not.
5236         * lib/pwrite.c (pwrite): Add an implementation that uses the system
5237         function.
5238         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
5239
5240 2010-12-31  Bruno Haible  <bruno@clisp.org>
5241
5242         pread: Work around HP-UX 11 bugs.
5243         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
5244         and set REPLACE_PREAD if not.
5245         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
5246
5247 2010-12-31  Eric Blake  <eblake@redhat.com>
5248
5249         nl_langinfo: fix YESEXPR on Irix 6.5
5250         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
5251         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
5252         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
5253         it.
5254
5255 2010-12-31  Bruno Haible  <bruno@clisp.org>
5256
5257         iconv: Document HP-UX 11 bug.
5258         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
5259
5260 2010-12-31  Bruno Haible  <bruno@clisp.org>
5261
5262         ldexpl: Fix link error on HP-UX 11.
5263         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
5264         LDEXPL_LIBM, using $ISNANL_LIBM.
5265
5266 2010-12-31  Eric Blake  <eblake@redhat.com>
5267
5268         ftello: avoid compilation failure with SunStudio c89
5269         * lib/ftello.c (ftello): Use lseek, not llseek.
5270
5271         tests: avoid failing coreutils tests on cygwin
5272         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
5273         (create_exe_shims_): Return 0 when skipping.
5274
5275 2010-12-31  Bruno Haible  <bruno@clisp.org>
5276
5277         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
5278         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
5279
5280 2010-12-31  Bruno Haible  <bruno@clisp.org>
5281
5282         waitpid: Fix link error in C++ mode.
5283         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
5284
5285 2010-12-31  Bruno Haible  <bruno@clisp.org>
5286
5287         isnan: Use GCC built-ins when possible.
5288         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
5289         __builtin_isnan.
5290         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
5291         (isnan): Define using GCC built-ins for GCC >= 4.0.
5292
5293 2010-12-31  Bruno Haible  <bruno@clisp.org>
5294
5295         isnand: Fix mistake.
5296         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
5297         __builtin_isnand.
5298
5299 2010-12-31  Bruno Haible  <bruno@clisp.org>
5300
5301         open: Avoid C++ error on HP-UX 11.
5302         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
5303
5304 2010-12-31  Bruno Haible  <bruno@clisp.org>
5305
5306         time_r: Add missing declarations on HP-UX 11.
5307         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
5308         instead of HAVE_LOCALTIME_R.
5309         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
5310         HAVE_LOCALTIME_R always.
5311         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
5312         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
5313         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
5314         HAVE_LOCALTIME_R.
5315         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
5316         * doc/posix-functions/localtime_r.texi: Likewise.
5317
5318 2010-12-29  Eric Blake  <eblake@redhat.com>
5319
5320         mountlist: tweak previous commit
5321         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
5322         Reported by Paul Eggert.
5323
5324         mountlist: fix local drive detection on cygwin
5325         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
5326         that works for cygwin.
5327
5328 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5329
5330         ftoastr, snprintf: ftoastr + snprintf module
5331         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
5332         since the snprintf module now should be good enough here.
5333         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
5334         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
5335         and gl_MODULE_INDICATOR([snprintf]), but the former enables
5336         GNULIB_SNPRINTF only for the test directory, and the latter
5337         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
5338         seems to suffice by itself.
5339
5340 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5341
5342         alloca: one step towards thread-safety
5343         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
5344         need for a static variable.  All callers changed.  This does not
5345         make the alloca replacement thread-safe, but it's one step.
5346
5347         tests: minor indenting change
5348         * tests/init.sh: Sync from coreutils housekeeping patch
5349         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
5350         to keep lines within 80 columns.
5351
5352 2010-12-28  Jim Meyering  <meyering@redhat.com>
5353
5354         regex: don't infloop on persistent failing calloc
5355         * lib/regexec.c (build_trtable): Return failure indication upon
5356         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
5357         In glibc, this was fixed for version 2.13:
5358         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
5359
5360 2010-12-28  Bruno Haible  <bruno@clisp.org>
5361             Paul Eggert <eggert@cs.ucla.edu>
5362
5363         linkat: Make implementation robust against system behaviour variations.
5364         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
5365         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
5366         way, and to -2 if it needs a generic runtime test.
5367         * lib/linkat.c (solaris_optimized_link_immediate,
5368         solaris_optimized_link_follow): New functions.
5369         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
5370         (check_same_link): Use it.
5371
5372 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
5373
5374         New module 'unigbrk/base'.
5375         * modules/unigbrk/base: New file.
5376         * lib/unigbrk.in.h: New file.
5377
5378         New module 'unigbrk/uc-gbrk-prop'.
5379         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
5380         * modules/unigbrk/uc-gbrk-prop: New file.
5381         * lib/unigbrk/gbrkprop.h: New file.
5382         * lib/unigbrk/uc-gbrk-prop.c: New file.
5383
5384         New module 'unigbrk/uc-is-grapheme-break'.
5385         * modules/unigbrk/uc-is-grapheme-break: New file.
5386         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
5387         * lib/unigbrk/uc-is-grapheme-break.c: New file.
5388         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
5389         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
5390         * tests/unigbrk/GraphemeBreakTest.txt: New file.
5391
5392         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
5393
5394 2010-12-27  Bruno Haible  <bruno@clisp.org>
5395
5396         linkat test: Avoid failure on Solaris 11 2010-11.
5397         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
5398
5399 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5400
5401         utimens: work around glibc rounding bug on more platforms
5402         * lib/utimens.c (fdutimens): Work around rounding bug even if
5403         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
5404         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
5405
5406 2010-12-27  Bruno Haible  <bruno@clisp.org>
5407
5408         select tests: Improve comments.
5409         * tests/test-select.c (do_select): Add comments.
5410
5411 2010-12-27  Bruno Haible  <bruno@clisp.org>
5412
5413         select tests: Safer way of handling timeout.
5414         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
5415         at every invocation.
5416
5417 2010-12-27  Bruno Haible  <bruno@clisp.org>
5418
5419         select tests: Use 'bool' where appropriate.
5420         * tests/test-select.c (connect_to_socket): Change argument type to
5421         'bool'.
5422
5423 2010-12-27  Bruno Haible  <bruno@clisp.org>
5424
5425         select tests: Use existing modules.
5426         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
5427         (configure.ac): Don't test for unistd.h.
5428         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
5429         declared in <unistd.h>.
5430
5431 2010-12-27  Bruno Haible  <bruno@clisp.org>
5432
5433         mbrtowc: Work around a Solaris 7 bug.
5434         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
5435         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
5436         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
5437         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
5438         MBRTOWC_NULL_ARG1_BUG.
5439         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
5440         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
5441         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
5442         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
5443
5444 2010-12-27  Jim Meyering  <meyering@redhat.com>
5445
5446         read-file.c: tweak syntax
5447         * lib/read-file.c (fread_file): Remove space after "*" in function
5448         definitions.
5449
5450 2010-12-27  Bruno Haible  <bruno@clisp.org>
5451
5452         times test: Avoid gcc warnings on OSF/1.
5453         * tests/test-times.c (main): Cast printf arguments from clock_t to
5454         'long int'.
5455
5456 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5457
5458         utimens: work around glibc rounding bug on older Linux kernels
5459         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
5460         on Linux with a glibc whose utimes might not work, then work
5461         around a longstanding glibc bug involving rounding rather than
5462         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
5463         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5464
5465 2010-12-26  Bruno Haible  <bruno@clisp.org>
5466
5467         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
5468         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
5469         _GL_CXXALIAS_SYS.
5470         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5471
5472 2010-12-26  Bruno Haible  <bruno@clisp.org>
5473
5474         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
5475         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
5476         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
5477         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
5478         looking for the declaration.
5479         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5480         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
5481         problem.
5482         * doc/posix-functions/inet_pton.texi: Likewise.
5483
5484 2010-12-26  Bruno Haible  <bruno@clisp.org>
5485
5486         arpa_inet: Use the common idioms with C++ support.
5487         * lib/arpa_inet.in.h: Include c++defs.h.
5488         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
5489         support.
5490         * modules/arpa_inet (Depends-on): Add c++defs.
5491         (Makefile.am): Substitute the contents of c++defs.h.
5492         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
5493         * modules/arpa_inet-c++-tests: New file.
5494         * tests/test-arpa_inet-c++.cc: New file.
5495
5496 2010-12-25  Bruno Haible  <bruno@clisp.org>
5497
5498         Fix more C++ link errors on Solaris 8.
5499         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
5500         $(LIB_EACCESS).
5501         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
5502         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
5503         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
5504         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
5505         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
5506
5507 2010-12-25  Bruno Haible  <bruno@clisp.org>
5508
5509         printf-posix: Fix link error when a non-GCC compiler is used.
5510         * lib/stdio.in.h (printf): When not using GCC, override printf
5511         correctly.
5512         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5513
5514 2010-12-25  Bruno Haible  <bruno@clisp.org>
5515
5516         strerror_r-posix: Update doc.
5517         * doc/posix-functions/strerror_r.texi: Update doc about the return
5518         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
5519
5520 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5521
5522         utimens: simplify the logic of the previous change
5523         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
5524         This should not affect whether the test succeeds or fails.
5525
5526         utimens: configure better on hosts with NFS clock skew
5527         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
5528         uses the clock of the local host.  It might use the clock of the
5529         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
5530         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5531
5532 2010-12-25  Bruno Haible  <bruno@clisp.org>
5533
5534         ptsname test: Avoid failure on Solaris.
5535         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
5536         open a pseudo-terminal; don't use BSD-style ptys.
5537         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
5538
5539 2010-12-25  Bruno Haible  <bruno@clisp.org>
5540
5541         ptsname: Avoid ERANGE failure on some systems.
5542         * lib/ptsname.c (buffer): Increase size.
5543
5544 2010-12-25  Bruno Haible  <bruno@clisp.org>
5545
5546         rename, renameat: Avoid test failures at NFS mounted locations.
5547         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
5548         so that subsequent mkdir calls succeed.
5549
5550 2010-12-25  Bruno Haible  <bruno@clisp.org>
5551
5552         iswblank: Fix C++ link error on Solaris 8.
5553         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
5554         _GL_FUNCDECL_SYS.
5555
5556 2010-12-25  Bruno Haible  <bruno@clisp.org>
5557
5558         unistd: Fix C++ link error on Solaris 8.
5559         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
5560
5561 2010-12-25  Bruno Haible  <bruno@clisp.org>
5562
5563         readlink doc: Mention an old glibc bug.
5564         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
5565
5566 2010-12-25  Bruno Haible  <bruno@clisp.org>
5567
5568         fcntl-h: Fix for use of C++ on glibc systems.
5569         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
5570         also on glibc systems in C++ mode.
5571         Reported by Gary V. Vaughan <gary@gnu.org>.
5572
5573 2010-12-25  Bruno Haible  <bruno@clisp.org>
5574
5575         roundl-ieee: Make it work on OSF/1 5.1 with cc.
5576         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
5577
5578 2010-12-25  Bruno Haible  <bruno@clisp.org>
5579
5580         truncl-ieee: Make it work on OSF/1 5.1 with cc.
5581         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
5582         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
5583         test whether truncl works according to ISO C 99 with IEC 60559.
5584         * m4/truncl-ieee.m4: New file.
5585         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
5586         m4/signbit.m4.
5587         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
5588
5589 2010-12-25  Bruno Haible  <bruno@clisp.org>
5590
5591         ceill-ieee: Make it work on OSF/1 5.1 with cc.
5592         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
5593         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
5594         test whether ceill works according to ISO C 99 with IEC 60559.
5595         * m4/ceill-ieee.m4: New file.
5596         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
5597         m4/signbit.m4.
5598         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
5599
5600 2010-12-25  Bruno Haible  <bruno@clisp.org>
5601
5602         Ensure all prerequisites of <wchar.h> are included.
5603         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
5604         before <wchar.h>.
5605         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
5606         gl_MBRLEN_NUL_RETVAL): Likewise.
5607         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
5608         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
5609         AC_FUNC_MBRTOWC): Likewise.
5610         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5611         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
5612         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5613         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5614         Likewise.
5615         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5616         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
5617         (gl_WCHAR_H): Improve comments.
5618         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5619
5620 2010-12-25  Bruno Haible  <bruno@clisp.org>
5621
5622         strtok_r: Fix C syntax error in autoconf macro.
5623         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
5624         characters in test program.
5625
5626 2010-12-24  Bruno Haible  <bruno@clisp.org>
5627
5628         ceil, trunc, round: Fix gcc warnings.
5629         * lib/ceil.c (MIN): Undefine before redefining.
5630         * lib/trunc.c (MIN): Likewise.
5631         * lib/round.c (MIN): Likewise.
5632         Include <math.h> first.
5633
5634 2010-12-24  Bruno Haible  <bruno@clisp.org>
5635
5636         select tests: Avoid failures on OSF/1 5.1.
5637         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
5638         failure of closing the last socket; it may fail with ECONNRESET.
5639
5640 2010-12-24  Eric Blake  <eblake@redhat.com>
5641
5642         stdint: avoid HP-UX 10.20 preprocessor bug
5643         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
5644         than #if.
5645         * tests/test-floor2.c (main): Likewise.
5646         Reported by Peter O'Gorman.
5647
5648         pipe: make obsoletion transition easier
5649         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
5650         * modules/pipe (Files): Include revived file.
5651         (Include): Drop reference, to mirror getdate's behavior.
5652
5653 2010-12-24  Bruno Haible  <bruno@clisp.org>
5654
5655         sys_socket: Hide mismatch of declarations on NonStop Kernel.
5656         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
5657         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
5658         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5659
5660 2010-12-24  Bruno Haible  <bruno@clisp.org>
5661
5662         gethostname: Ensure declaration on NonStop Kernel.
5663         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
5664         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5665
5666 2010-12-24  Bruno Haible  <bruno@clisp.org>
5667
5668         sys_select: Ensure all necessary types on NonStop Kernel.
5669         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
5670         include <sys/time.h>.
5671         * doc/posix-headers/sys_select.texi: Mention that it's missing on
5672         NonStop Kernel.
5673         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5674
5675 2010-12-24  Bruno Haible  <bruno@clisp.org>
5676
5677         sys_select: Remove unneeded include.
5678         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
5679         have <sys/select.h>.
5680
5681 2010-12-24  Bruno Haible  <bruno@clisp.org>
5682
5683         gethostname: Provide a fallback for HOST_NAME_MAX.
5684         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
5685         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5686         instead.
5687         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5688
5689 2010-12-24  Bruno Haible  <bruno@clisp.org>
5690
5691         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5692         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5693         (SA_RESTART): Likewise.
5694         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5695
5696 2010-12-24  Bruno Haible  <bruno@clisp.org>
5697
5698         signal: Define NSIG.
5699         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5700         * tests/test-signal.c (nsig): New variable.
5701         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5702
5703 2010-12-24  Bruno Haible  <bruno@clisp.org>
5704
5705         rename, renameat: Avoid test failures on OSF/1 5.1.
5706         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5707         alternative error codes.
5708         * tests/test-renameat.c (main): Likewise.
5709
5710 2010-12-24  Bruno Haible  <bruno@clisp.org>
5711
5712         *printf: Detect large precisions bug on Solaris 10/SPARC.
5713         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5714         by Paul Eggert.
5715         * tests/test-snprintf-posix.h (test_function): Add this test code here
5716         too.
5717         * tests/test-sprintf-posix.h (test_function): Likewise.
5718         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5719         * tests/test-vasprintf-posix.c (test_function): Likewise.
5720         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5721         around by gnulib.
5722         * doc/posix-functions/printf.texi: Likewise.
5723         * doc/posix-functions/snprintf.texi: Likewise.
5724         * doc/posix-functions/sprintf.texi: Likewise.
5725         * doc/posix-functions/vfprintf.texi: Likewise.
5726         * doc/posix-functions/vprintf.texi: Likewise.
5727         * doc/posix-functions/vsnprintf.texi: Likewise.
5728         * doc/posix-functions/vsprintf.texi: Likewise.
5729         * doc/posix-functions/dprintf.texi: Undo last commit.
5730         * doc/posix-functions/vdprintf.texi: Likewise.
5731
5732 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5733
5734         tests: port test-fdutimensat.c to Solaris 8
5735         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5736         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5737         On Solaris 8, it fails with errno == ENOSYS, because there is no
5738         futimens (so it can't use the fd), and there is no lutimens (so it
5739         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5740
5741         vsnprintf: make more consistent with snprintf; doc fixes
5742
5743         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5744         the byte count return problem was promoted from the snprintf-posix
5745         to the snprintf module.
5746         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5747         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5748         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5749         * tests/test-snprintf.c (main): Check the byte count returned.
5750         * tests/test-vsnprintf.c (main): Likewise.
5751
5752 2010-12-23  Eric Blake  <eblake@redhat.com>
5753
5754         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5755         * modules/sigpipe (License): Relax license.
5756
5757 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5758
5759         doc: document Solaris printf bug with large float precisions
5760         * doc/posix-functions/dprintf.texi (dprintf):
5761         * doc/posix-functions/fprintf.texi (fprintf):
5762         * doc/posix-functions/printf.texi (printf):
5763         * doc/posix-functions/snprintf.texi (snprintf):
5764         * doc/posix-functions/sprintf.texi (sprintf):
5765         * doc/posix-functions/vdprintf.texi (vdprintf):
5766         * doc/posix-functions/vfprintf.texi (vfprintf):
5767         * doc/posix-functions/vprintf.texi (vprintf):
5768         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5769         * doc/posix-functions/vsprintf.texi (vsprintf):
5770         Mention that these functions mishandle large floating point
5771         precisions on Solaris 10.  The same bug is also present in Solaris
5772         8, and I assume earlier.  This causes "cd gnulib-tests; make
5773         check" to fail on Solaris 8 (and I assume, later) when building
5774         the latest coreutils, in test-vasprintf-posix's call to
5775         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5776         the wide flavors (e.g., wprintf) so this patch just updates the
5777         documentation for the narrow ones.
5778
5779         test-posixtm.c: add two tests
5780         * tests/test-posixtm.c: Add two tests, to highlight the
5781         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5782         around this bug; this is merely to document it.
5783
5784 2010-12-22  Bruno Haible  <bruno@clisp.org>
5785
5786         getlogin_r: Work around portability problem on OSF/1.
5787         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5788         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5789         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5790         test for a truncated result.
5791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5792         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5793         * modules/getlogin_r (Depends-on): Add memchr.
5794         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5795
5796 2010-12-22  Bruno Haible  <bruno@clisp.org>
5797
5798         ptsname: Avoid test failure on OSF/1 5.1.
5799         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5800         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5801         (same_slave): New function.
5802         (main): Use it to compare ptsname's result with the expected file name.
5803
5804 2010-12-22  Bruno Haible  <bruno@clisp.org>
5805
5806         Port extended stdio modules to HP NonStop Kernel.
5807         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5808         macros.
5809         * lib/fbufmode.c: Update comments.
5810         * lib/fflush.c: Likewise.
5811         * lib/fpurge.c: Likewise.
5812         * lib/freadable.c: Likewise.
5813         * lib/freadahead.c: Likewise.
5814         * lib/freading.c: Likewise.
5815         * lib/freadptr.c: Likewise.
5816         * lib/freadseek.c: Likewise.
5817         * lib/fseeko.c: Likewise.
5818         * lib/fseterr.c: Likewise.
5819         * lib/fwritable.c: Likewise.
5820         * lib/fwriting.c: Likewise.
5821         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5822
5823 2010-12-22  Bruno Haible  <bruno@clisp.org>
5824
5825         ttyname_r: Work around bug on OSF/1 5.1.
5826         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5827         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5828         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5829         present.
5830         * lib/ttyname_r.c (ttyname_r): Update comments.
5831
5832 2010-12-22  Bruno Haible  <bruno@clisp.org>
5833
5834         round: Implement result sign according to IEEE 754.
5835         * lib/round.c (MIN, MINUS_ZERO): New macros.
5836         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5837         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5838         * tests/test-round-ieee.c (main): Likewise.
5839         * tests/test-roundl-ieee.c (main): Likewise.
5840
5841         trunc: Implement result sign according to IEEE 754.
5842         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5843         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5844         * tests/test-trunc2.c: Include minus-zero.h.
5845         (MINUS_ZERO): New macro.
5846         (trunc_reference): Keep in sync with lib/trunc.c.
5847         * tests/test-truncf2.c: Include minus-zero.h.
5848         (MINUS_ZERO): New macro.
5849         (truncf_reference): Keep in sync with lib/trunc.c.
5850         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5851         * tests/test-trunc-ieee.c (main): Likewise.
5852         * tests/test-truncl-ieee.c (main): Likewise.
5853
5854         ceil: Implement result sign according to IEEE 754.
5855         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5856         (FUNC): Return -0.0 for -1 < x < 0.
5857         * tests/test-ceil2.c: Include minus-zero.h.
5858         (MINUS_ZERO): New macro.
5859         (ceil_reference): Keep in sync with lib/ceil.c.
5860         * tests/test-ceilf2.c: Include minus-zero.h.
5861         (MINUS_ZERO): New macro.
5862         (ceilf_reference): Keep in sync with lib/ceil.c.
5863         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5864         * tests/test-ceil-ieee.c (main): Likewise.
5865         * tests/test-ceill-ieee.c (main): Likewise.
5866
5867         floor: Implement result sign according to IEEE 754.
5868         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5869         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5870         * tests/test-floorf2.c (floorf_reference): Likewise.
5871         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5872         * tests/test-floor-ieee.c (main): Likewise.
5873         * tests/test-floorl-ieee.c (main): Likewise.
5874
5875 2010-12-22  Bruno Haible  <bruno@clisp.org>
5876
5877         getaddrinfo: Update doc.
5878         * doc/posix-functions/gai_strerror.texi: Return type is also different
5879         on AIX and HP-UX.
5880
5881 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5882
5883         getaddrinfo, inet_ntop: Update doc for Solaris.
5884         * doc/posix-functions/gai_strerror.texi: Return type is also an
5885         issue on Solaris 9 and earlier.
5886         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5887         on Solaris 10 and earlier.
5888
5889 2010-12-21  Bruno Haible  <bruno@clisp.org>
5890
5891         New module 'roundl-ieee'.
5892         * modules/roundl-ieee: New file.
5893         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5894         test whether roundl works according to ISO C 99 with IEC 60559.
5895         * m4/roundl-ieee.m4: New file.
5896         * modules/roundl-ieee-tests: New file.
5897         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5898         * tests/test-roundl.c (main): Remove signbit tests.
5899         * modules/roundl-tests (Depends-on): Remove signbit.
5900         * doc/posix-functions/roundl.texi: Mention the new module.
5901
5902 2010-12-21  Bruno Haible  <bruno@clisp.org>
5903
5904         New module 'truncl-ieee'.
5905         * modules/truncl-ieee: New file.
5906         * modules/truncl-ieee-tests: New file.
5907         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5908         * tests/test-truncl.c (main): Remove signbit tests.
5909         * modules/truncl-tests (Depends-on): Remove signbit.
5910         * doc/posix-functions/truncl.texi: Mention the new module.
5911
5912 2010-12-21  Bruno Haible  <bruno@clisp.org>
5913
5914         New module 'ceill-ieee'.
5915         * modules/ceill-ieee: New file.
5916         * modules/ceill-ieee-tests: New file.
5917         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5918         * tests/test-ceill.c (main): Remove signbit tests.
5919         * modules/ceill-tests (Depends-on): Remove signbit.
5920         * doc/posix-functions/ceill.texi: Mention the new module.
5921
5922 2010-12-21  Bruno Haible  <bruno@clisp.org>
5923
5924         New module 'floorl-ieee'.
5925         * modules/floorl-ieee: New file.
5926         * modules/floorl-ieee-tests: New file.
5927         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
5928         * tests/test-floorl.c (main): Remove signbit tests.
5929         * modules/floorl-tests (Depends-on): Remove signbit.
5930         * doc/posix-functions/floorl.texi: Mention the new module.
5931
5932 2010-12-21  Bruno Haible  <bruno@clisp.org>
5933
5934         New module 'round-ieee'.
5935         * modules/round-ieee: New file.
5936         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
5937         whether round works according to ISO C 99 with IEC 60559.
5938         * m4/round-ieee.m4: New file.
5939         * modules/round-ieee-tests: New file.
5940         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
5941         * tests/test-round1.c (main): Remove signbit tests.
5942         * modules/round-tests (Depends-on): Remove 'signbit'.
5943         * doc/posix-functions/round.texi: Mention the new module.
5944
5945 2010-12-21  Bruno Haible  <bruno@clisp.org>
5946
5947         New module 'trunc-ieee'.
5948         * modules/trunc-ieee: New file.
5949         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
5950         whether trunc works according to ISO C 99 with IEC 60559.
5951         * m4/trunc-ieee.m4: New file.
5952         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
5953         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
5954         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
5955         * modules/trunc-ieee-tests: New file.
5956         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
5957         * tests/test-trunc1.c (main): Remove signbit tests.
5958         * modules/trunc-tests (Depends-on): Remove 'signbit'.
5959         * doc/posix-functions/trunc.texi: Mention the new module.
5960
5961 2010-12-21  Bruno Haible  <bruno@clisp.org>
5962
5963         New module 'ceil-ieee'.
5964         * modules/ceil-ieee: New file.
5965         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
5966         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
5967         ISO C 99 with IEC 60559.
5968         * m4/ceil-ieee.m4: New file.
5969         * modules/ceil (Files): Add lib/ceil.c.
5970         (Depends-on): Add 'float'.
5971         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5972         * lib/math.in.h (ceil): New declaration.
5973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
5974         REPLACE_CEIL.
5975         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
5976         * modules/ceil-ieee-tests: New file.
5977         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
5978         * tests/test-math-c++.cc: Check the signature of 'ceil'.
5979         * doc/posix-functions/ceil.texi: Mention the new module.
5980
5981 2010-12-21  Bruno Haible  <bruno@clisp.org>
5982
5983         New module 'floor-ieee'.
5984         * modules/floor-ieee: New file.
5985         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
5986         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
5987         ISO C 99 with IEC 60559.
5988         * m4/floor-ieee.m4: New file.
5989         * modules/floor (Files): Add lib/floor.c.
5990         (Depends-on): Add 'float'.
5991         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5992         * lib/math.in.h (floor): New declaration.
5993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
5994         REPLACE_FLOOR.
5995         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
5996         * modules/floor-ieee-tests: New file.
5997         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
5998         * tests/test-math-c++.cc: Check the signature of 'floor'.
5999         * doc/posix-functions/floor.texi: Mention the new module.
6000
6001 2010-12-21  Bruno Haible  <bruno@clisp.org>
6002
6003         New module 'roundf-ieee'.
6004         * modules/roundf-ieee: New file.
6005         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
6006         test whether roundf works according to ISO C 99 with IEC 60559.
6007         * m4/roundf-ieee.m4: New file.
6008         * modules/roundf-ieee-tests: New file.
6009         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
6010         * tests/test-roundf1.c (main): Remove signbit tests.
6011         * modules/roundf-tests (Depends-on): Remove 'signbit'.
6012         * doc/posix-functions/roundf.texi: Mention the new module.
6013
6014 2010-12-21  Bruno Haible  <bruno@clisp.org>
6015
6016         New module 'truncf-ieee'.
6017         * modules/truncf-ieee: New file.
6018         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
6019         test whether truncf works according to ISO C 99 with IEC 60559.
6020         * m4/truncf-ieee.m4: New file.
6021         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
6022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
6023         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
6024         * modules/truncf-ieee-tests: New file.
6025         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
6026         * tests/test-truncf1.c (main): Remove signbit tests.
6027         * modules/truncf-tests (Depends-on): Remove 'signbit'.
6028         * doc/posix-functions/truncf.texi: Mention the new module.
6029
6030 2010-12-21  Bruno Haible  <bruno@clisp.org>
6031
6032         New module 'ceilf-ieee'.
6033         * modules/ceilf-ieee: New file.
6034         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
6035         test whether ceilf works according to ISO C 99 with IEC 60559.
6036         * m4/ceilf-ieee.m4: New file.
6037         * modules/ceilf-ieee-tests: New file.
6038         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
6039         * tests/test-ceilf1.c (main): Remove signbit tests.
6040         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
6041         * doc/posix-functions/ceilf.texi: Mention the new module.
6042
6043 2010-12-21  Bruno Haible  <bruno@clisp.org>
6044
6045         New module 'floorf-ieee'.
6046         * modules/floorf-ieee: New file.
6047         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
6048         test whether floorf works according to ISO C 99 with IEC 60559.
6049         * m4/floorf-ieee.m4: New file.
6050         * modules/floorf-ieee-tests: New file.
6051         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
6052         * tests/test-floorf1.c (main): Remove signbit tests.
6053         * modules/floorf-tests (Depends-on): Remove 'signbit'.
6054         * doc/posix-functions/floorf.texi: Mention the new module.
6055
6056 2010-12-21  Bruno Haible  <bruno@clisp.org>
6057
6058         Support for minus zero in autoconf macros.
6059         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
6060         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
6061         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
6062         * tests/minus-zero.h: Update comments.
6063
6064 2010-12-21  Bruno Haible  <bruno@clisp.org>
6065
6066         Tests for module 'ceil'.
6067         * modules/ceil-tests: New file.
6068         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
6069         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
6070
6071 2010-12-21  Bruno Haible  <bruno@clisp.org>
6072
6073         Tests for module 'floor'.
6074         * modules/floor-tests: New file.
6075         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
6076         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
6077
6078 2010-12-21  Bruno Haible  <bruno@clisp.org>
6079
6080         math: Fix indentation.
6081         * lib/math.in.h (floorf): Fix indentation.
6082
6083 2010-12-21  Bruno Haible  <bruno@clisp.org>
6084
6085         Fix cross-compilation guesses on Solaris.
6086         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
6087         not match "solaris2.10".
6088         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6089         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
6090         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
6091
6092 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6093
6094         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
6095         This fixes a problem observed with the latest coreutils snapshot
6096         that caused a test to fail on Solaris 8.  src/csplit.c's call
6097         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
6098         earlier, instead of returning the number of bytes that would have
6099         been generated; this causes csplit to incorrectly report memory
6100         exhaustion.
6101         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
6102         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
6103         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
6104         comments to match.
6105         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
6106         Fix typo in matching older versions of Solaris: "solaris2.10"
6107         is matched by the shell pattern "solaris2.[0-9]*".  This matters
6108         only for guessing while cross-compiling.
6109         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
6110
6111 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6112
6113         ftoastr: fix comment again
6114         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6115         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
6116         Also, simplify example a bit by using flags = 0.
6117
6118 2010-12-20  Bruno Haible  <bruno@clisp.org>
6119
6120         round*, trunc*: Update documentation regarding glibc.
6121         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
6122         * doc/posix-functions/round.texi: Likewise.
6123         * doc/posix-functions/roundl.texi: Likewise.
6124         * doc/posix-functions/truncf.texi: Likewise.
6125         * doc/posix-functions/trunc.texi: Likewise.
6126         * doc/posix-functions/truncl.texi: Likewise.
6127
6128 2010-12-20  Bruno Haible  <bruno@clisp.org>
6129
6130         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
6131         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
6132         * doc/posix-functions/round.texi: Likewise.
6133         * doc/posix-functions/roundl.texi: Likewise.
6134
6135 2010-12-20  Bruno Haible  <bruno@clisp.org>
6136
6137         ttyname_r: Add missing declaration on HP-UX 11.
6138         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
6139         HAVE_TTYNAME_R.
6140         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
6141         declared. Set HAVE_TTYNAME_R always.
6142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6143         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
6144         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
6145         HAVE_TTYNAME_R.
6146         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
6147
6148 2010-12-20  Bruno Haible  <bruno@clisp.org>
6149
6150         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
6151         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
6152         * doc/posix-functions/getlogin_r.texi: Likewise.
6153         * tests/test-getlogin.c: Include <errno.h>.
6154         (main): Avoid test failure on HP-UX 11.11.
6155         * tests/test-getlogin_r.c (main): Likewise.
6156
6157 2010-12-20  Bruno Haible  <bruno@clisp.org>
6158
6159         getlogin_r: Add missing declaration on HP-UX 11.
6160         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
6161         declared also when it exists as a function.
6162         * doc/posix-functions/getlogin_r.texi: Document this workaround.
6163
6164 2010-12-20  Bruno Haible  <bruno@clisp.org>
6165
6166         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
6167         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
6168         through wcrtomb.
6169
6170 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6171
6172         ftoastr: fix comment
6173         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6174         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
6175
6176 2010-12-19  Bruno Haible  <bruno@clisp.org>
6177
6178         isnan: Ensure it is a macro.
6179         * lib/math.in.h (isnan): Define as a macro if not already a macro.
6180         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
6181         Solaris.
6182
6183 2010-12-19  Bruno Haible  <bruno@clisp.org>
6184
6185         ldexpl test: Fix link error on OSF/1 5.1.
6186         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
6187
6188 2010-12-19  Bruno Haible  <bruno@clisp.org>
6189
6190         wctype: Make it work in C++ mode on OSF/1 5.1.
6191         * lib/wctype.in.h (iswblank): Declare but not define here.
6192         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
6193         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
6194         * modules/wctype (Files): Add lib/iswblank.c.
6195
6196 2010-12-19  Bruno Haible  <bruno@clisp.org>
6197
6198         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
6199         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
6200         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
6201
6202 2010-12-19  Bruno Haible  <bruno@clisp.org>
6203
6204         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
6205         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
6206         _POSIX_PII_SOCKET.
6207         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
6208         * doc/posix-functions/recvfrom.texi: Likewise.
6209         * doc/posix-functions/send.texi: Likewise.
6210         * doc/posix-functions/sendto.texi: Likewise.
6211
6212 2010-12-19  Bruno Haible  <bruno@clisp.org>
6213
6214         tcgetsid: Add missing declaration on OSF/1 5.1.
6215         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
6216         HAVE_TCGETSID.
6217         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
6218         Don't set HAVE_TCGETSID.
6219         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
6220         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
6221         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
6222         HAVE_TCGETSID.
6223         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
6224
6225 2010-12-19  Bruno Haible  <bruno@clisp.org>
6226
6227         stdio: Fix problem with popen() declaration on OSF/1 5.1.
6228         * lib/stdio.in.h: During the include_next statement, let recursive
6229         includes of this file include only the system header file.
6230
6231 2010-12-19  Bruno Haible  <bruno@clisp.org>
6232
6233         iconv_open: Fix regression from 2010-12-04.
6234         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
6235         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
6236
6237 2010-12-19  Bruno Haible  <bruno@clisp.org>
6238
6239         stdbool test: Avoid a gcc warning.
6240         * tests/test-stdbool.c (main): Fail if e1 is false.
6241         Reported by Jim Meyering.
6242
6243 2010-12-19  Jim Meyering  <meyering@redhat.com>
6244
6245         setenv: restore to working order
6246         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
6247         mistakenly removed.
6248         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
6249         HAVE_SETENV.
6250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
6251         HAVE_SETENV.
6252
6253 2010-12-19  Bruno Haible  <bruno@clisp.org>
6254
6255         Document some different function declarations on OSF/1 5.1.
6256         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
6257         * doc/posix-functions/inet_ntop.texi: Likewise.
6258         * doc/posix-functions/gethostname.texi: Likewise.
6259         * lib/unistd.in.h (gethostname): Update comment.
6260
6261 2010-12-19  Bruno Haible  <bruno@clisp.org>
6262
6263         doc: Mention vasprintf-posix module.
6264         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
6265         the 'vasprintf-posix' module.
6266         * doc/glibc-functions/vasprintf.texi: Likewise.
6267
6268 2010-12-19  Bruno Haible  <bruno@clisp.org>
6269
6270         unsetenv: Add missing declaration on OSF/1 5.1.
6271         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
6272         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
6273         Don't set HAVE_UNSETENV. In the test program, set _BSD.
6274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
6275         not HAVE_UNSETENV.
6276         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
6277         HAVE_UNSETENV.
6278         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
6279
6280 2010-12-19  Bruno Haible  <bruno@clisp.org>
6281
6282         setenv: Add missing declaration on OSF/1 5.1.
6283         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
6284         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
6285         declared. Don't set HAVE_SETENV.
6286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
6287         not HAVE_SETENV.
6288         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
6289         HAVE_SETENV.
6290         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
6291
6292 2010-12-19  Bruno Haible  <bruno@clisp.org>
6293
6294         nl_langinfo tests: Avoid gcc warning.
6295         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
6296
6297 2010-12-19  Bruno Haible  <bruno@clisp.org>
6298
6299         mknod: Avoid error in C++ mode on OSF/1 with GCC.
6300         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
6301         _GL_CXXALIAS_SYS.
6302
6303 2010-12-19  Bruno Haible  <bruno@clisp.org>
6304
6305         stdbool: Relax test.
6306         * tests/test-stdbool.c (e): Don't require that casts from a variable's
6307         address to 'bool' work in static initializer, for compilers other than
6308         GCC.
6309
6310 2010-12-19  Bruno Haible  <bruno@clisp.org>
6311
6312         ftello: Add missing declaration on OSF/1 5.1.
6313         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
6314         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
6315         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
6316         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
6317         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
6318
6319 2010-12-19  Bruno Haible  <bruno@clisp.org>
6320
6321         fseeko: Add missing declaration on OSF/1 5.1.
6322         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
6323         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
6324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
6325         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
6326         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
6327
6328 2010-12-19  Bruno Haible  <bruno@clisp.org>
6329
6330         fchdir: Add missing declaration on OSF/1 5.1.
6331         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
6332         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
6333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
6334         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
6335         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
6336
6337 2010-12-19  Bruno Haible  <bruno@clisp.org>
6338
6339         relocatable-prog-wrapper: Separate from relocatable-prog.
6340         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
6341         uninstall-relocwrapper rule here.
6342         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
6343         Reported by Ian Beckwith <ianb@erislabs.net>.
6344
6345 2010-12-19  Bruno Haible  <bruno@clisp.org>
6346
6347         unistr/u8-mbsnlen: Add missing dependency.
6348         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
6349         Reported by Ian Beckwith <ianb@erislabs.net>.
6350
6351 2010-12-19  Bruno Haible  <bruno@clisp.org>
6352
6353         iconv: Make it possible again to use this module without 'iconv-h'.
6354         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
6355         if it is not defined.
6356         Reported by Ian Beckwith <ianb@erislabs.net>.
6357
6358 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6359
6360         acl: port to Solaris 8 when copying from tmpfs to ufs
6361         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
6362         error number.  Problem observed on Solaris 8 with latest
6363         coreutils, with "mv A B", where A is on a tmpfs file system and B
6364         is on a ufs file system.  This caused coreutils' mv/part-symlink
6365         test to fail.
6366
6367         tests: set fail=0 at start
6368         * tests/init.sh (setup_): Move fail=0 initialization here ...
6369         (mktempd_): ... from here, so that tests can rely on fail being
6370         set to 0 initially.  This fixes a problem in coreutils; see:
6371         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
6372
6373 2010-12-18  Bruno Haible  <bruno@clisp.org>
6374
6375         memmem-simple: Stylistic changes.
6376         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
6377         Fix preprocessor directive indentation.
6378
6379 2010-12-15  Pádraig Brady <P@draigBrady.com>
6380
6381         memmem, memmem-simple: reorganize and expand empty needle check
6382         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
6383         functional checks to memmem-simple so that one has a fully functional
6384         memmem by using just this module.
6385         Restrict the performance only check to the memmem module.
6386         Also expand the empty needle check to ensure the correct
6387         pointer is returned, not just a non NULL pointer.
6388         * doc/glibc-functions/memmem.texi: Rearrange the portability
6389         documentation to correlate with the rearranged checks.
6390         Clarify exactly how the memmem and memmem-simple modules
6391         relate to each other.
6392
6393 2010-12-15  Pádraig Brady <P@draigBrady.com>
6394             Bruno Haible  <bruno@clisp.org>
6395
6396         Improve cross-compilation guesses for uClibc.
6397         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
6398         that uClibc does not have the glibc bug.
6399         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
6400         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
6401
6402 2010-12-14  Eric Blake  <eblake@redhat.com>
6403
6404         configmake: provide fallbacks for oldest supported autotools
6405         * m4/configmake.m4: New file.
6406         * modules/configmake (Files): Ship it.
6407         (configure.ac): Use it to guarantee fallbacks.
6408
6409 2010-12-13  Pádraig Brady <P@draigBrady.com>
6410
6411         read-file: Improve handling of large files
6412         * lib/read-file.c (fread_file): Minimize realloc()s
6413         for regular files, and better manage sizes around SIZE_MAX.
6414
6415 2010-12-13  Eric Blake  <eblake@redhat.com>
6416
6417         cloexec, fcntl: relax license
6418         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
6419         consent from all contributors.
6420         * modules/fcntl (License): Likewise.
6421
6422 2010-12-10  Bruno Haible  <bruno@clisp.org>
6423
6424         Tests for module 'pipe-posix'.
6425         * modules/pipe-posix-tests: New file.
6426         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
6427
6428 2010-12-10  Bruno Haible  <bruno@clisp.org>
6429
6430         pipe-posix: Make it work in C++ mode.
6431         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
6432         (pipe): Use common idiom, not a macro definition.
6433         * lib/pipe.c: New file.
6434         * m4/pipe.m4: New file.
6435         * modules/pipe-posix (Description): Enhance.
6436         (Files): Add lib/pipe.c, m4/pipe.m4.
6437         (configure.ac): Invoke gl_FUNC_PIPE.
6438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
6439         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
6440         * tests/test-unistd-c++.cc: Check the signature of pipe.
6441
6442 2010-12-10  Bruno Haible  <bruno@clisp.org>
6443
6444         Rename module 'pipe' to 'spawn-pipe'.
6445         * modules/spawn-pipe: New file, renamed from modules/pipe.
6446         (Files, configure.ac, Makefile.am): Update.
6447         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
6448         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
6449         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
6450         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
6451         "spawn-pipe.h" instead of "pipe.h".
6452         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
6453         to gl_SPAWN_PIPE.
6454         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
6455         (Files, Makefile.am): Update.
6456         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
6457         Update.
6458         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
6459         Include "spawn-pipe.h" instead of "pipe.h".
6460         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
6461         * lib/javacomp.c: Likewise.
6462         * lib/javaversion.c: Likewise.
6463         * lib/pipe-filter-gi.c: Likewise.
6464         * lib/pipe-filter-ii.c: Likewise.
6465         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
6466         * modules/javacomp (Depends-on): Likewise.
6467         * modules/javaversion (Depends-on): Likewise.
6468         * modules/pipe-filter-gi (Depends-on): Likewise.
6469         * modules/pipe-filter-ii (Depends-on): Likewise.
6470         * MODULES.html.sh (Executing programs): Update.
6471         * NEWS: Mention the change.
6472
6473 2010-12-10  Eric Blake  <eblake@redhat.com>
6474
6475         pipe-posix: new module
6476         * modules/pipe-posix: New file.
6477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
6478         (gl_UNISTD_H): Check for declaration.
6479         * modules/unistd (Makefile.am): Substitute it.
6480         * lib/unistd.in.h (pipe): Provide it for mingw.
6481         * doc/posix-functions/pipe.texi (pipe): Update documentation.
6482         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
6483
6484 2010-12-07  Bruno Haible  <bruno@clisp.org>
6485
6486         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
6487         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
6488         u8_strcmp_gnu.
6489         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
6490
6491 2010-12-06  Bruno Haible  <bruno@clisp.org>
6492
6493         Update internal documentation.
6494         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
6495
6496 2010-12-04  Bruno Haible  <bruno@clisp.org>
6497
6498         Put more information about failed tests into the test return codes.
6499         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
6500         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
6501         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6502         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6503         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6504         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6505         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6506         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6507         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
6508         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6509         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
6510         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6511         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6512         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6513         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
6514         returns a bit mask.
6515         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
6516         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
6517         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
6518         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
6519         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6520         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6521         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6522         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
6523         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6524         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
6525         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
6526         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6527         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6528         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6529         * m4/link.m4 (gl_FUNC_LINK): Likewise.
6530         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
6531         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
6532         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
6533         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6534         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
6535         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
6536         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6537         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
6538         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6539         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6540         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6541         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
6542         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6543         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6544         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
6545         gl_PRINTF_PRECISION): Likewise.
6546         * m4/regex.m4 (gl_REGEX): Likewise.
6547         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6548         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6549         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
6550         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6551         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6552         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6553         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
6554         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
6555         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6556         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6557         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
6558         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
6559         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
6560         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6561         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6562         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6563         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
6564         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6566         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
6567         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
6568         enumerated value.
6569         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
6570
6571 2010-12-04  Bruno Haible  <bruno@clisp.org>
6572
6573         Update for Solaris 11 2010-11.
6574         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
6575         Express, released in November 2010.
6576
6577 2010-12-04  Bruno Haible  <bruno@clisp.org>
6578
6579         nproc: Relax license.
6580         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
6581         and Paul Eggert.
6582         Requested by Ludovic Courtès <ludo@gnu.org>.
6583
6584 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6585
6586         utimecmp: fine-grained src to nearby coarse-grained dest
6587
6588         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
6589         and the source is on a file system with higher-resolution time
6590         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
6591         not work, and the time stamps are close together, the algorithm to
6592         determine the exact resolution from the read-back mtime was buggy:
6593         it had a "!=" where it should have had an "==".  This bug has been
6594         in the code ever since it was introduced to gnulib.
6595         Problem reported by Dan Jacobson in
6596         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
6597
6598 2010-11-30  Bruno Haible  <bruno@clisp.org>
6599
6600         strerror_r-posix: Fix autoconf test.
6601         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
6602
6603 2010-11-28  Bruno Haible  <bruno@clisp.org>
6604             Paul Eggert  <eggert@cs.ucla.edu>
6605
6606         Tests for module 'getdomainname'.
6607         * modules/getdomainname-tests: New file.
6608         * tests/test-getdomainname.c: New file, based on
6609         tests/test-gethostname.c.
6610
6611 2010-11-28  Bruno Haible  <bruno@clisp.org>
6612             Paul Eggert  <eggert@cs.ucla.edu>
6613
6614         getdomainname: Use the system function when possible.
6615         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
6616         (getdomainname): Replace if needed. Provide the declaration if it is
6617         missing. Don't use _GL_CXXALIAS_SYS_CAST.
6618         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
6619         (getdomainname): When the system has getdomainname, call the system
6620         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
6621         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
6622         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
6623         found in libnsl. Look for the declaration also in <netdb.h>. Replace
6624         the function if its second argument is of type 'int' or if it is found
6625         in libnsl.
6626         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
6627         <sys/systeminfo.h> and sysinfo().
6628         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
6629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6630         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
6631         HAVE_GETDOMAINNAME.
6632         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
6633         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
6634         * doc/glibc-functions/getdomainname.texi: Document the problems with
6635         the getdomainname declaration.
6636
6637 2010-11-28  Bruno Haible  <bruno@clisp.org>
6638
6639         sys_socket: Ensure ss_family field on AIX.
6640         * lib/sys_socket.in.h (ss_family): New macro definition.
6641         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
6642         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
6643         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6644         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6645         * modules/sys_socket (Makefile.am): Substitute
6646         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6647         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
6648
6649 2010-11-27  Bruno Haible  <bruno@clisp.org>
6650
6651         readline: Improve configure output.
6652         * m4/readline.m4 (gl_FUNC_READLINE): Make the
6653         "checking for readline..." result understandable.
6654
6655 2010-11-27  Bruno Haible  <bruno@clisp.org>
6656
6657         *printf-posix: Detect a bug on Solaris 10/x86.
6658         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
6659         for floating-point output.
6660         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
6661         directive.
6662         * tests/test-snprintf-posix.h (test_function): Likewise.
6663         * tests/test-sprintf-posix.h (test_function): Likewise.
6664         * tests/test-vasprintf-posix.c (test_function): Likewise.
6665         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
6666         * doc/posix-functions/printf.texi: Likewise.
6667         * doc/posix-functions/snprintf.texi: Likewise.
6668         * doc/posix-functions/sprintf.texi: Likewise.
6669         * doc/posix-functions/vfprintf.texi: Likewise.
6670         * doc/posix-functions/vprintf.texi: Likewise.
6671         * doc/posix-functions/vsnprintf.texi: Likewise.
6672         * doc/posix-functions/vsprintf.texi: Likewise.
6673         * doc/glibc-functions/obstack_printf.texi: Likewise.
6674         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6675
6676 2010-11-27  Bruno Haible  <bruno@clisp.org>
6677
6678         Fix link error when module libunistring-optional is in use.
6679         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
6680         * modules/striconveha-tests (Makefile.am): Likewise.
6681
6682 2010-11-27  Bruno Haible  <bruno@clisp.org>
6683
6684         regex: Mention link dependencies.
6685         * modules/regex (Link): New section.
6686         * modules/rpmatch (Link): Likewise.
6687         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6688
6689 2010-11-27  Bruno Haible  <bruno@clisp.org>
6690
6691         ftoastr: Fix compilation error on Solaris.
6692         * lib/ftoastr.c: Include <config.h>.
6693
6694 2010-11-27  Bruno Haible  <bruno@clisp.org>
6695
6696         getloadavg: Update documentation.
6697         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6698
6699 2010-11-27  Bruno Haible  <bruno@clisp.org>
6700
6701         sys_socket: Fix test whether the functions are declared.
6702         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6703         not <sys/select.h>.
6704
6705 2010-11-27  Bruno Haible  <bruno@clisp.org>
6706
6707         getpass: Make sure to get system declaration on some platforms.
6708         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6709         gl_USE_SYSTEM_EXTENSIONS.
6710         * modules/getpass (Depends-on): Add extensions.
6711
6712 2010-11-26  Bruno Haible  <bruno@clisp.org>
6713
6714         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6715         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6716         'iconv' module is present.
6717         (ICONV_CONST): New macro.
6718         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6719         ICONV_CONST.
6720         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6721         set ICONV_CONST.
6722         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6723         here.
6724         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6725         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6726         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6727         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6728         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6729         present.
6730
6731 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6732
6733         ftoastr: comment fix
6734         * lib/ftoastr.c: "little" -> "little or no" in comment
6735
6736 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6737
6738         stdint: port to GCC 4.3 + OSX + Octave
6739         On this platform, stdint.h is buggy and defines int64_t to long
6740         long int.  The replacement defined it to long int, causing
6741         problems with C++ style name mangling.  Instead, trust the system
6742         definition if INT64_MAX is defined, and likewise for the unsigned
6743         variant.   Problem reported by Jarno Rajahalme in
6744         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6745         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6746         and don't mess with int64_t and INT64_MAX in this case.
6747         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6748
6749 2010-11-24  Bruno Haible  <bruno@clisp.org>
6750
6751         doc: Corrections regarding MacOS X 10.4 and 10.5.
6752         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6753         MacOS X.
6754         Reported by Simon Josefsson.
6755
6756 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6757
6758         Uninstall ".bin" files installed by relocwrapper.
6759         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6760         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6761         unless it is already there.
6762
6763 2010-11-21  Bruno Haible  <bruno@clisp.org>
6764
6765         Update for NetBSD 5.0.
6766         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6767         NetBSD; the test fails on NetBSD 5.0.
6768         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6769         about NetBSD.
6770
6771 2010-11-21  Bruno Haible  <bruno@clisp.org>
6772
6773         Update for HP-UX 11.23 and HP-UX 11.31.
6774         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6775         HP-UX.
6776
6777 2010-11-21  Bruno Haible  <bruno@clisp.org>
6778
6779         Update for MacOS X 10.5.
6780         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6781         MacOS X; the test fails on MacOS X 10.5.8.
6782         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6783         about MacOS X.
6784
6785 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6786
6787         bootstrap: add bootstrap_sync option.
6788         See discussion at
6789         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6790         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6791         * build-aux/bootstrap: Accept --bootstrap-sync to update
6792         bootstrap if it is not identical to the local gnulib's
6793         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6794         enable this by default.  Accept --no-bootstrap-sync to disable
6795         it.
6796
6797 2010-11-20  Bruno Haible  <bruno@clisp.org>
6798
6799         Ensure that <features.h> is included before __GLIBC__ is tested.
6800         * lib/printf-parse.h: Include <features.h>.
6801         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6802         Reported by Mike Frysinger <vapier@gentoo.org>.
6803
6804         Ensure that <features.h> is included before __GLIBC__ is tested.
6805         * lib/wchar.in.h: Include <features.h>.
6806         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6807         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6808         Reported by Mike Frysinger <vapier@gentoo.org>.
6809
6810         Ensure that <features.h> is included before __GLIBC__ is tested.
6811         * lib/arpa_inet.in.h: Include <features.h>.
6812         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6813         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6814         Reported by Mike Frysinger <vapier@gentoo.org>.
6815
6816         Ensure that <features.h> is included before __GLIBC__ is tested.
6817         * build-aux/link-warning.h: Include <features.h>.
6818         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6819         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6820         Reported by Mike Frysinger <vapier@gentoo.org>.
6821
6822         Ensure that <features.h> is included before __GLIBC__ is tested.
6823         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6824         Reported by Mike Frysinger <vapier@gentoo.org>.
6825
6826 2010-11-20  Bruno Haible  <bruno@clisp.org>
6827
6828         memmem: Fix autoconf test.
6829         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6830
6831 2010-11-20  Bruno Haible  <bruno@clisp.org>
6832
6833         Port to uClibc.
6834         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6835         * lib/fcntl.in.h: Likewise.
6836         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6837         * lib/mbrtowc.c (mbrtowc): Likewise.
6838         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6839         * lib/strerror_r.c: Likewise.
6840         * lib/unistr/u8-strnlen.c: Likewise.
6841         * lib/vasnprintf.c (decimal_point_char): Likewise.
6842         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6843         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6844         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6845         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6846         * tests/test-sigaction.c (handler, main): Likewise.
6847         * lib/freading.h: Treat uClibc like a non-glibc platform.
6848         * lib/freading.c: Likewise.
6849         * lib/gettext.h: Likewise.
6850         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6851         Likewise.
6852         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6853         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6854         * lib/propername.c (proper_name_utf8): Likewise.
6855         * lib/spawn.in.h: Likewise.
6856         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6857         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6858         mem_cd_iconveh_internal): Likewise.
6859         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6860         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6861         strstr, strcasestr): Likewise.
6862         * lib/unicodeio.c (unicode_to_mb): Likewise.
6863         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6864         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6865         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6866         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6867         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6868         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6869         * lib/unistr/u8-stpncpy.c: Likewise.
6870         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6871         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6872         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6873         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6874         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6875         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6876         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6877         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6878         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6879         Likewise.
6880         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6881         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6882         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6883         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6884         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6885         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6886         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6887         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6888         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6889         * tests/test-striconveha.c (main): Likewise.
6890         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6891         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6892         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6893         * doc/posix-functions/getline.texi: Likewise.
6894         Reported by Mike Frysinger <vapier@gentoo.org>.
6895
6896 2010-11-20  Bruno Haible  <bruno@clisp.org>
6897
6898         nproc: Fix condition.
6899         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6900         HAVE_PTHREAD_AFFINITY_NP.
6901
6902 2010-11-20  Bruno Haible  <bruno@clisp.org>
6903
6904         Fix a comment.
6905         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6906
6907 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6908
6909         ftoastr: don't assume snprintf
6910         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6911         Implement a subset of snprintf here, by using sprintf safely.
6912         * modules/ftoastr (Depends-on): Remove snprintf.
6913
6914 2010-11-19  Jim Meyering  <meyering@redhat.com>
6915
6916         test-rename.h: fix compilation failure
6917         * tests/test-rename.h (test_rename): Add omitted "}".
6918
6919 2010-11-17  Jim Meyering  <meyering@redhat.com>
6920
6921         maint.mk: add a URL discussing the no-@acronym policy
6922         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
6923
6924 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6925
6926         ftoastr: depend on snprintf, improve comments
6927         * lib/ftoastr.c: Also mention Loitsch's draft.
6928         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
6929         needed in the current implementation, but it might simplify
6930         speeding up the code later.
6931         * modules/ftoastr: Depend on snprintf; this improves portability.
6932         Suggested by Bruno Haible in the same email.
6933
6934         ftoastr: port to hosts lacking strtof and strtold
6935         Problem reported by Bruno Haible in
6936         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
6937         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
6938         environment and strtold (and presumably strtof) are not available.
6939         * modules/ftoastr (Files): Add m4/c-strtod.m4.
6940         (configure.ac): Require gl_C99_STRTOLD.
6941
6942 2010-11-18  Bruno Haible  <bruno@clisp.org>
6943
6944         c-strtold: Avoid link error on AIX 7.
6945         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
6946         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
6947         (gl_C_STRTOLD): Test whether strtold_l exists.
6948         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6949
6950 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6951
6952         intprops: new macro INT_BITS_STRLEN_BOUND
6953         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
6954         ftoastr.h.  This exposes an internal of intprops.h that was formerly
6955         not exposed.  Also, it uses a slightly tighter bound than before;
6956         though this makes no practical difference, we might as well be as
6957         tight as we easily can.
6958
6959         ftoastr: new module, for lossless conversion of floats to short strings
6960         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
6961         * modules/ftoastr: New files.
6962
6963 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6964
6965         bootstrap: port to Solaris sed
6966         * build-aux/bootstrap (get_version): Port to Solaris sed.
6967         See Ralf Wildenhues's note in
6968         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
6969
6970 2010-11-14  Jim Meyering  <meyering@redhat.com>
6971
6972         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
6973         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
6974         and move definition closer to sole use.
6975
6976 2010-11-13  Jim Meyering  <meyering@redhat.com>
6977
6978         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
6979         Now we require at least autoconf-2.59, which means the work-around
6980         is no longer needed.
6981         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
6982         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6983         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
6984         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6985         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6986
6987 2010-11-13  Bruno Haible  <bruno@clisp.org>
6988
6989         rename, renameat: Avoid test failures at NFS mounted locations.
6990         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
6991         functions.
6992         (test_rename): Use assert_nonexistent.
6993         * tests/test-rename.c: Include <dirent.h>.
6994         * tests/test-renameat.c: Likewise.
6995         Reported by Gary V. Vaughan <gary@gnu.org>.
6996
6997         rename, renameat: Document Linux bug with NFS
6998         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
6999         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
7000         * doc/posix-functions/renameat.texi: Likewise.
7001         Suggested by Eric Blake.
7002
7003 2010-11-13  Bruno Haible  <bruno@clisp.org>
7004
7005         rename test: Add comments.
7006         * tests/test-rename.h (test_rename): Add structure and comments.
7007
7008 2010-11-13  Eric Blake  <eblake@redhat.com>
7009
7010         maintainer-makefile: cover a few more files
7011         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
7012         scripts generated within C files, for libvirt.
7013
7014 2010-11-13  Bruno Haible  <bruno@clisp.org>
7015
7016         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
7017         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
7018         character, return the number of bytes that belong together, not always
7019         1.
7020         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
7021         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
7022         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
7023         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
7024         number of bytes of an invalid character.
7025         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
7026         (main): Invoke it.
7027         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
7028         results.
7029         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
7030         malformed byte sequences.
7031         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
7032         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
7033         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
7034         Reported by Ben Pfaff and Paolo Bonzini.
7035
7036 2010-11-13  Bruno Haible  <bruno@clisp.org>
7037
7038         openat: Work around glibc bug with fchownat() and empty file names.
7039         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
7040         (gl_FUNC_FCHOWNAT): Invoke it.
7041         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
7042         * doc/posix-functions/fchownat.texi: Document the glibc bug.
7043         Reported by Gary V. Vaughan <gary@gnu.org>.
7044
7045 2010-11-13  Bruno Haible  <bruno@clisp.org>
7046
7047         openat: Ensure autoconf macro ordering.
7048         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
7049         gl_USE_SYSTEM_EXTENSIONS.
7050         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
7051
7052 2010-11-13  Bruno Haible  <bruno@clisp.org>
7053
7054         Update comments.
7055         * lib/unistr/u8-check.c: Update file name in comments.
7056         * lib/unistr/u8-mblen.c: Likewise.
7057         * lib/unistr/u8-prev.c: Likewise.
7058         * lib/unistr/u8-strmblen.c: Likewise.
7059         * lib/unistr/u8-strmbtouc.c: Likewise.
7060
7061 2010-11-13  Jim Meyering  <meyering@redhat.com>
7062
7063         tests: avoid test failure on Solaris 10 due to lack of PATH export
7064         * tests/test-update-copyright.sh: Don't forget to export PATH.
7065
7066         init.sh: ensure that IFS is defined, just in case...
7067         * tests/init.sh (setup_): Ensure that IFS is defined,
7068         so that saving and restoring it works as expected.  This
7069         appears to be useful at least for an old version of dash
7070         from a long time ago (RH 6).  See here for details:
7071         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
7072
7073         maint.mk: tighten "test a == b" check
7074         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
7075         test to files that contain something like #!/bin/sh.
7076         Without this, coreutils would get two false positives in
7077         the comments of C source files.
7078
7079 2010-11-12  Eric Blake  <eblake@redhat.com>
7080
7081         bootstrap: fix typo in previous attempt
7082         * build-aux/bootstrap (buildreq): Correct the grouping.
7083         Reported by Paul Eggert.
7084
7085         maintainer-makefile: prohibit test x == x
7086         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
7087         Based on a report by Matthias Bolte.
7088
7089         bootstrap: allow FreeBSD gzip
7090         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
7091         which has no '.' and goes to stderr.
7092         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
7093         Reported by Matthias Bolte.
7094
7095         maintainer-makefile: check for i18n setup
7096         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
7097         will likely work.
7098
7099 2010-11-12  Bruno Haible  <bruno@clisp.org>
7100
7101         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
7102         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
7103         * lib/nanosleep.c (nanosleep): Likewise.
7104
7105 2010-11-11  Bruno Haible  <bruno@clisp.org>
7106
7107         fcntl-h: Fix for use of C++ on glibc systems.
7108         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7109         also on glibc systems in C++ mode.
7110         Reported by Gary V. Vaughan <gary@gnu.org>.
7111
7112 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7113
7114         mknod: avoid false failure with dash
7115         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
7116
7117 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7118
7119         unlink: Fix "is it should" typo in diagnostic.
7120         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
7121         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
7122
7123 2010-11-11  Bruno Haible  <bruno@clisp.org>
7124
7125         Tests for module 'strerror_r-posix'.
7126         * modules/strerror_r-posix-tests: New file.
7127         * tests/test-strerror_r.c: New file.
7128         * tests/test-string-c++.cc: Check the signature of strerror_r.
7129
7130         New module 'strerror_r-posix'.
7131         * lib/string.in.h (strerror_r): New declaration.
7132         * lib/strerror_r.c: New file.
7133         * m4/strerror_r.m4: New file.
7134         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
7135         of strerror_r.
7136         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
7137         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7138         * modules/strerror_r-posix: New file.
7139         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
7140         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7141         * doc/posix-functions/strerror_r.texi: Mention the new module and the
7142         portability problems.
7143
7144 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
7145
7146         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
7147         line is also considered for output. Quoted function name in shell
7148         command, so temporary files for functions like MyClass::operator()
7149         are removed correctly without errors.
7150
7151 2010-11-09  Bruno Haible  <bruno@clisp.org>
7152
7153         * doc/posix-functions/strerror.texi: List more failing platforms.
7154
7155         * doc/posix-functions/strerror.texi: Add a comment.
7156
7157 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
7158
7159         fdopendir: fix bug on MacOS X when low on file descriptors
7160
7161         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
7162         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
7163         All callers changed.
7164         (fdopendir): Invoke save_cwd at the top level, not after using
7165         multiple dup() calls to use up file descriptors.  Then retry
7166         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
7167         less than the maximum number of open file descriptors, because
7168         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
7169         on Mac OS X 10.6.4 for tar 1.24
7170         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
7171         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
7172         and for tar 1.25
7173         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
7174
7175 2010-11-07  Bruno Haible  <bruno@clisp.org>
7176
7177         vasnprintf: Support I flag on glibc systems.
7178         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
7179         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
7180         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
7181         snprintf function.
7182         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
7183         glibc systems.
7184         * tests/test-vasnprintf-posix3.c: New file.
7185         * modules/vasnprintf-posix-tests (Files): Add it.
7186         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
7187
7188 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7189
7190         [html] Fix copy/paste bug: Use unique name for compiler warnings.
7191         * MODULES.html.sh: For compiler warnings, use name
7192         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
7193
7194 2010-11-05  Eric Blake  <eblake@redhat.com>
7195
7196         ceil, floor: avoid spurious failure with icc
7197         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
7198         [denormals-as-zero] when optimizing without -mieee-fp option.
7199         * tests/test-floorf2.c (floorf_reference): Likewise.
7200         * tests/test-ceilf1.c (dummy): New function.
7201         (main): Use it to outsmart icc's optimization.
7202         * tests/test-floorf1.c (dummy, main): Likewise.
7203
7204         tests: require working signbit
7205         * modules/ceilf-tests (Depends-on): Add signbit.
7206         * modules/ceill-tests (Depends-on): Likewise.
7207         * modules/floorf-tests (Depends-on): Likewise.
7208         * modules/floorl-tests (Depends-on): Likewise.
7209         * modules/round-tests (Depends-on): Likewise.
7210         * modules/roundf-tests (Depends-on): Likewise.
7211         * modules/roundl-tests (Depends-on): Likewise.
7212         * modules/trunc-tests (Depends-on): Likewise.
7213         * modules/truncf-tests (Depends-on): Likewise.
7214         * modules/truncl-tests (Depends-on): Likewise.
7215
7216         strtod: work around icc bug
7217         * lib/strtod.c (minus_zero): Define to working value.
7218         (strtod): Use it to avoid icc bug.
7219
7220         copysign: enhance tests
7221         * modules/copysign-tests (Files): Add minus-zero.h.
7222         * tests/test-copysign.c (main): Also test zeros.
7223
7224 2010-11-04  Eric Blake  <eblake@redhat.com>
7225
7226         ceil, floor, round, trunc: enhance tests of -0
7227         * tests/test-ceilf1.c (main): Ensure correct sign of result.
7228         * tests/test-ceill.c (main): Likewise.
7229         * tests/test-floorf1.c (main): Likewise.
7230         * tests/test-floorl.c (main): Likewise.
7231         * tests/test-round1.c (main): Likewise.
7232         * tests/test-roundf1.c (main): Likewise.
7233         * tests/test-roundl.c (main): Likewise.
7234         * tests/test-trunc1.c (main): Likewise.
7235         * tests/test-truncf1.c (main): Likewise.
7236         * tests/test-truncl.c (main): Likewise.
7237
7238 2010-11-04  Eric Blake  <eblake@redhat.com>
7239
7240         frexp, tests: work around ICC bug with -zero
7241         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
7242         works with more compilers.
7243         * tests/minus-zero.h: New file.
7244         * modules/ceilf-tests (Files): Include it.
7245         * modules/ceill-tests (Files): Likewise.
7246         * modules/floorf-tests (Files): Likewise.
7247         * modules/floorl-tests (Files): Likewise.
7248         * modules/frexp-nolibm-tests (Files): Likewise.
7249         * modules/frexp-tests (Files): Likewise.
7250         * modules/frexpl-nolibm-tests (Files): Likewise.
7251         * modules/frexpl-tests (Files): Likewise.
7252         * modules/isnan-tests (Files): Likewise.
7253         * modules/isnand-nolibm-tests (Files): Likewise.
7254         * modules/isnand-tests (Files): Likewise.
7255         * modules/isnanf-nolibm-tests (Files): Likewise.
7256         * modules/isnanf-tests (Files): Likewise.
7257         * modules/isnanl-nolibm-tests (Files): Likewise.
7258         * modules/isnanl-tests (Files): Likewise.
7259         * modules/round-tests (Files): Likewise.
7260         * modules/roundf-tests (Files): Likewise.
7261         * modules/roundl-tests (Files): Likewise.
7262         * modules/ldexpl-tests (Files): Likewise.
7263         * modules/signbit-tests (Files): Likewise.
7264         * modules/snprintf-posix-tests (Files): Likewise.
7265         * modules/sprintf-posix-tests (Files): Likewise.
7266         * modules/strtod-tests (Files): Likewise.
7267         * modules/trunc-tests (Files): Likewise.
7268         * modules/truncf-tests (Files): Likewise.
7269         * modules/truncl-tests (Files): Likewise.
7270         * modules/vsnprintf-posix-tests (Files): Likewise.
7271         * modules/vsprintf-posix-tests (Files): Likewise.
7272         * modules/vasnprintf-posix-tests (Files): Likewise.
7273         * modules/vasprintf-posix-tests (Files): Likewise.
7274         * tests/test-ceilf1.c (main): Use it.
7275         * tests/test-ceill.c (main): Likewise.
7276         * tests/test-floorf1.c (main): Likewise.
7277         * tests/test-floorl.c (main): Likewise.
7278         * tests/test-frexp.c (main): Likewise.
7279         * tests/test-frexpl.c (main): Likewise.
7280         * tests/test-isnan.c (main): Likewise.
7281         * tests/test-isnand.h (main): Likewise.
7282         * tests/test-isnanf.h (main): Likewise.
7283         * tests/test-isnanl.h (main): Likewise.
7284         * tests/test-ldexpl.c (main): Likewise.
7285         * tests/test-round.c (main): Likewise.
7286         * tests/test-roundf.c (main): Likewise.
7287         * tests/test-roundl.c (main): Likewise.
7288         * tests/test-signbit.c (test_signbitf, test_signbitd)
7289         (test_signbitl): Likewise.
7290         * tests/test-snprintf-posix.h (test_function): Likewise.
7291         * tests/test-sprintf-posix.h (test_function): Likewise.
7292         * tests/test-strtod.c (main): Likewise.
7293         * tests/test-trunc1.c (main): Likewise.
7294         * tests/test-truncf1.c (main): Likewise.
7295         * tests/test-truncl.c (main): Likewise.
7296
7297         isnanl: work around icc bug
7298         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
7299
7300 2010-11-03  Eric Blake  <eblake@redhat.com>
7301
7302         tests: fix compiler warnings
7303         * tests/test-getopt.h (test_getopt): Fix condition.
7304         * tests/test-getopt_long.h (test_getopt_long): Likewise.
7305         * tests/test-pipe2.c (main): Likewise.
7306         * tests/test-quotearg-simple.c (main): Avoid icc warning.
7307
7308         utimens: fix broken m4 test
7309         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
7310
7311 2010-10-28  Bruno Haible  <bruno@clisp.org>
7312
7313         posix_spawn*, getdtablesize: Relax license.
7314         * modules/posix_spawn (License): Change to LGPLv2+.
7315         * modules/posix_spawnp (License): Likewise.
7316         * modules/posix_spawn-internal (License): Likewise.
7317         * modules/posix_spawnattr_init (License): Likewise.
7318         * modules/posix_spawnattr_getflags (License): Likewise.
7319         * modules/posix_spawnattr_setflags (License): Likewise.
7320         * modules/posix_spawnattr_getpgroup (License): Likewise.
7321         * modules/posix_spawnattr_setpgroup (License): Likewise.
7322         * modules/posix_spawnattr_getschedparam (License): Likewise.
7323         * modules/posix_spawnattr_setschedparam (License): Likewise.
7324         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
7325         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
7326         * modules/posix_spawnattr_getsigdefault (License): Likewise.
7327         * modules/posix_spawnattr_setsigdefault (License): Likewise.
7328         * modules/posix_spawnattr_getsigmask (License): Likewise.
7329         * modules/posix_spawnattr_setsigmask (License): Likewise.
7330         * modules/posix_spawnattr_destroy (License): Likewise.
7331         * modules/posix_spawn_file_actions_init (License): Likewise.
7332         * modules/posix_spawn_file_actions_addclose (License): Likewise.
7333         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
7334         * modules/posix_spawn_file_actions_addopen (License): Likewise.
7335         * modules/posix_spawn_file_actions_destroy (License): Likewise.
7336         * modules/getdtablesize (License): Likewise.
7337         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
7338
7339 2010-10-26  Bruno Haible  <bruno@clisp.org>
7340
7341         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
7342         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
7343         Cygwin and mingw.
7344         Suggested by Eric Blake.
7345
7346 2010-10-26  Bruno Haible  <bruno@clisp.org>
7347
7348         stdio: Work around compilation error due to renameat() on Solaris 10.
7349         * lib/stdio.in.h: Include <unistd.h> on Solaris.
7350         * lib/renameat.c: Don't include <unistd.h> here.
7351         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
7352         Reported by Paul Eggert and Eric Blake.
7353
7354 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
7355
7356         renameat: port to Solaris 10, which declares renameat in unistd.h
7357
7358         * lib/renameat.c: Include unistd.h before stdio.h, because
7359         Solaris 10 declares renameat in unistd.h.  Problem encountered
7360         when building GNU tar 1.24 on Solaris 10.
7361
7362 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7363
7364         fdopendir: fix C89 compilation
7365         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
7366         compilers.
7367
7368 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7369
7370         inttostr: simplify by removing unnecessary redundancy
7371         * lib/anytostr.c: Don't include verify.h.
7372         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
7373         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
7374         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
7375         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
7376         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
7377         Likewise.
7378         * modules/inttostr (Depends-on): Remove 'verify'.
7379
7380 2010-10-23  Bruno Haible  <bruno@clisp.org>
7381
7382         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
7383         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
7384         Reported by Eric Blake.
7385
7386 2010-10-23  Bruno Haible  <bruno@clisp.org>
7387
7388         Tests: Fix LOCALE_JA on MirBSD 10.
7389         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
7390         to an UTF-8 locale.
7391         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
7392         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7393         Reported by Eric Blake.
7394
7395 2010-10-21  Bruno Haible  <bruno@clisp.org>
7396
7397         nl_langinfo test: Avoid test failure on NetBSD 5.
7398         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
7399         Reported by Eric Blake.
7400
7401 2010-10-21  Eric Blake  <eblake@redhat.com>
7402
7403         c-stack: work around libsigsegv 2.8 bug
7404         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
7405         overflow on at least PowerPC64.
7406
7407 2010-10-17  Bruno Haible  <bruno@clisp.org>
7408
7409         userspec: Drop redundant file.
7410         * modules/userspec (Files): Remove lib/inttostr.h.
7411
7412 2010-10-17  Bruno Haible  <bruno@clisp.org>
7413
7414         nl_langinfo tests: Silence some warnings.
7415         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
7416         Reported by Jim Meyering.
7417
7418 2010-10-17  Bruno Haible  <bruno@clisp.org>
7419
7420         Make use of GCC's attribute __alloc_size__.
7421         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
7422         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
7423         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
7424         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
7425         __alloc_size__.
7426         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
7427         Suggested by Jim Meyering.
7428
7429 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
7430
7431         bootstrap: anchor .gitignore entries.
7432         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
7433         with...
7434         (insert_vc_ignore): ... this new function, which prepends `/' to
7435         all .gitignore entries before passing them to
7436         insert_sorted_if_absent.
7437
7438 2010-10-16  Bruno Haible  <bruno@clisp.org>
7439
7440         nextafter: Fix configure check.
7441         * modules/nextafter (configure.ac): Correct expected prototype.
7442
7443 2010-10-16  Bruno Haible  <bruno@clisp.org>
7444
7445         termios: Update documentation.
7446         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
7447
7448 2010-10-16  Bruno Haible  <bruno@clisp.org>
7449
7450         tests: Make them compile with TinyCC.
7451         * tests/test-strstr.c (main): Remove parentheses around array
7452         initializer.
7453
7454 2010-10-15  Eric Blake  <eblake@redhat.com>
7455
7456         ignore-value: make header idempotent
7457         * lib/ignore-value.h: Add double-inclusion guards.
7458         Reported by Stefan Berger.
7459
7460 2010-10-15  Jim Meyering  <meyering@redhat.com>
7461
7462         GNUmakefile: handle "stable" target, not "major"
7463         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
7464         lists in maint.mk and announce-gen.  Without this, "make stable"
7465         would fail to ensure that $(VERSION) is up to date.
7466
7467 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
7468
7469         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
7470         & co.
7471
7472 2010-10-14  Bruno Haible  <bruno@clisp.org>
7473
7474         vasnprintf: Don't set errno to 0.
7475         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
7476         block that sets it to 0.
7477         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
7478
7479 2010-10-14  Bruno Haible  <bruno@clisp.org>
7480
7481         socketlib: Fix.
7482         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
7483         gl_PREREQ_SYS_H_WINSOCK2.
7484         Reported by Ian Beckwith <ianb@erislabs.net>.
7485
7486 2010-10-13  Jim Meyering  <meyering@redhat.com>
7487
7488         test-select-stdin.c: avoid warn_unused_result warnings
7489         * tests/test-select-stdin.c: Include "macros.h".
7490         ASSERT that read and fflush succeed.
7491
7492 2010-10-13  Jim Meyering  <meyering@redhat.com>
7493
7494         git-version-gen: do require git-VC'd files in cwd
7495         * build-aux/git-version-gen: Reject a git version string
7496         if there are no commits associated with the current directory.
7497         This avoids an unlikely false-positive (unrelated dir whose parent
7498         repository also contains a tag matching v*), as pointed out
7499         by Giuseppe Scrivano in
7500         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
7501
7502 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7503
7504         argv-iter: omit nonconforming declaration
7505         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
7506         enum arg_iter_err declaration, which doesn't conform to C99.
7507         Solaris 10 cc warns about this.
7508
7509 2010-10-13  Eric Blake  <eblake@redhat.com>
7510
7511         termios: fix compilation on mingw
7512         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
7513         (gl_TERMIOS_H): Adjust it on mingw.
7514         * modules/termios (Makefile.am): Substitute new key.
7515         * lib/termios.in.h (includes): Make include_next conditional.
7516         * doc/posix-headers/termios.texi (termios.h): Update
7517         documentation.
7518         Reported by Daniel P. Berrange.
7519
7520 2010-10-13  Jim Meyering  <meyering@redhat.com>
7521
7522         git-version-gen: don't require that .git/ be in the current dir
7523         * build-aux/git-version-gen: Adjust this script so that it works
7524         when run from any working directory beneath the top-level .git/-
7525         containing directory.  Inspired by a patch from Giuseppe Scrivano,
7526         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
7527
7528         test-select: avoid warn_unused_result warnings
7529         * tests/test-select.c: Include "macros.h".
7530         ASSERT that each call to read, write, and pipe succeeds.
7531         While not technically required, also check each "close".
7532         * modules/select-tests (Files): Add tests/macros.h.
7533
7534         test-symlinkat: remove declaration of unused local
7535         * tests/test-symlinkat.c (main): Remove unused local, "buf".
7536
7537         test-inttostr: avoid shadowing warnings
7538         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
7539         and use malloc rather than the stack for the same reason as
7540         mentioned in the comment justifying the other allocation.
7541
7542 2010-10-11  Bruno Haible  <bruno@clisp.org>
7543
7544         stdlib: Allow multiple gnulib generated replacements to coexist.
7545         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
7546         Reported by Sam Steingold <sds@gnu.org>.
7547
7548 2010-10-11  Jim Meyering  <meyering@redhat.com>
7549
7550         fix a documentation typo
7551         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
7552
7553 2010-10-11  Eric Blake  <eblake@redhat.com>
7554
7555         futimens: work around Solaris 11 bug
7556         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
7557         * tests/test-futimens.h (test_futimens): Enhance, rather than
7558         weaken test.
7559         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7560
7561 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7562
7563         Indentation.
7564         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
7565         higher-level operators more to the left.
7566
7567 2010-10-11  Jim Meyering  <meyering@redhat.com>
7568
7569         test-futimens: avoid unwarranted test failure on Solaris 5.11
7570         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
7571         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
7572         because it tries to dereference the NULL name argument.
7573
7574 2010-10-11  Bruno Haible  <bruno@clisp.org>
7575
7576         Indentation.
7577         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
7578         indentation.
7579
7580 2010-10-11  Jim Meyering  <meyering@redhat.com>
7581
7582         spawn.in.h: make indentation consistent with parentheses
7583         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
7584         Make indentation consistent with parentheses.
7585
7586 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
7587
7588         Fix mismatched parens in previous commit
7589         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
7590         parens.
7591
7592 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7593
7594         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
7595
7596         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
7597         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
7598         * lib/malloca.c: Include "verify.h".
7599         (verify1): Remove, replacing with a verify call.
7600         * lib/relocwrapper.c (verify1): Likewise.
7601         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
7602         Likewise.
7603         * modules/malloca (Depends-on): Add 'verify'.
7604         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
7605         * modules/vasnprintf (Depends-on): Add 'verify'.
7606         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
7607         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
7608         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
7609         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
7610         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
7611         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
7612         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
7613
7614         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
7615
7616         Formerly the style was sometimes 2*X - 1, because the C standard
7617         was wrongly thought to disallow ?: in integral constant expressions.
7618         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
7619         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
7620         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7621         * lib/stdint.in.h (_verify_intmax_size): Likewise.
7622         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
7623         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
7624         verify that time_t cannot be floating.
7625
7626 2010-10-08  Eric Blake  <eblake@redhat.com>
7627
7628         time: enforce recent POSIX ruling that time_t is integral
7629         * lib/time.in.h (__time_t_must_be_integral): Detect any
7630         problematic systems, allowing the rest of gnulib to assume POSIX.
7631
7632 2010-10-08  Jim Meyering  <meyering@redhat.com>
7633
7634         fdopendir: fix a bug on systems lacking openat and /proc support
7635         OpenBSD 4.7 is one such system.  The most noticeable effect was
7636         failure of any application making nontrivial use of fts: rm, du,
7637         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
7638           ./rm: traversal failed: `a': Bad file descriptor
7639         Debugging that, you see that even though FD 6 was closed just
7640         prior to the opendir call in fd_clone_opendir, its resulting
7641         dir->dd_fd was 8, rather than the expected value of 6:
7642
7643         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
7644         93                close (fd);
7645         (gdb) n
7646         94                dir = fd_clone_opendir (dupfd);
7647         (gdb) n
7648         95                saved_errno = errno;
7649         (gdb) p dir->dd_fd
7650         $11 = 8
7651
7652         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
7653         The problem is that on OpenBSD, fd_clone_opendir has to resort
7654         to using the old-style save/restore CWD mechanism, due to its
7655         lack of openat/proc support, and *that* would steal the FD (6)
7656         that opendir was supposed to use.
7657
7658         The fix is to squirrel away the desired FD so that save_cwd uses a
7659         different one, and then free the dest FD right before calling opendir.
7660         That guarantees opendir will use the required file descriptor.
7661
7662         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
7663
7664 2010-10-08  Bruno Haible  <bruno@clisp.org>
7665
7666         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
7667         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
7668
7669 2010-10-08  Bruno Haible  <bruno@clisp.org>
7670
7671         nanosleep: Make replacement POSIX compliant.
7672         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
7673         is out of range.
7674         Reported by Jim Meyering.
7675
7676 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7677
7678         bootstrap: add hook for altering gnulib.mk, for Bison
7679         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
7680         the Bison bootstrapping process can rewrite file names and variables
7681         in this file before later parts of 'bootstrap' use the file.
7682         Bison wants to include lib/gnulib.mk from the top-level makefile,
7683         so it needs the file names in this file to be relative to the top
7684         level, not relative to lib; plus it needs variable names to be
7685         rewritten.
7686         (slurp): Use the new function.
7687
7688         bootstrap: reformat for readability
7689         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7690
7691 2010-10-08  Eric Blake  <eblake@redhat.com>
7692
7693         docs: update cygwin progress
7694         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7695         1.7.7.
7696         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7697         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7698         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7699         * doc/posix-functions/carg.texi (carg): Likewise.
7700         * doc/posix-functions/cargf.texi (cargf): Likewise.
7701         * doc/posix-functions/casin.texi (casin): Likewise.
7702         * doc/posix-functions/casinf.texi (casinf): Likewise.
7703         * doc/posix-functions/casinh.texi (casinh): Likewise.
7704         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7705         * doc/posix-functions/catan.texi (catan): Likewise.
7706         * doc/posix-functions/catanf.texi (catanf): Likewise.
7707         * doc/posix-functions/catanh.texi (catanh): Likewise.
7708         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7709         * doc/posix-functions/ccos.texi (ccos): Likewise.
7710         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7711         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7712         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7713         * doc/posix-functions/cexp.texi (cexp): Likewise.
7714         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7715         * doc/posix-functions/cimag.texi (cimag): Likewise.
7716         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7717         * doc/posix-functions/clog.texi (clog): Likewise.
7718         * doc/posix-functions/clogf.texi (clogf): Likewise.
7719         * doc/posix-functions/conj.texi (conj): Likewise.
7720         * doc/posix-functions/conjf.texi (conjf): Likewise.
7721         * doc/posix-functions/cpow.texi (cpow): Likewise.
7722         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7723         * doc/posix-functions/cproj.texi (cproj): Likewise.
7724         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7725         * doc/posix-functions/creal.texi (creal): Likewise.
7726         * doc/posix-functions/crealf.texi (crealf): Likewise.
7727         * doc/posix-functions/csin.texi (csin): Likewise.
7728         * doc/posix-functions/csinf.texi (csinf): Likewise.
7729         * doc/posix-functions/csinh.texi (csinh): Likewise.
7730         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7731         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7732         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7733         * doc/posix-functions/ctan.texi (ctan): Likewise.
7734         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7735         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7736         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7737         * doc/posix-headers/complex.texi (complex.h): Likewise.
7738
7739 2010-10-07  Jim Meyering  <meyering@redhat.com>
7740
7741         parse-datetime: avoid compilation failure on OpenBSD 4.7
7742         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7743         This works around a compilation failure on OpenBSD 4.7:
7744         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7745
7746 2010-10-07  Eric Blake  <eblake@redhat.com>
7747
7748         docs: update cygwin progress
7749         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7750         1.7.6.
7751         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7752         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7753         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7754         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7755         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7756         Likewise.
7757         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7758         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7759         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7760         Likewise.
7761         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7762         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7763         Likewise.
7764         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7765         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7766         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7767         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7768         Likewise.
7769         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7770         Likewise.
7771         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7772
7773         docs: update parse-datetime history
7774         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7775         documentation of this function's history and alternatives.
7776
7777         cygwin: use more robust version check
7778         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7779         exclude an eventual cygwin 1.9.1.
7780         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7781         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7782         (gl_FUNC_STRCASESTR): Likewise.
7783         Reported by Bruno Haible.
7784
7785 2010-10-06  Bruno Haible  <bruno@clisp.org>
7786
7787         string, sys_select: Avoid #including large headers unless necessary.
7788         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7789         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7790         OSF/1, BeOS, Haiku.
7791         Reported by Jim Meyering.
7792
7793 2010-10-05  Eric Blake  <eblake@redhat.com>
7794
7795         memmem, strstr, strcasestr: fix bug with long periodic needle
7796         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7797         periodic needle having false positive.
7798         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7799         and cygwin 1.7.7.
7800         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7801         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7802         (gl_FUNC_STRCASESTR): Likewise.
7803         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7804         * tests/test-memmem.c (main): Expose the bug.
7805         * tests/test-strcasestr.c (main): Likewise.
7806         * tests/test-strstr.c (main): Likewise.
7807         * tests/test-c-strcasestr.c (main): Likewise.
7808         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7809         * doc/posix-functions/strstr.texi (strstr): Likewise.
7810         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7811         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7812
7813 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7814
7815         parse-datetime: do some more renaming
7816         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7817         parse_datetime, not get_date.  Mention the renaming.
7818         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7819         in comments.
7820         * m4/bison.m4: Likewise.
7821
7822 2010-10-05  Eric Blake  <eblake@redhat.com>
7823
7824         parse-datetime: better name than get_date
7825         * NEWS: Reword the deprecation notice.
7826         * modules/get_date: Rename to modules/parse-datetime.
7827         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7828         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7829         * lib/get_date.y: Rename to lib/parse-datetime.y.
7830         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7831         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7832         * doc/getdate.texi: Provide fallback wrapper.
7833         * lib/getdate.h: Move guts, and wrap...
7834         * lib/parse-datetime.h: ...new file.
7835         * lib/parse-datetime.y (get_date): Rename...
7836         (parse_datetime): ...to this.
7837         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7838         (gl_PARSE_DATETIME): ...to this.
7839         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7840         documentation.
7841         * modules/getdate (Files): Provide fallback docs and header.
7842         (Notice, Depends-on): Update references.
7843         * tests/test-parse-datetime.c: Likewise.
7844         * DEPENDENCIES: Likewise.
7845         * MODULES.html.sh (Date and time <time.h>): Likewise.
7846         * doc/parse-datetime.texi (Date input formats)
7847         (Authors of parse_datetime): Likewise.
7848         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7849         (Include): Likewise.
7850         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7851         * gnulib-tool: Likewise.
7852         * m4/bison.m4 (gl_BISON): Likewise.
7853         Suggested by Bruno Haible.
7854
7855 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7856
7857         more ports to Solaris tr, which needs [] around ranges
7858         * gnulib-tool: Solaris tr needs [] around ranges.
7859         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7860         * tests/test-pipe-filter-gi1.c (main): Likewise.
7861         * tests/test-pipe-filter-ii1.c (main): Likewise.
7862
7863 2010-10-05  Eric Blake  <eblake@redhat.com>
7864
7865         bootstrap: fix Solaris regression
7866         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7867         around ranges.
7868         Reported by Pádraig Brady.
7869
7870         bootstrap: work with pkg-config
7871         * build-aux/bootstrap (check_versions): Also transliterate - in
7872         prerequisite name.
7873         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7874         prerequisites that were already found, to avoid confusion.
7875         Reported by Justin Clift.
7876
7877         faccessat: remove unused wrappers
7878         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7879         presence of these wrappers dragged in -lgen on Solaris.
7880         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7881
7882 2010-10-05  Jim Meyering  <meyering@redhat.com>
7883
7884         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7885         * Makefile (sc_pragma_columns): New syntax-check rule.
7886
7887 2010-10-04  Bruno Haible  <bruno@clisp.org>
7888
7889         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7890         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7891         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7892         Reported by Bruce Korb and Eric Blake.
7893
7894 2010-10-04  Bruno Haible  <bruno@clisp.org>
7895
7896         threadlib: Make option --with-libpth-prefix work.
7897         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7898         use $LIBPTH, not just -lpth.
7899
7900 2010-10-04  Bruno Haible  <bruno@clisp.org>
7901
7902         Avoid line length limitation from HP NonStop system header files.
7903         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7904         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7905         * lib/ctype.in.h: Likewise.
7906         * lib/dirent.in.h: Likewise.
7907         * lib/errno.in.h: Likewise.
7908         * lib/fcntl.in.h: Likewise.
7909         * lib/float.in.h: Likewise.
7910         * lib/getopt.in.h: Likewise.
7911         * lib/iconv.in.h: Likewise.
7912         * lib/inttypes.in.h: Likewise.
7913         * lib/langinfo.in.h: Likewise.
7914         * lib/locale.in.h: Likewise.
7915         * lib/math.in.h: Likewise.
7916         * lib/netdb.in.h: Likewise.
7917         * lib/netinet_in.in.h: Likewise.
7918         * lib/poll.in.h: Likewise.
7919         * lib/pthread.in.h: Likewise.
7920         * lib/pty.in.h: Likewise.
7921         * lib/sched.in.h: Likewise.
7922         * lib/se-selinux.in.h: Likewise.
7923         * lib/search.in.h: Likewise.
7924         * lib/signal.in.h: Likewise.
7925         * lib/spawn.in.h: Likewise.
7926         * lib/stdarg.in.h: Likewise.
7927         * lib/stddef.in.h: Likewise.
7928         * lib/stdint.in.h: Likewise.
7929         * lib/stdio.in.h: Likewise.
7930         * lib/stdlib.in.h: Likewise.
7931         * lib/string.in.h: Likewise.
7932         * lib/strings.in.h: Likewise.
7933         * lib/sys_file.in.h: Likewise.
7934         * lib/sys_ioctl.in.h: Likewise.
7935         * lib/sys_select.in.h: Likewise.
7936         * lib/sys_socket.in.h: Likewise.
7937         * lib/sys_stat.in.h: Likewise.
7938         * lib/sys_time.in.h: Likewise.
7939         * lib/sys_times.in.h: Likewise.
7940         * lib/sys_utsname.in.h: Likewise.
7941         * lib/sys_wait.in.h: Likewise.
7942         * lib/sysexits.in.h: Likewise.
7943         * lib/termios.in.h: Likewise.
7944         * lib/time.in.h: Likewise.
7945         * lib/unistd.in.h: Likewise.
7946         * lib/wchar.in.h: Likewise.
7947         * lib/wctype.in.h: Likewise.
7948         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
7949         * modules/ctype (Makefile.am): Likewise.
7950         * modules/dirent (Makefile.am): Likewise.
7951         * modules/errno (Makefile.am): Likewise.
7952         * modules/fcntl-h (Makefile.am): Likewise.
7953         * modules/float (Makefile.am): Likewise.
7954         * modules/getopt-posix (Makefile.am): Likewise.
7955         * modules/iconv-h (Makefile.am): Likewise.
7956         * modules/inttypes (Makefile.am): Likewise.
7957         * modules/langinfo (Makefile.am): Likewise.
7958         * modules/locale (Makefile.am): Likewise.
7959         * modules/math (Makefile.am): Likewise.
7960         * modules/netdb (Makefile.am): Likewise.
7961         * modules/netinet_in (Makefile.am): Likewise.
7962         * modules/poll-h (Makefile.am): Likewise.
7963         * modules/pthread (Makefile.am): Likewise.
7964         * modules/pty (Makefile.am): Likewise.
7965         * modules/sched (Makefile.am): Likewise.
7966         * modules/search (Makefile.am): Likewise.
7967         * modules/selinux-h (Makefile.am): Likewise.
7968         * modules/signal (Makefile.am): Likewise.
7969         * modules/spawn (Makefile.am): Likewise.
7970         * modules/stdarg (Makefile.am): Likewise.
7971         * modules/stddef (Makefile.am): Likewise.
7972         * modules/stdint (Makefile.am): Likewise.
7973         * modules/stdio (Makefile.am): Likewise.
7974         * modules/stdlib (Makefile.am): Likewise.
7975         * modules/string (Makefile.am): Likewise.
7976         * modules/strings (Makefile.am): Likewise.
7977         * modules/sys_file (Makefile.am): Likewise.
7978         * modules/sys_ioctl (Makefile.am): Likewise.
7979         * modules/sys_select (Makefile.am): Likewise.
7980         * modules/sys_socket (Makefile.am): Likewise.
7981         * modules/sys_stat (Makefile.am): Likewise.
7982         * modules/sys_time (Makefile.am): Likewise.
7983         * modules/sys_times (Makefile.am): Likewise.
7984         * modules/sys_utsname (Makefile.am): Likewise.
7985         * modules/sys_wait (Makefile.am): Likewise.
7986         * modules/sysexits (Makefile.am): Likewise.
7987         * modules/termios (Makefile.am): Likewise.
7988         * modules/time (Makefile.am): Likewise.
7989         * modules/unistd (Makefile.am): Likewise.
7990         * modules/wchar (Makefile.am): Likewise.
7991         * modules/wctype (Makefile.am): Likewise.
7992
7993 2010-10-04  Bruno Haible  <bruno@clisp.org>
7994
7995         read-file tests: Avoid a test failure on NonStop Kernel.
7996         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
7997         a regular file.
7998         Reported by Joachim Schmitz <schmitz@hp.com>.
7999
8000 2010-10-03  Bruno Haible  <bruno@clisp.org>
8001
8002         gnulib-tool: Fixes for --create-testdir with --libtool.
8003         * gnulib-tool (func_get_automake_snippet): Don't augment
8004         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
8005         an executable.
8006         (func_create_testdir): Handle module 'alloca' like func_import.
8007         Reported by Bruce Korb <bruce.korb@gmail.com>.
8008
8009 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8010
8011         Avoid some lines longer than 80 characters.
8012         * lib/stdint.in.h: Break long comment lines.
8013         * lib/math.in.h: Likewise.
8014         (_GL_NUM_UINT_WORDS): New macro, for readability.
8015         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
8016         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
8017         * lib/stdlib.in.h: Likewise.
8018         * lib/spawn.in.h: Likewise.
8019         * lib/sys_socket.in.h: Update an URL.
8020         * lib/sys_stat.in.h: Break long line.
8021
8022 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
8023
8024         Improve pmccabe2html.
8025         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
8026         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
8027         when the sources change. Remove the line in the HTML about "Used
8028         ranges" (which implied that there might be other unused ranges),
8029         rename "Resume" to "Summary" (easier to understand for more users).
8030         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
8031         styles, and some unnecessary blank lines.
8032
8033 2010-10-03  Bruno Haible  <bruno@clisp.org>
8034             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8035
8036         acl: Add support for ACLs on NonStop Kernel.
8037         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
8038         Check whether the function aclsort() exists.
8039         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
8040         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
8041         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8042         (acl_nontrivial [HAVE_ACLSORT]: New function.
8043         (file_has_acl): Implement for NonStop Kernel.
8044         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8045         (qset_acl): Implement for NonStop Kernel.
8046         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
8047         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8048         (main): Implement for NonStop Kernel.
8049         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
8050         Kernel. Handle this flavor.
8051         * tests/test-set-mode-acl.sh: Likewise.
8052         * tests/test-copy-acl.sh: Likewise.
8053         * tests/test-copy-file.sh: Likewise.
8054
8055 2010-10-03  Bruno Haible  <bruno@clisp.org>
8056
8057         Info about ACLs on NonStop Kernel.
8058         * doc/acl-resources.txt: Add info about NonStop Kernel.
8059         References by Joachim Schmitz <schmitz@hp.com>.
8060
8061 2010-10-02  Bruno Haible  <bruno@clisp.org>
8062
8063         Define missing EDQUOT on NonStop Kernel.
8064         * lib/errno.in.h (EDQUOT): Assign a value if missing.
8065         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
8066         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
8067         missing.
8068         * doc/posix-headers/errno.texi: Mention the NSK bug.
8069         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
8070         Reported by Joachim Schmitz <schmitz@hp.com>.
8071
8072 2010-10-02  Bruno Haible  <bruno@clisp.org>
8073
8074         Update doc for POSIX:2008.
8075         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
8076         Update URL of POSIX specification.
8077
8078 2010-10-02  Bruno Haible  <bruno@clisp.org>
8079
8080         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
8081         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
8082         from gnulib, not from Automake.
8083
8084 2010-10-02  Bruno Haible  <bruno@clisp.org>
8085
8086         New module 'system-posix'.
8087         * modules/system-posix: New file.
8088         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
8089         module is present.
8090         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
8091         GNULIB_SYSTEM_POSIX.
8092         * modules/stdlib (Depends-on): Remove sys_wait.
8093         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
8094         * doc/posix-functions/system.texi: Mention the new module.
8095         * doc/posix-headers/stdlib.texi: Likewise.
8096         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
8097         define test_sys_wait_macros to a no-op.
8098         Reported by Sam Steingold <sds@gnu.org>.
8099
8100 2010-09-30  Bruno Haible  <bruno@clisp.org>
8101
8102         More renaming from 'getdate' to 'get_date'.
8103         * doc/get_date.texi: Renamed from doc/getdate.texi.
8104         * modules/get_date (Files): Update.
8105         * MODULES.html.sh (Date and time <time.h>): Update.
8106         * DEPENDENCIES: Update.
8107         * gnulib-tool: Update comment.
8108         * m4/bison.m4 (gl_BISON): Likewise.
8109         * m4/get_date.m4 (gl_GET_DATE): Likewise.
8110
8111 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
8112
8113         bootstrap: support ACLOCAL_FLAGS during aclocal
8114         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
8115         can add additional -I dir for third-party .m4 files.
8116
8117 2010-09-30  Eric Blake  <eblake@redhat.com>
8118
8119         bootstrap: use glibtoolize on MacOS
8120         * build-aux/bootstrap (check_versions): Convert libtool into
8121         libtoolize.
8122         (tool search): Move libtool check earlier, and look for
8123         glibtoolize for MacOS.
8124         (gnulib_tool_options): Auto-add --libtool when appropriate.
8125         Reported by Justin Clift.
8126
8127         poll: fix typo that broke test on MacOS
8128         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
8129         Reported by Justin Clift.
8130
8131         getdate: rename to get_date
8132         Note: getdate.h is not renamed, to minimize client impact.
8133         * modules/getdate: Mark obsolete.  Move old contents...
8134         * modules/get_date: ...to new module name.
8135         * modules/getdate-tests: Move...
8136         * modules/get_date-tests: ...here.
8137         * m4/getdate.m4: Move...
8138         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
8139         * lib/getdate.y: Move...
8140         * lib/get_date.y: ...here.
8141         * tests/test-getdate.c: Move...
8142         * tests/test-get_date.c: ...here.
8143         * doc/posix-functions/getdate.texi (getdate): Update name.
8144         * NEWS: Mention the change.
8145
8146 2010-09-29  Bruno Haible  <bruno@clisp.org>
8147
8148         Separate the module 'waitpid' from the module 'sys_wait'.
8149         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
8150         present.
8151         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
8152         gl_MODULE_INDICATOR_FOR_TESTS.
8153         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
8154         * modules/sys_wait (Depends-on): Remove waitpid.
8155         (Makefile.am): Substitute GNULIB_WAITPID.
8156         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
8157         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
8158         signature only if the 'waitpid' module is present.
8159         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
8160         * NEWS: Mention the change.
8161         * modules/grantpt (Depends-on): Add waitpid.
8162         * modules/wait-process (Depends-on): Likewise.
8163
8164 2010-09-29  Bruno Haible  <bruno@clisp.org>
8165
8166         More tests for module 'sys_wait'.
8167         * modules/sys_wait-c++-tests: New file.
8168         * tests/test-sys_wait-c++.cc: New file.
8169         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
8170         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8171
8172 2010-09-29  Bruno Haible  <bruno@clisp.org>
8173
8174         New module 'waitpid'.
8175         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
8176         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
8177         Don't include <process.h>.
8178         (waitpid): Declare only, using modern idiom.
8179         * m4/waitpid.m4: New file.
8180         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
8181         * modules/waitpid: New file.
8182         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
8183         (Makefile.am): Update.
8184         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8185
8186 2010-09-28  Bruno Haible  <bruno@clisp.org>
8187
8188         poll: Assume ANSI C.
8189         * lib/poll.c (poll): Use an ANSI C declaration.
8190
8191 2010-09-28  Bruno Haible  <bruno@clisp.org>
8192
8193         poll-h: Create poll.h on all platforms.
8194         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
8195         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
8196         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
8197         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
8198         (gl_REPLACE_POLL_H): Don't set POLL_H.
8199         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
8200         * modules/poll-h (Depends-on): Add include_next.
8201         (Makefile.am): Create poll.h unconditionally. Substitute also
8202         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
8203
8204 2010-09-28  Bruno Haible  <bruno@clisp.org>
8205
8206         Tests for module 'poll-h'.
8207         * modules/poll-h-c++-tests: New file.
8208         * tests/test-poll-h-c++.cc: New file.
8209
8210         Tests for module 'poll-h'.
8211         * modules/poll-h-tests: New file.
8212         * tests/test-poll-h.c: New file.
8213
8214 2010-09-28  Bruno Haible  <bruno@clisp.org>
8215
8216         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
8217         * modules/poll-h (Depends-on): Add 'extensions'.
8218
8219 2010-09-28  Bruno Haible  <bruno@clisp.org>
8220
8221         New module 'poll-h'.
8222         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
8223         (poll): Use modern idiom.
8224         * modules/poll-h: New file.
8225         * modules/poll (Files): Remove lib/poll.in.h.
8226         (Depends-on): Add poll-h.
8227         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
8228         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
8229         * m4/poll_h.m4: New file.
8230         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
8231         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
8232         and invoke gl_REPLACE_POLL_H.
8233         * lib/poll.c: Use common idiom.
8234         * tests/test-poll.c: Likewise.
8235         * doc/posix-headers/poll.texi: Mention the poll-h module.
8236         Suggested by Eric Blake.
8237
8238 2010-09-26  Bruno Haible  <bruno@clisp.org>
8239
8240         sys_wait: Implement WSTOPSIG.
8241         * lib/sys_wait.in.h (WSTOPSIG): New macro.
8242         Reported by Simon Josefsson.
8243
8244 2010-09-26  Simon Josefsson  <simon@josefsson.org>
8245
8246         stdlib, sys_wait: Avoid compilation error on mingw.
8247         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
8248
8249 2010-09-26  Bruno Haible  <bruno@clisp.org>
8250
8251         stdlib tests: Avoid code duplication.
8252         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
8253         * modules/sys_wait-tests (Files): Likewise.
8254         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
8255         * tests/test-stdlib.c: Include test-sys_wait.h.
8256         (main): Invoke test_sys_wait_macros.
8257         * tests/test-sys_wait.c: Include test-sys_wait.h.
8258         (main): Invoke test_sys_wait_macros.
8259
8260 2010-09-25  Simon Josefsson  <simon@josefsson.org>
8261
8262         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
8263         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
8264         sure Windows sockets are working before calling getaddrinfo.
8265         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
8266         * doc/gnulib.texi (Windows sockets): Fix typo.
8267
8268 2010-09-25  Bruno Haible  <bruno@clisp.org>
8269
8270         Tests for module 'regex-quote'.
8271         * modules/regex-quote-tests: New file.
8272         * tests/test-regex-quote.c: New file.
8273
8274         New module 'regex-quote'.
8275         * lib/regex-quote.h: New file.
8276         * lib/regex-quote.c: New file.
8277         * modules/regex-quote: New file.
8278         Suggested by Reuben Thomas <rrt@sc3d.org>.
8279
8280 2010-09-24  Bruno Haible  <bruno@clisp.org>
8281
8282         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
8283         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
8284
8285 2010-09-23  Bruno Haible  <bruno@clisp.org>
8286
8287         setenv: Relax license.
8288         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
8289         Blake.
8290         Requested by Eric Blake.
8291
8292 2010-09-22  Bruno Haible  <bruno@clisp.org>
8293
8294         termios: Relax license.
8295         * modules/termios (License): Change to LGPLv2+.
8296         Requested by Eric Blake.
8297
8298 2010-09-22  Bruno Haible  <bruno@clisp.org>
8299
8300         threadlib: Allow the package to change the default to 'no'.
8301         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
8302         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
8303         Reported by Paul Eggert.
8304
8305 2010-09-22  Pádraig Brady  <P@draigbrady.com>
8306             Bruno Haible  <bruno@clisp.org>
8307
8308         Fix endless loop in mbmemcasecoll.
8309         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
8310         byte.
8311         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
8312
8313 2010-09-22  Bruno Haible  <bruno@clisp.org>
8314
8315         Tests for module 'memcoll'.
8316         * modules/memcoll-tests: New file.
8317         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
8318
8319         memcoll, xmemcoll: Clarify size vs. length.
8320         * modules/memcoll.c (memcoll0): Clarify specification.
8321         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
8322         passed to collate_error.
8323
8324 2010-09-22  Bruno Haible  <bruno@clisp.org>
8325
8326         Tests for module 'memcasecmp'.
8327         * modules/memcasecmp-tests: New file.
8328         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
8329
8330 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8331
8332         * lib/pthread.in.h: Add split double-inclusion guard, and include
8333         system <pthread.h> if there is one.  Use @@-style as in other
8334         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
8335         pthread.h doesn't.
8336         (pthread_mutexattr_destroy, pthread_mutexattr_init):
8337         (pthread_mutexattr_settype, pthread_mutex_trylock):
8338         New static inline functions, if there's no system <pthread.h>.
8339         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
8340         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
8341         Approximate with mutexes if the system lacks spinlocks, as in
8342         MacOS.
8343         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
8344         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
8345         @@-style.  Check for spinlocks separately.
8346         (gl_PTHREAD_DEFAULTS): New macro.
8347         * modules/pthread: Redo to use a more typical style for in.h files.
8348
8349 2010-09-21  Eric Blake  <eblake@redhat.com>
8350
8351         net_if: enhance tests
8352         * tests/test-net_if.c (main): Move signature checks earlier.
8353         Print failures to stderr.
8354         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
8355         Document the bug that we do not yet fix.
8356
8357 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8358
8359         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
8360         about gnulib, not GSS.
8361
8362 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8363
8364         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
8365         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
8366         for Emacs.
8367         * build-aux/pmccabe2html: Make Makefile.am example code more
8368         cut-and-paste friendly.
8369
8370 2010-09-21  Simon Josefsson  <simon@josefsson.org>
8371
8372         * tests/test-net_if.c: New file.
8373         * modules/net_if-tests: New file.
8374
8375 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
8376
8377         pthread: add pthread_spin_destroy
8378         * lib/pthread.in.h (pthread_spin_destroy): New function.
8379
8380 2010-09-19  Bruno Haible  <bruno@clisp.org>
8381
8382         gnulib-tool: Fix --help output.
8383         * gnulib-tool (func_usage): Fix help message.
8384         Reported by Reuben Thomas <rrt@sc3d.org>.
8385
8386 2010-09-18  Jim Meyering  <meyering@redhat.com>
8387
8388         maint.mk: avoid unexpanded \n in two diagnostics
8389         * top/maint.mk (sc_prohibit_always_true_header_tests):
8390         Don't use a literal \n in a halt=... assignment.  It would not be
8391         expanded, and the two \n bytes would appear in the diagnostic output
8392         rather than the desired newline.  Use halt=$$(printf ... instead.
8393         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
8394
8395 2010-09-18  Bruno Haible  <bruno@clisp.org>
8396
8397         netinet_in: Doc tweak.
8398         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
8399         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8400
8401 2010-09-18  Jim Meyering  <meyering@redhat.com>
8402
8403         init.sh: correct an outdated comment
8404         * tests/init.sh (create_exe_shims_):  s/function/alias/
8405
8406         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
8407         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
8408         a file named "*.exe" is removed between the glob expansion and the
8409         processing of that oddly named file.
8410
8411 2010-09-17  Eric Blake  <eblake@redhat.com>
8412
8413         mirbsd: add some more support
8414         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
8415         in BSD family.
8416         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
8417         devices as OpenBSD.
8418         * m4/host-os.m4 (mirbsd): Add MirBSD.
8419
8420         tests: fix unportable assumption on sys/wait.h
8421         * tests/test-sys_wait.c (main): Relax test.
8422         * tests/test-stdlib.c (main): Likewise.
8423
8424         init.sh: accomodate directory with no .exes
8425         * tests/init.sh: Accomodate directory containing only scripts.
8426
8427         tests: avoid compiler warning
8428         * tests/test-stdlib.c (main): Use the variable.
8429
8430         fdutimens, fdutimensat: update signature, again
8431         * lib/utimens.h (gl_futimens): Delete, and move signature...
8432         (fdutimens): ...here.
8433         (fdutimensat): Rearrange signature.
8434         (lutimensat): Rename variable for clarity.
8435         * lib/fdutimensat.c (fdutimensat): Update signature.
8436         * lib/utimens.c (fdutimens): Likewise.
8437         (gl_futimens): Delete.
8438         (utimens, lutimens): Update callers.
8439         * lib/futimens.c (futimens): Likewise.
8440         * tests/test-fdutimensat.c: Likewise.
8441         * tests/test-utimens.c: Likewise.
8442         * tests/test-futimens.h: Update comment.
8443         * NEWS: Mention this.
8444         Suggested by Paul Eggert.
8445
8446 2010-09-17  Bruno Haible  <bruno@clisp.org>
8447
8448         Take over the maintenance of some older macros from Autoconf.
8449         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
8450         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
8451         GNU Autoconf.
8452         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
8453         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
8454
8455 2010-09-17  Eric Blake  <eblake@redhat.com>
8456
8457         fdutimensat: drop atflag validation
8458         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
8459         with valid fd, to close a race scenario where futimens is
8460         unsupported and FILE was replaced by a symlink.
8461         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
8462         accordingly.
8463         Suggested by Paul Eggert.
8464
8465 2010-09-16  Bruno Haible  <bruno@clisp.org>
8466
8467         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
8468         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
8469
8470 2010-09-16  Bruno Haible  <bruno@clisp.org>
8471
8472         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
8473         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
8474         login_tty exists.
8475         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8476
8477 2010-09-16  Bruno Haible  <bruno@clisp.org>
8478
8479         login_tty: Make the replacement code work on BSD systems.
8480         * lib/login_tty.c: Include <sys/ioctl.h>.
8481         (login_tty): Use ioctl TIOCSCTTY when available.
8482         * modules/login_tty (Depends-on): Add sys_ioctl.
8483         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8484
8485 2010-09-16  Bruno Haible  <bruno@clisp.org>
8486
8487         login_tty: Stricter unit test.
8488         * modules/login_tty-tests (Depends-on): Add tcgetsid.
8489         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
8490         and tcgetsid() after login_tty.
8491         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8492
8493 2010-09-16  Bruno Haible  <bruno@clisp.org>
8494
8495         New module 'tcgetsid'.
8496         * lib/tcgetsid.c: New file.
8497         * m4/tcgetsid.m4: New file.
8498         * modules/tcgetsid: New file.
8499         * modules/termios (Depends-on): Add c++defs, warn-on-use.
8500         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
8501         GNULIB_TCGETSID, HAVE_TCGETSID.
8502         * lib/termios.in.h: Include <sys/types.h>.
8503         (tcgetsid): New declaration.
8504         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
8505         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
8506         * doc/posix-functions/tcgetsid.texi: Mention the new module.
8507         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
8508
8509 2010-09-16  Bruno Haible  <bruno@clisp.org>
8510
8511         Tests for module 'termios'.
8512         * modules/termios-c++-tests: New file.
8513         * modules/termios-tests: New file.
8514         * tests/test-termios-c++.cc: New file.
8515         * tests/test-termios.c: New file.
8516
8517         New module 'termios'.
8518         * modules/termios: New file.
8519         * lib/termios.in.h: New file.
8520         * m4/termios_h.m4: New file.
8521         * doc/posix-headers/termios.texi: Mention the new module.
8522
8523 2010-09-16  Eric Blake  <eblake@redhat.com>
8524
8525         fdutimensat: add an atflag parameter
8526         * lib/fdutimensat.c (fdutimensat): Add new parameter.
8527         * lib/utimens.h (fdutimensat): Update prototype.
8528         * tests/test-fdutimensat.c: Adjust test to match.
8529         * NEWS: Document the change.
8530         Suggested by Paul Eggert.
8531
8532 2010-09-16  Bruno Haible  <bruno@clisp.org>
8533
8534         Fix typos in comments.
8535         * lib/striconveh.h: Fix typo in comment.
8536         * lib/login_tty.c (login_tty): Likewise.
8537
8538 2010-09-15  Bruno Haible  <bruno@clisp.org>
8539
8540         stdlib: clarify MirBSD WEXITSTATUS bug
8541         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
8542         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8543
8544 2010-09-15  Eric Blake  <eblake@redhat.com>
8545
8546         stdlib: work around MirBSD WEXITSTATUS bug
8547         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
8548         * modules/stdlib (Depends-on): Add sys_wait.
8549         * tests/test-sys_wait.c (main): Enhance test.
8550         * tests/test-stdlib.c (main): Likewise.
8551         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
8552
8553         docs: mention MacOS issue with WEXITSTATUS(constant)
8554         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
8555         issue.
8556         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8557
8558         strnlen: add tests
8559         * modules/strnlen-tests: New file.
8560         * tests/test-strnlen.c: Likewise.
8561
8562 2010-09-14  Bruno Haible  <bruno@clisp.org>
8563
8564         unistr/base: Avoid link errors when module 'libunistring' is also used.
8565         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
8566         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
8567         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
8568         Declare also when HAVE_LIBUNISTRING is set.
8569         Reported by Pádraig Brady <P@draigbrady.com>.
8570
8571 2010-09-14  Eric Blake  <eblake@redhat.com>
8572
8573         test-rawmemchr: make more robust
8574         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
8575         (Depends-on, configure.ac): Add needed prerequisites to use it.
8576         * modules/memchr-tests (Files, Depends-on, configure.ac):
8577         Likewise, to avoid implicit reliance on memchr module prereqs.
8578         * tests/test-memchr.c (main): Ensure proper masking.
8579         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
8580         reads.
8581
8582         memchr: detect glibc Alpha bug
8583         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
8584         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
8585         Alpha.
8586         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
8587         * tests/test-memchr.c (main): Enhance test.
8588         Reported by Nelson H. F. Beebe.
8589
8590 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8591
8592         fts, getcwd, glob: audit for dirfd returning -1
8593         * lib/fts.c (opendir): Remove #define; no longer used.
8594         (opendirat): New arg PDIR_FD.  All callers changed.
8595         (fts_build, _opendir2): Use new opendirat to avoid the need for
8596         dirfd, or for checking whether dirfd returns a negative value.
8597         Don't use opendir; always use openat followed by fdopendir.
8598         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
8599         it.
8600         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
8601         returns -1 here.
8602         * modules/fts (Depends-on): Remove dirfd.
8603         * modules/getcwd (Depends-on): Likewise.
8604
8605 2010-09-13  Eric Blake  <eblake@redhat.com>
8606
8607         float: fix broken MirBSD header
8608         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
8609         * doc/posix-headers/float.texi (float.h): Document it.
8610
8611 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8612
8613         fts: use O_NOFOLLOW to avoid race condition when opening a directory
8614         * lib/fts.c (opendirat): New arg extra_flags.
8615         (__opendir2): Use it to avoid following symlinks when opening
8616         a directory, if symlinks are not supposed to be followed.  See
8617         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
8618
8619         fdopendir: preserve argument fd before returning
8620         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
8621         (fdopendir_with_dup, fd_clone_opendir): New static functions.
8622         (fdopendir): Use them, arranging for FD to be open to the same
8623         directory that it was when it started.  (It might be temporarily
8624         closed while fdopendir is running, so this not thread- or
8625         signal-safe.)  Be careful to do the right thing even when file
8626         descriptors are scarce and dup fails with errno == EMFILE.  See
8627         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
8628
8629 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
8630
8631         regex: Pass the system regex if its only problem is 32-bit regoff_t.
8632         * NEWS: Document change.
8633         * m4/regex.m4: Disable test for regoff_t size.
8634
8635 2010-09-13  Jim Meyering  <meyering@redhat.com>
8636
8637         fts: don't operate on an invalid file descriptor after failed dup
8638         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
8639         negative file descriptor.
8640
8641 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8642
8643         savedir: add streamsavedir, deprecate fdsavedir
8644         * NEWS: Mention deprecation of fdsavedir.
8645         * lib/savedir.c (streamsavedir): New extern function, whose name
8646         ends in "savedir" to be consistent with the others.  This differs
8647         from savedirstream in that it doesn't close its argument.  The
8648         next version of GNU tar will use this instead of fdsavedir, to
8649         avoid some race conditions and conserve file descriptors.
8650         (savedirstream): Reimplement as a wrapper around streamsavedir.
8651         (fdsavedir): Add a comment deprecating this function.  As far as
8652         I know, only GNU tar used it, and GNU tar doesn't need it any more.
8653         * lib/savedir.h (streamsavedir): New decl.
8654         (fdsavedir): Add a comment deprecating this.
8655
8656 2010-09-10  Bruno Haible  <bruno@clisp.org>
8657
8658         langinfo: Fix last commit.
8659         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
8660         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
8661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8662
8663 2010-09-10  Bruno Haible  <bruno@clisp.org>
8664
8665         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
8666         * lib/progreloc.c (O_EXEC): Define fallback.
8667
8668 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8669
8670         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
8671         * NEWS: Document recent changes to fcntl-h.
8672         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
8673         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
8674         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
8675         Similarly for O_SEARCH; this last was already true, but not documented.
8676         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
8677         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
8678         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
8679         Likewise.
8680         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
8681         is zero, not whether it is defined.
8682         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
8683         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
8684         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
8685
8686 2010-09-10  Bruno Haible  <bruno@clisp.org>
8687
8688         langinfo, nl_langinfo: Fix for IRIX 5.3.
8689         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8690         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8691         HAVE_LANGINFO_YESEXPR.
8692         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8693         HAVE_LANGINFO_YESEXPR.
8694         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8695         HAVE_LANGINFO_T_FMT_AMPM is 0.
8696         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8697         HAVE_LANGINFO_YESEXPR is 0.
8698         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8699         NOEXPR.
8700         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8701         * doc/posix-functions/nl_langinfo.texi: Likewise.
8702         Reported by Eric Blake.
8703
8704 2010-09-10  Bruno Haible  <bruno@clisp.org>
8705
8706         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8707         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8708         on FreeBSD 8.0 and OpenBSD 4.6.
8709         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8710         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8711         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8712         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8713         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8714         ac_includes_default.
8715         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8716
8717 2010-09-09  Eric Blake  <eblake@redhat.com>
8718
8719         strsignal: work around NetBSD bug
8720         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8721         * lib/string.in.h (includes): Likewise.
8722         * doc/posix-functions/strsignal.texi (strsignal): Document the
8723         bug.
8724         Reported by Nelson H. F. Beebe.
8725
8726         gnulib-tool: work with NetBSD /bin/sh
8727         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8728         (func_get_description, func_get_comment, func_get_status)
8729         (func_get_notice, func_get_applicability, func_get_filelist)
8730         (func_get_dependencies, func_get_autoconf_early_snippet)
8731         (func_get_autoconf_snippet, func_get_automake_snippet)
8732         (func_get_include_directive, func_get_link_directive)
8733         (func_get_license, func_get_maintainer, func_import): Avoid
8734         shell syntax errors from parsing syntax extensions.
8735
8736 2010-09-09  Bruno Haible  <bruno@clisp.org>
8737
8738         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8739         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8740         a reliable way to determine whether the 'alias' command works.
8741
8742 2010-09-08  Jim Meyering  <meyering@redhat.com>
8743
8744         init.sh: penalize a set-x-impaired shell; don't disqualify it
8745         * tests/init.sh: Too many shells corrupt application stderr when
8746         you set -x, so we can't afford to disqualify them, since at least
8747         on Irix-6.5, that would disqualify all bourne shells.
8748         Instead, use a two-pass approach.
8749         On the first pass, try to find a shell that meets the stricter
8750         condition that set -x does not corrupt stderr.
8751         If no shell meets the stricter condition, retest each candidate
8752         shell, but without that extra condition.  Finally, when
8753         VERBOSE=yes is requested and set -x might cause trouble, simply
8754         issue a warning and refrain from enabling debug output.
8755
8756 2010-09-08  Eric Blake  <eblake@redhat.com>
8757
8758         unsetenv: fix OpenBSD bug
8759         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8760         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8761         documentation.
8762         Reported by Jim Meyering.
8763
8764         strtod: work around IRIX 6.5 bug
8765         * lib/strtod.c (strtod): Reparse number on shorter string if
8766         exponent parse was invalid.
8767         * tests/test-strtod.c (main): Add check for "0x1p 2".
8768         Reported by Tom G. Christensen.
8769
8770         getopt: optimize previous patch
8771         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8772         empty variable.  Speed up awk script.
8773         Reported by Paolo Bonzini.
8774
8775 2010-09-08  Jim Meyering  <meyering@redhat.com>
8776
8777         test.sh: disqualify shells for which set -x corrupts stderr
8778         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8779         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8780         appear in stderr output.  For example, this command:
8781             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8782         prints "P=1" on those two systems:
8783
8784 2010-09-08  Bruno Haible  <bruno@clisp.org>
8785
8786         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8787         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8788         commands, because some shells ignore redirections when there is an
8789         error in the command lookup.
8790         Reported by Eric Blake.
8791
8792 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8793
8794         * lib/regex.h: Fix a mention of `regex_compile' (should be
8795         `re_compile_pattern').
8796         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8797         (re_set_registers): Correct name of parameter in comment.
8798
8799         * doc/regex.texi: Add documentation for missing syntax flags.
8800         Remove commented-out documentation of defunct syntax option
8801         RE_NO_EMPTY_ALTS.
8802         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8803         Add documentation of re_set_registers.
8804         Document trick to re-use a pattern buffer by setting fastmap manually.
8805         Update documentation of struct re_pattern_buffer per public members.
8806         Uncomment documentation of equivalence class operators and
8807         collating symbol operators, since they are now implemented,
8808         Explain leftmost-longest matching in relation to alternatives.
8809         Tidy documentation of substring matching.
8810         Remove POSIX documentation, which is done better in
8811         glibc, and refer the reader there. Keep BSD API documentation, as
8812         that is not readily available elsewhere.
8813
8814 2010-09-07  Eric Blake  <eblake@redhat.com>
8815
8816         getopt: handle POSIXLY_CORRECT set but not exported
8817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8818         export state of POSIXLY_CORRECT, due to bash set -o posix.
8819         Reported by Dustin J. Mitchell.
8820
8821 2010-09-05  Bruno Haible  <bruno@clisp.org>
8822
8823         gnulib-tool: Highlight the changed options.
8824         * gnulib-tool (func_usage): Display the --import, --add-import,
8825         --remove-import explanations in bold font.
8826
8827 2010-09-06  Karl Berry  <karl@gnu.org>
8828
8829         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8830
8831 2010-09-05  Bruno Haible  <bruno@clisp.org>
8832
8833         uniwidth/width: Update comment.
8834         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8835         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8836
8837 2010-09-05  Bruno Haible  <bruno@clisp.org>
8838
8839         isinf, isnan: Relax license.
8840         * modules/isinf (License): Change from GPL to LGPL, with consent from
8841         Ben Pfaff.
8842         * modules/isnan (License): Likewise.
8843         Requested by Ludovic Courtès.
8844
8845 2010-09-04  Bruno Haible  <bruno@clisp.org>
8846
8847         gnulib-tool: Help migration from --import to --add-import or --update.
8848         * gnulib-tool: Emit a verbose error message when --import is used
8849         without any module name.
8850
8851 2010-09-04  Bruno Haible  <bruno@clisp.org>
8852
8853         Update doc about gnulib-tool.
8854         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8855         'gnulib-tool --update' in more detail.
8856         Reported by Eric Blake.
8857
8858 2010-09-04  Bruno Haible  <bruno@clisp.org>
8859
8860         gnulib-tool: Change --import. New options --add/remove-import.
8861         * gnulib-tool: New options --add-import, --remove-import.
8862         (func_usage): Document them.
8863         (have_associative): Define always.
8864         (func_import): In import mode, don't merge the specified settings with
8865         the cached settings. Implement remove-import mode.
8866         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8867         Explain when to use them versus --import.
8868         (Simple update): Use --add-import instead of --import.
8869         * NEWS: Mention the change.
8870
8871 2010-09-04  Bruno Haible  <bruno@clisp.org>
8872
8873         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8874         separate gnulib.mk.
8875
8876 2010-09-04  Bruno Haible  <bruno@clisp.org>
8877
8878         gnulib-tool: Don't talk about CVS any more.
8879         * gnulib-tool (func_usage, func_import): Write "version control"
8880         instead of CVS.
8881
8882 2010-09-04  Jim Meyering  <meyering@redhat.com>
8883
8884         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8885         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8886         false positives (whose names may be ill-chosen) when searching
8887         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8888         would cause a false-positive.
8889
8890         avoid coreutils "make distcheck" failure
8891         Coreutils tests with an absolute build directory name that contains
8892         a space.  Not quoting this directory name caused a failure.
8893         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8894         * tests/test-vc-list-files-cvs.sh: Likewise.
8895
8896 2010-09-04  Bruno Haible  <bruno@clisp.org>
8897
8898         gnulib-tool: Avoid error when run in a package without Makefile.am.
8899         * gnulib-tool: When collecting the m4dirs in a package that does not
8900         have a Makefile.am, eliminate those directories that contain no
8901         gnulib-cache.m4. Fix expression that counts these directories.
8902
8903 2010-09-04  Bruno Haible  <bruno@clisp.org>
8904
8905         update-copyright test: Improve output when perl is missing or too old.
8906         * tests/test-update-copyright.sh: Move test of Perl version down after
8907         the test whether Perl exists. Provide an explanation relating Perl's
8908         error message to Automake's SKIP: message.
8909
8910 2010-09-04  Bruno Haible  <bruno@clisp.org>
8911
8912         Don't augment PATH in TESTS_ENVIRONMENT.
8913         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8914         set abs_aux_dir instead of augmenting PATH.
8915         * modules/vc-list-files-tests (Makefile.am): Likewise.
8916         * tests/test-update-copyright.sh: Augment PATH here.
8917         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8918         path_prepend_.
8919         * tests/test-vc-list-files-git.sh: Likewise.
8920
8921 2010-09-04  Jim Meyering  <meyering@redhat.com>
8922
8923         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
8924         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
8925
8926 2010-09-04  Bruno Haible  <bruno@clisp.org>
8927
8928         strdup: Fix compilation error in C++ mode.
8929         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
8930         the macro.
8931
8932 2010-09-04  Bruno Haible  <bruno@clisp.org>
8933
8934         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
8935         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
8936         macro into a function.
8937         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8938
8939 2010-09-04  Bruno Haible  <bruno@clisp.org>
8940
8941         Set PATH_SEPARATOR the same way autoconf does.
8942         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
8943         the value of PATH_SEPARATOR the same way autoconf-generated configure
8944         scripts do.
8945         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
8946         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8947
8948 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8949
8950         Set PATH_SEPARATOR the same way autoconf does.
8951         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
8952         the same way autoconf-generated configure scripts do.
8953         * posix-modules: Likewise.
8954
8955 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8956
8957         hash: fix safe_hasher const typo
8958         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
8959         const; otherwise, there is a type error later.
8960
8961 2010-09-02  Jim Meyering  <meyering@redhat.com>
8962
8963         test-update-copyright.sh: require perl 5.8.0
8964         * tests/test-update-copyright.sh: Require 5.8.0,
8965         which Tom G. Christensen has confirmed is adequate,
8966         while 5.6.1 is not.
8967
8968 2010-09-02  Eric Blake  <eblake@redhat.com>
8969
8970         tests: init.sh improvements for re-exec'ing with zsh
8971         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
8972         -vx through shell re-exec.
8973         Reported by Tom G. Christensen.
8974
8975         wctype: fix typo in previous commit
8976         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
8977         Reported by Ludovic Courtès.
8978
8979 2010-09-02  Jim Meyering  <meyering@redhat.com>
8980
8981         test-update-copyright.sh: skip test if Perl is too old
8982         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
8983         Reported by Tom G. Christensen.
8984
8985 2010-09-02  Bruno Haible  <bruno@clisp.org>
8986
8987         wctype: Avoid compilation error on IRIX 6.5.30.
8988         * lib/wctype.in.h (iswblank): Declare with a replacement if
8989         REPLACE_ISWBLANK is set.
8990         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
8991         declared. Set REPLACE_ISWBLANK.
8992         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
8993         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
8994         * doc/posix-headers/wctype.texi: Likewise.
8995         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8996
8997 2010-09-01  Bruno Haible  <bruno@clisp.org>
8998
8999         New module 'socketlib'.
9000         * modules/socketlib: New file.
9001         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
9002         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
9003         * modules/sockets (Depends-on): Add socketlib.
9004         Suggested by Sam Steingold <sds@gnu.org>.
9005
9006 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9007
9008         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
9009
9010         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
9011         when one needs search access to a directory but not read access.
9012         On systems where it is available, it works in some cases where
9013         O_RDONLY does not, namely on directories that are searchable but
9014         not readable, and which need only to be searchable.  If O_SEARCH
9015         is not available, fall back to the traditional method of using
9016         O_RDONLY.
9017
9018         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
9019         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
9020         when opening a directory that needs only to be searchable.
9021         * lib/chdir-safer.c (chdir_no_follow): Likewise.
9022         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
9023         * lib/openat-proc.c (openat_proc_name): Likewise.
9024         * lib/openat.c (openat_needs_fchdir): Likewise.
9025         * lib/save-cwd.c (save_cwd): Likewise.
9026         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
9027
9028 2010-08-28  Bruno Haible  <bruno@clisp.org>
9029
9030         New module 'host-cpu-c-abi'.
9031         * modules/host-cpu-c-abi: New file.
9032         * m4/host-cpu-c-abi.m4: New file, based on part of
9033         clisp/src/m4/general.m4.
9034         Requested by Sam Steingold <sds@gnu.org>.
9035
9036 2010-08-31  Eric Blake  <eblake@redhat.com>
9037         and Jim Meyering  <meyering@redhat.com>
9038
9039         hash: factor, and guard against misbehaving hasher function
9040         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
9041         of table->hasher's return value.  Also protect against a hash value
9042         so large that adding it to table->bucket results in a NULL pointer.
9043         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
9044         Use it in place of open-coded check-and-abort.
9045
9046 2010-08-30  Bruno Haible  <bruno@clisp.org>
9047
9048         hash: silence spurious clang warning
9049         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
9050         Reported by Eric Blake.
9051
9052 2010-08-30  Eric Blake  <eblake@redhat.com>
9053
9054         strstr, memmem, strcasestr: avoid leaked shell message
9055         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
9056         FreeBSD.
9057         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9058         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9059
9060         tests: silence clang warning
9061         * tests/test-malloca.c (do_allocation): Avoid dead store.
9062
9063 2010-08-29  Bruno Haible  <bruno@clisp.org>
9064
9065         gettext: Fix recent mistake.
9066         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
9067
9068 2010-08-29  Bruno Haible  <bruno@clisp.org>
9069
9070         selinux-h: Offer a --without-selinux option.
9071         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
9072         --without-selinux was specified, skip all tests and define
9073         HAVE_SELINUX_SELINUX_H to 0.
9074         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
9075         set LIB_SELINUX to empty.
9076         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
9077         gl_LIBSELINUX. If --without-selinux was specified, replace
9078         selinux/context.h.
9079         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
9080
9081 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9082             Bruno Haible  <bruno@clisp.org>
9083
9084         Make the module 'realloc-gnu' work again on AIX and OSF/1.
9085         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
9086         of HAVE_REALLOC.
9087         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
9088         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
9089         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
9090         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9091
9092 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9093             Bruno Haible  <bruno@clisp.org>
9094
9095         Make the module 'calloc-gnu' work again on AIX and OSF/1.
9096         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
9097         HAVE_CALLOC.
9098         * lib/xmalloc.c: Update accordingly.
9099         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9100         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
9101         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
9102
9103 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9104             Bruno Haible  <bruno@clisp.org>
9105
9106         Make the module 'malloc-gnu' work again on AIX and OSF/1.
9107         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
9108         HAVE_MALLOC.
9109         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
9110         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
9111         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9112
9113 2010-08-29  Bruno Haible  <bruno@clisp.org>
9114
9115         Update modules list.
9116         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
9117         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
9118         (String handling <string.h>): Add astrxfrm.
9119         (File system functions): Add readlinkat.
9120
9121 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9122
9123         Tests for module 'realloc-gnu'.
9124         * modules/realloc-gnu-tests: New file.
9125         * tests/test-realloc-gnu.c: New file.
9126
9127         Tests for module 'calloc-gnu'.
9128         * modules/calloc-gnu-tests: New file.
9129         * tests/test-calloc-gnu.c: New file.
9130
9131         Tests for module 'malloc-gnu'.
9132         * modules/malloc-gnu-tests: New file.
9133         * tests/test-malloc-gnu.c: New file.
9134
9135 2010-08-28  Bruno Haible  <bruno@clisp.org>
9136
9137         Rename module 'realloc' -> 'realloc-gnu'.
9138         * modules/realloc-gnu: New file, copied from modules/realloc.
9139         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
9140         obsolete.
9141         * modules/mgetgroups (Depends-on): Update.
9142         * doc/posix-functions/realloc.texi: Update.
9143         * NEWS: Mention the change.
9144
9145         Rename module 'calloc' -> 'calloc-gnu'.
9146         * modules/calloc-gnu: New file, copied from modules/calloc.
9147         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
9148         obsolete.
9149         * doc/posix-functions/calloc.texi: Update.
9150         * NEWS: Mention the change.
9151
9152         Rename module 'malloc' -> 'malloc-gnu'.
9153         * modules/malloc-gnu: New file, copied from modules/malloc.
9154         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
9155         obsolete.
9156         * modules/argp (Depends-on): Update.
9157         * modules/regex (Depends-on): Update.
9158         * doc/posix-functions/malloc.texi: Update.
9159         * NEWS: Mention the change.
9160
9161 2010-08-28  Eric Blake  <eblake@redhat.com>
9162
9163         pread, pwrite: add missing dependency
9164         * modules/pread (Depends-on): Add extensions.
9165         * modules/pwrite (Depends-on): Likewise.
9166
9167 2010-08-28  Bruno Haible  <bruno@clisp.org>
9168
9169         unistr/u*-strchr: Fix tests dependencies.
9170         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
9171         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
9172         Reported by Ian Beckwith <ianb@erislabs.net>.
9173
9174 2010-08-28  Bruno Haible  <bruno@clisp.org>
9175
9176         read-file: Don't occupy too much unused memory.
9177         * lib/read-file.c (fread_file): Shrink the buffer at the end.
9178
9179 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
9180             Eric Blake  <eblake@redhat.com>
9181             Bruno Haible  <bruno@clisp.org>
9182
9183         read-file: Avoid memory reallocations with regular files.
9184         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
9185         (fread_file): With regular files, use the remaining length as the
9186         initial buffer size.  Check against overflow.
9187         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
9188         sys_stat.
9189
9190 2010-08-28  Bruno Haible  <bruno@clisp.org>
9191
9192         ftello: Relax license.
9193         * modules/ftello (License): Relax to LGPLv2+.
9194         Reported by Eric Blake.
9195
9196 2010-08-28  Bruno Haible  <bruno@clisp.org>
9197
9198         Avoid relocwrapper link errors due to gnulib replacement functions.
9199         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
9200         function.
9201         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9202
9203 2010-08-28  Bruno Haible  <bruno@clisp.org>
9204
9205         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
9206         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
9207         defined.
9208         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
9209         Suggested by Eric Blake.
9210
9211 2010-08-28  Bruno Haible  <bruno@clisp.org>
9212
9213         sys_socket, netdb: Ensure socklen_t gets defined.
9214         * modules/sys_socket (Depends-on): Add socklen.
9215         * modules/netdb (Depends-on): Likewise.
9216         * modules/getaddrinfo (Depends-on): Remove socklen.
9217         * modules/getsockopt (Depends-on): Likewise.
9218         * modules/setsockopt (Depends-on): Likewise.
9219         * tests/test-sys_socket.c: Check that socklen_t is defined.
9220         * tests/test-netdb.c: Likewise.
9221         * m4/socklen.m4: Update comments.
9222         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9223
9224 2010-08-27  Eric Blake  <eblake@redhat.com>
9225
9226         login_tty: add missing dependency
9227         * modules/login_tty (Depends-on): Add pty.
9228
9229 2010-08-26  Eric Blake  <eblake@redhat.com>
9230
9231         lib-symbol-versions: fix m4 quoting
9232         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
9233         format for AC_LINK_IFELSE.
9234
9235         glob: fix compile test
9236         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
9237
9238         btowc: fix missing file
9239         * modules/btowc (Files): Also ship locale-fr.m4.
9240
9241         lseek: fix link test
9242         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
9243         AC_LINK_IFELSE.
9244
9245         include_next: silence autoconf 2.68 warning
9246         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
9247         AC_COMPILE_IFELSE as special.
9248         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
9249         autoconf < 2.68.
9250
9251         acl: fix compilation test
9252         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
9253         AC_COMPILE_IFELSE.
9254
9255 2010-08-26  Bruno Haible  <bruno@clisp.org>
9256
9257         Modernize AC_TRY_RUN invocations.
9258         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
9259         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9260         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
9261         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
9262         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
9263         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9264         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9265         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9266         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9267         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9268         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9269         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9270         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9271         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9272         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9273         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9274         gl_MBRLEN_NUL_RETVAL): Likewise.
9275         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9276         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9277         Likewise.
9278         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9279         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9280         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9281         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9282         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
9283         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
9284         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
9285         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9286         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
9287         Likewise.
9288         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9289         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
9290         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9291         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9292         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9293         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9294         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9295         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
9296         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9297         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9298
9299 2010-08-26  Bruno Haible  <bruno@clisp.org>
9300
9301         Modernize AC_TRY_LINK invocations.
9302         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
9303         AC_TRY_LINK.
9304         * m4/argp.m4 (gl_ARGP): Likewise.
9305         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9306         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9307         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
9308         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
9309         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
9310         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
9311         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9312         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9313         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
9314         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
9315         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
9316         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
9317         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
9318         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9319         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
9320         * m4/hostent.m4 (gl_HOSTENT): Likewise.
9321         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9322         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
9323         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
9324         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
9325         Likewise.
9326         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
9327         Likewise.
9328         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
9329         Likewise.
9330         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
9331         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
9332         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
9333         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9334         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9335         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9336         * m4/servent.m4 (gl_SERVENT): Likewise.
9337         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9338         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9339         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9340         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9341         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9342         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9343         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9344         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9345         * modules/tsearch-tests (configure.ac): Likewise.
9346
9347 2010-08-26  Bruno Haible  <bruno@clisp.org>
9348
9349         Modernize AC_TRY_COMPILE invocations.
9350         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
9351         AC_TRY_COMPILE.
9352         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
9353         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
9354         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
9355         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
9356         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
9357         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
9358         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
9359         * m4/lock.m4 (gl_LOCK): Likewise.
9360         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
9361         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
9362         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
9363         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9364         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
9365         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
9366         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
9367         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
9368         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
9369         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
9370         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
9371         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9372         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
9373         extraneous semicolon.
9374
9375 2010-08-26  Jim Meyering  <meyering@redhat.com>
9376
9377         stat-time: relax license LGPL
9378         * modules/stat-time (License): Change from GPL to LGPL,
9379         with consent from all contributors, for use in libguile.
9380         Requested by Ludovic Courtès.
9381
9382 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
9383
9384         poll: return immediately on POLLHUP.
9385         * lib/poll.c (poll): Always set timeout before wait_timeout is
9386         computed.
9387
9388 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9389
9390         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
9391         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
9392         rmdir ("dir/.//"), unlinkat.
9393
9394 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9395
9396         stdbool: avoid spurious failure with modern xlc
9397         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9398
9399 2010-08-24  Bruno Haible  <bruno@clisp.org>
9400
9401         getloadavg: simplify code
9402         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
9403         gl_have_func. Update comments.
9404
9405 2010-08-24  Eric Blake  <eblake@redhat.com>
9406
9407         getloadavg: don't define SVR4 on cygwin
9408         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
9409         only define SVR4 when -lkvm is required.
9410         Reported by Yaakov Selkowitz.
9411
9412 2010-08-24  Bruno Haible  <bruno@clisp.org>
9413
9414         priv-set: fix comment
9415         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
9416
9417 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9418
9419         priv-set: fix comments
9420         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
9421         to match code, as suggested by David Bartley in:
9422         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
9423
9424 2010-08-23  Eric Blake  <eblake@redhat.com>
9425
9426         stdbool: avoid rejecting clang
9427         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9428         * tests/test-stdbool.c: Enable more tests if using the system
9429         <stdbool.h> instead of the gnulib replacement.
9430         (main): Move xlc bug test to a runtime test for all compilers.
9431         Reported by Anders Kaseorg.
9432
9433         argz: fix shell quoting issue
9434         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
9435         Reported by Charles Wilson.
9436
9437 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
9438             Erik Faye-Lund <kusmabite@gmail.com>
9439
9440         poll, select: handle ERROR_BROKEN_PIPE.
9441         * lib/poll.c (win32_compute_revents): Return POLLHUP when
9442         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9443         * lib/select.c (win32_compute_revents): Do not mark a pipe
9444         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9445
9446 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
9447
9448         fts: allow compilation with C++
9449         * lib/fts_.h: Specify extern "C" linkage with C++.
9450
9451 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9452
9453         Fix gnulib-tool sed script de-commentation for AIX sed.
9454         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
9455         sed.
9456
9457 2010-08-17  Eric Blake  <eblake@redhat.com>
9458
9459         test-stddef: test for (some) offsetof bugs
9460         * tests/test-stddef.c: Enhance test to ensure correct type of
9461         offsetof.
9462         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
9463         that we are not fixing at this time.
9464
9465 2010-08-15  Bruno Haible  <bruno@clisp.org>
9466
9467         stpncpy: Allow stpncpy to be defined as a macro.
9468         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
9469         if it's already correctly declared.
9470         * lib/string.in.h (stpncpy): Undefine before redefining.
9471         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
9472
9473 2010-08-14  Bruno Haible  <bruno@clisp.org>
9474
9475         Rename module 'memxfrm' to 'amemxfrm'.
9476         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
9477         (amemxfrm): Renamed from memxfrm.
9478         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
9479         (amemxfrm): Renamed from memxfrm.
9480         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
9481         * NEWS: Mention the change.
9482         * MODULES.html.sh (String handling <string.h>): Update.
9483         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
9484         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
9485         * lib/unicase/u16-casexfrm.c: Likewise.
9486         * lib/unicase/u32-casexfrm.c: Likewise.
9487         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
9488         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
9489         * lib/uninorm/u16-normxfrm.c: Likewise.
9490         * lib/uninorm/u32-normxfrm.c: Likewise.
9491         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
9492         memxfrm.
9493         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
9494         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
9495         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
9496         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
9497         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
9498         Suggested by Paul Eggert.
9499
9500 2010-08-14  Bruno Haible  <bruno@clisp.org>
9501
9502         Tests for module 'astrxfrm'.
9503         * modules/astrxfrm-tests: New file.
9504         * tests/test-astrxfrm.c: New file.
9505
9506         New module 'astrxfrm'.
9507         * lib/astrxfrm.h: New file.
9508         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
9509         * modules/astrxfrm: New file.
9510
9511 2010-08-14  Reuben Thomas <rrt@sc3d.org>
9512
9513         regex: Tweak doc.
9514         * doc/regex.texi (Overview): Don't mention regex.c.
9515         (GNU Regular Expression Compiling): Likewise.
9516         (Match-end-of-line Operator): Mention 'not_eol'.
9517
9518 2010-08-14  Brian Gough  <bjg@gnu.org>
9519             Bruno Haible  <bruno@clisp.org>
9520
9521         git-merge-changelog: add doc relating to use with bzr and hg.
9522         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
9523
9524 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
9525
9526         pthread: fix pthread.h creation for srcdir != builddir
9527         * modules/pthread (Makefile.am): Fix the rule to work also in a
9528         non-srcdir build.
9529
9530 2010-08-13  Karl Berry  <karl@gnu.org>
9531
9532         * doc/regex.texi (Predefined Syntaxes): @smallexample.
9533         * doc/posix-*/*: force line break before @url of POSIX
9534         specifications.
9535         Suggested by Werner Lemberg.
9536
9537 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9538
9539         strtod: fix const diagnostic
9540         * lib/strtod.c (strtod): Don't assign const char * to char *,
9541         as this elicits a warning from GCC when warnings are enabled.
9542
9543 2010-08-10  Pádraig Brady <P@draigbrady.com>
9544         and Eric Blake  <eblake@redhat.com>
9545
9546         copy-acl: ignore ENOTSUP on HP-UX
9547         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
9548         so that it is available for HP-UX.
9549         * lib/copy-acl.c (qcopy_acl): Use it.
9550         Reported by Patrick M. Callahan.
9551
9552 2010-08-10  Eric Blake  <eblake@redhat.com>
9553
9554         open, chown: relax license
9555         * modules/open (License): Change to LGPLv2+, with consent by all
9556         authors, for use in augeas.
9557         * modules/chown (License): Likewise.
9558         * modules/lchown (Likewise): Likewise.
9559         Requested by Adam Stokes.
9560
9561 2010-08-09  Karl Berry  <karl@gnu.org>
9562
9563         * build-aux/ar-lib: new file, import from Automake.
9564         * config/srclist.txt: autocheck for updates.
9565
9566 2010-08-09  Eric Blake  <eblake@redhat.com>
9567
9568         readlinkat: adjust client modules
9569         * modules/areadlinkat (Depends-on): Use readlinkat, not
9570         symlinkat.
9571         * modules/areadlinkat-with-size (Depends-on): Likewise.
9572
9573         mknod: be more vocal about danger of running tests as root
9574         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
9575         root, since that is just asking for problems.
9576         Suggested by Bruno Haible, based on a report by Rainer Tammer.
9577
9578         readlinkat: split into its own module
9579         * modules/symlinkat: Split readlinkat...
9580         * modules/readlinkat: ...into separate module.
9581         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
9582         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
9583         * lib/symlinkat.c (readlinkat): Move...
9584         * lib/readlinkat.c: ...into new file.
9585         * modules/symlinkat-tests: Split readlinkat test...
9586         * modules/readlinkat-tests: ...into separate module.
9587         * tests/test-symlinkat.c: Split...
9588         * tests/test-readlinkat.c: ...into new file.
9589         * NEWS: Document the split.
9590         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
9591         * lib/unistd.in.h (readlinkat): Likewise.
9592         Suggested by Bruno Haible.
9593
9594 2010-08-08  Bruno Haible  <bruno@clisp.org>
9595
9596         memxfrm: Speed up.
9597         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
9598         that usually only one call to strxfrm is necessary for each string
9599         part.
9600         Reported by Paul Eggert <eggert@cs.ucla.edu>.
9601
9602 2010-08-07  Karl Berry  <karl@gnu.org>
9603
9604         * doc/posix-headers/limits.texi,
9605         * doc/posix-functions/malloc.texi,
9606         * doc/posix-functions/strsignal.texi: missing @item.
9607         * doc/ld-version-script.texi: spurious leading i.
9608         * doc/regex.texi (Interval Operators): no commas inside @var.
9609
9610 2010-08-01  Bruno Haible  <bruno@clisp.org>
9611
9612         Integrate the regex documentation.
9613         * doc/gnulib.texi: Define 'cn' index.
9614         (Regular expressions): New a chapter that includes regex.texi and
9615         regexprops-generic.texi.
9616         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
9617         syntax.
9618
9619         Whitespace cleanup.
9620         * doc/regex.texi: Remove trailing spaces.
9621
9622         Add regex documentation.
9623         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
9624         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
9625         Written by Kathy A. Hargreaves and Karl Berry.
9626
9627 2010-08-01  Bruno Haible  <bruno@clisp.org>
9628
9629         link: Update documentation.
9630         * doc/posix-functions/link.texi: Update regarding Solaris.
9631
9632 2010-07-31  Bruno Haible  <bruno@clisp.org>
9633
9634         Update modules list.
9635         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
9636         (String handling <string.h>): Add memcmp2, memxfrm.
9637         (Container data structures): Add xlist, xsublist, xoset.
9638         (Core language properties): Add alignof, unused-parameter.
9639         (Process control, Numeric conversion functions <stdlib.h>): Renamed
9640         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
9641         (Unibyte characters <ctype.h>): New section.
9642         (String handling <string.h>): New section.
9643         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
9644         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
9645         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
9646         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
9647         tan, tanh, tanl, y0, y1, yn.
9648         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
9649         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
9650         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
9651         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
9652         unlockpt, vdprintf, vdprintf-posix.
9653         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
9654         (File system functions): Add concat-filename, sys_file, sys_ioctl,
9655         xconcat-filename.
9656         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
9657         getdtablesize, pipe2, pipe2-safer.
9658         (Security): New section.
9659         (Networking functions): Add accept4.
9660         (Signal handling): Add sigpipe.
9661         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
9662         mbmemcasecoll.
9663         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
9664         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
9665         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
9666         pipe-filter-ii.
9667         (Misc): Add argp-version-etc, login_tty, parse-duration.
9668
9669 2010-07-31  Bruno Haible  <bruno@clisp.org>
9670
9671         Improve doc in MODULES.html.
9672         * modules/linkat (Description): Add the word "function".
9673         * modules/mkfifo (Description): Likewise.
9674         * modules/mknod (Description): Likewise.
9675         * modules/remove (Description): Likewise.
9676         * modules/renameat (Description): Likewise.
9677         * modules/stat (Description): Likewise.
9678         * modules/symlink (Description): Likewise.
9679         * modules/unlink (Description): Likewise.
9680
9681 2010-07-31  Bruno Haible  <bruno@clisp.org>
9682
9683         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
9684         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
9685         option --enable/disable-c++ instead of --enable/disable-cxx.
9686         * NEWS: Mention the change.
9687
9688 2010-07-31  Bruno Haible  <bruno@clisp.org>
9689
9690         readlink, areadlink: Relax test a bit.
9691         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9692         alternative to ENOTDIR.
9693         * tests/test-areadlink.h (test_areadlink): Likewise.
9694         Reported by Rainer Tammer.
9695
9696 2010-07-31  Bruno Haible  <bruno@clisp.org>
9697
9698         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9699         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9700         character, perform the search using U_STRCHR.
9701         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9702         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9703         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9704         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9705         Suggested by Paolo Bonzini.
9706
9707 2010-07-31  Bruno Haible  <bruno@clisp.org>
9708
9709         unistr/u*-strstr: Fix dependencies.
9710         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9711         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9712         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9713
9714 2010-07-31  Bruno Haible  <bruno@clisp.org>
9715
9716         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9717         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9718         the beginning of the loop.
9719         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9720         cases in 'switch' statement.
9721
9722         unistr/u8-strchr: Fix several bugs.
9723         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9724         the string. When not found, return NULL, not a pointer near the end.
9725
9726         More tests for unistr/u8-strchr.
9727         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9728         that the function does not read past the first occurrence of the byte
9729         being searched.
9730         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9731         * tests/unistr/test-u16-strchr.c (main): New function.
9732         * tests/unistr/test-u32-strchr.c (main): New function.
9733
9734 2010-07-31  Bruno Haible  <bruno@clisp.org>
9735
9736         posix-modules: Ignore backup files of documentation files.
9737         * posix-modules: grep only through files named *.texi.
9738
9739 2010-07-31  Bruno Haible  <bruno@clisp.org>
9740
9741         symlinkat: Fix documentation.
9742         * doc/posix-functions/readlinkat.texi: Fix module name.
9743
9744 2010-07-31  Bruno Haible  <bruno@clisp.org>
9745
9746         fchownat: Replace also when chown has the trailing slash bug.
9747         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9748         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9749         introduced on 2010-04-10.
9750         Reported by Rainer Tammer.
9751
9752 2010-07-31  Bruno Haible  <bruno@clisp.org>
9753
9754         linkat: Work around AIX 7.1 bug.
9755         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9756         whether linkat handles trailing slash correctly. If not, replace linkat
9757         and define LINKAT_TRAILING_SLASH_BUG.
9758         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9759         check whether (fd1,file1) points to a directory if file1 or file2 ends
9760         in a slash. Code taken from lib/link.c.
9761         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9762         Reported by Rainer Tammer.
9763
9764 2010-07-31  Bruno Haible  <bruno@clisp.org>
9765
9766         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9767         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9768         This disables an xlc optimization that was causing wrong test results.
9769         Reported by Rainer Tammer.
9770
9771 2010-07-31  Bruno Haible  <bruno@clisp.org>
9772
9773         iconv: Work around AIX 6.1..7.1 bug.
9774         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9775         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9776         cross-compiling, guess no on all versions of AIX.
9777         Reported by Rainer Tammer.
9778
9779 2010-07-31  Bruno Haible  <bruno@clisp.org>
9780
9781         readlink: Relax test a bit.
9782         * tests/test-readlink.h (test_readlink): Allow different errno value
9783         when readlink is called with a file name that ends in / and refers to
9784         a file.
9785         Suggested by Eric Blake.
9786         Reported by Rainer Tammer.
9787
9788 2010-07-31  Bruno Haible  <bruno@clisp.org>
9789
9790         copysign: Does not require -lm on glibc systems.
9791         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9792         gl_COMMON_DOUBLE_MATHFUNC.
9793         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9794
9795 2010-07-31  Bruno Haible  <bruno@clisp.org>
9796
9797         duplocale: Work around AIX 7.1 bug.
9798         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9799         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9800         * lib/duplocale.c (rpl_duplocale): Update comment.
9801         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9802         Reported by Rainer Tammer.
9803
9804 2010-07-30  Bruno Haible  <bruno@clisp.org>
9805
9806         dirfd: Avoid link error on AIX 7.1.
9807         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9808         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9809         exist, set REPLACE_DIRFD.
9810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9811         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9812         * doc/posix-functions/dirfd.texi: Update.
9813         Reported by Rainer Tammer.
9814
9815 2010-07-30  Eric Blake  <eblake@redhat.com>
9816
9817         strtod: next round of AIX fixes
9818         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9819         exponent.
9820         * tests/test-strtod.c (main): Enhance tests.
9821         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9822         Reported by Rainer Tammer.
9823
9824         futimens: fix configure check
9825         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9826         Reported by Bruno Haible.
9827
9828 2010-07-30  Bruno Haible  <bruno@clisp.org>
9829
9830         getline: Update regarding AIX.
9831         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9832         Reported by Rainer Tammer.
9833
9834 2010-07-30  Bruno Haible  <bruno@clisp.org>
9835
9836         wcwidth: Drop replacement on AIX 7.
9837         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9838         AIX 7.
9839         Reported by Rainer Tammer.
9840
9841 2010-07-30  Bruno Haible  <bruno@clisp.org>
9842
9843         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9844         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9845         a 'char *'.
9846         Reported by Rainer Tammer.
9847
9848 2010-07-30  Bruno Haible  <bruno@clisp.org>
9849
9850         unlink: Update regarding AIX.
9851         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9852         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9853         Reported by Rainer Tammer.
9854
9855 2010-07-30  Bruno Haible  <bruno@clisp.org>
9856
9857         symlink: Update regarding AIX.
9858         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9859         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9860         Reported by Rainer Tammer.
9861
9862 2010-07-30  Bruno Haible  <bruno@clisp.org>
9863
9864         strndup: Update regarding AIX.
9865         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9866         AIX 7.
9867         Reported by Rainer Tammer.
9868
9869 2010-07-30  Bruno Haible  <bruno@clisp.org>
9870
9871         stat: Update regarding AIX.
9872         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9873         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9874         Reported by Rainer Tammer.
9875
9876 2010-07-30  Bruno Haible  <bruno@clisp.org>
9877
9878         truncl: Fix autoconf test.
9879         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9880         whether truncl works.
9881         Reported by Rainer Tammer.
9882
9883 2010-07-30  Bruno Haible  <bruno@clisp.org>
9884
9885         round: Update regarding AIX.
9886         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9887         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9888         Reported by Rainer Tammer.
9889
9890 2010-07-30  Bruno Haible  <bruno@clisp.org>
9891
9892         rename: Update regarding AIX.
9893         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9894         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9895         Reported by Rainer Tammer.
9896
9897 2010-07-30  Bruno Haible  <bruno@clisp.org>
9898
9899         printf.m4: Update regarding AIX.
9900         * m4/printf.m4: Update comments regarding AIX.
9901         Reported by Rainer Tammer.
9902
9903 2010-07-30  Bruno Haible  <bruno@clisp.org>
9904
9905         iconv: Update regarding AIX.
9906         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9907         AIX 7.
9908         Reported by Rainer Tammer.
9909
9910 2010-07-30  Bruno Haible  <bruno@clisp.org>
9911
9912         getopt: Update regarding AIX.
9913         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9914         no on AIX.
9915         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9916         Reported by Rainer Tammer.
9917
9918 2010-07-30  Bruno Haible  <bruno@clisp.org>
9919
9920         ldexpl; Update regarding AIX.
9921         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
9922         on AIX 7.
9923         Reported by Rainer Tammer.
9924
9925 2010-07-30  Bruno Haible  <bruno@clisp.org>
9926
9927         frexpl: Update regarding AIX.
9928         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
9929         on AIX 7.
9930         Reported by Rainer Tammer.
9931
9932 2010-07-30  Bruno Haible  <bruno@clisp.org>
9933
9934         open, fopen: Update regarding AIX.
9935         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
9936         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9937         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
9938         * doc/posix-functions/fopen.texi: Likewise.
9939         Reported by Rainer Tammer.
9940
9941 2010-07-30  Bruno Haible  <bruno@clisp.org>
9942
9943         chown: Update doc regarding AIX.
9944         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
9945         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
9946         Reported by Rainer Tammer.
9947
9948 2010-07-30  Eric Blake  <eblake@redhat.com>
9949
9950         strtod: fix bug in replacement function on AIX
9951         * lib/strtod.c (strtod): Special case broken "0x" parse in
9952         underlying strtod.
9953         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
9954         * doc/posix-functions/strtod.texi (strtod): Likewise.
9955         Reported by Rainer Tammer.
9956
9957 2010-07-30  Bruno Haible  <bruno@clisp.org>
9958
9959         mbrlen: Fix cross-compilation guess for AIX.
9960         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
9961         guess. Leftover from 2008-12-22.
9962
9963 2010-07-30  Bruno Haible  <bruno@clisp.org>
9964
9965         mbrtowc: Fix cross-compilation guess for AIX.
9966         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
9967         guess. Leftover from 2008-12-21.
9968
9969 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
9970
9971         init.sh: work around trap limitation of some shells
9972         * tests/init.sh (setup_): Move exit trap outside of shell function.
9973
9974 2010-07-29  Eric Blake  <eblake@redhat.com>
9975
9976         strtod: aid debugging
9977         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
9978         understanding why strtod is rejected.
9979
9980 2010-07-28  Bruno Haible  <bruno@clisp.org>
9981
9982         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
9983         * lib/unistr/u8-chr.c: Include <string.h>.
9984         * tests/unistr/test-u8-chr.c: Likewise.
9985         * tests/unistr/test-u16-chr.c: Likewise.
9986         * tests/unistr/test-u32-chr.c: Likewise.
9987         * tests/unistr/test-u8-strchr.c: Likewise.
9988         * tests/unistr/test-u16-strchr.c: Likewise.
9989         * tests/unistr/test-u32-strchr.c: Likewise.
9990         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
9991         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
9992         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
9993         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
9994
9995 2010-07-28  Bruno Haible  <bruno@clisp.org>
9996
9997         Use spaces for indentation, not tabs.
9998         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
9999
10000 2010-07-27  Bruno Haible  <bruno@clisp.org>
10001
10002         mbspcasecmp: Fix function specification.
10003         * lib/string.in.h (mbspcasecmp): Fix specification comment.
10004         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
10005         Reported by Eric Blake <eblake@redhat.com>.
10006
10007 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
10008
10009         timespec: use cast and not conditional, as truncation isn't possible
10010         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
10011         instead of a conditional.  Comment about the situation in more detail.
10012         This undoes most of the 2009-10-29 patch.
10013
10014 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
10015
10016         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
10017         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
10018         * lib/unistr/u8-strchr.c: Likewise.
10019         * modules/unistr/u8-chr: Depend on memchr.
10020
10021         unistr/u*-strchr: add tests
10022         * modules/unistr/u8-strchr-tests: New file.
10023         * modules/unistr/u16-strchr-tests: New file.
10024         * modules/unistr/u32-strchr-tests: New file.
10025         * tests/unistr/test-strchr.h: New file.
10026         * tests/unistr/test-u8-strchr.c: New file.
10027         * tests/unistr/test-u16-strchr.c: New file.
10028         * tests/unistr/test-u32-strchr.c: New file.
10029
10030         unistr/u*-chr: test multibyte sequences more
10031         * tests/unistr/test-chr.h: Do complete testing of the characters in the
10032         test vector.
10033         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
10034         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
10035         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
10036
10037         unistr/u*-chr: test multibyte sequences
10038         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
10039
10040         unistr/u*-chr: prepare for multibyte tests
10041         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
10042         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
10043         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
10044         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
10045         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
10046         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
10047
10048 2010-07-18  Bruno Haible  <bruno@clisp.org>
10049
10050         unistr/u8-strchr: Optimize non-ASCII argument case.
10051         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
10052         because the first byte often matches anyway.
10053         Reported by Pádraig Brady <P@draigbrady.com>.
10054
10055 2010-07-15  Karl Berry  <karl@gnu.org>
10056
10057         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
10058
10059 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
10060
10061         getcwd: on Solaris, work better if ancestors are inaccessible
10062         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
10063         buffer and size, try again with a large buffer.  This works better
10064         on Solaris, since its getcwd succeeds even if the path to the root
10065         is inaccessible, and this is helpful in common cases such as .zfs
10066         hidden directories.  Problem reported by J Chapman Flack in
10067         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10068         Use system getcwd if it's declared, not merely if it's partly
10069         working; use the partly-working test only to avoid needless effort
10070         if the system getcwd fails.
10071         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
10072         comment that was already obsolete and is now even more obsolete.
10073         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
10074         now might call strdup.
10075
10076 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
10077
10078         pthread: Add enough so that coreutils/src/sort.c compiles.
10079         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
10080         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
10081         gnulib. Include <sched.h> and <time.h>, as per POSIX.
10082         Include <sys/types.h>, in case it defines pthread_t.
10083         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
10084         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
10085         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
10086         (pthread_rwlockattr_t, pthread_spinlock_t):
10087         New typedefs, if HAVE_PTHREAD_T is not defined.
10088         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
10089         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
10090         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
10091         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
10092         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
10093         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
10094         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
10095         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
10096         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
10097         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
10098         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
10099         New macros.
10100         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
10101         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
10102         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
10103         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
10104         (pthread_spin_unlock): New dummy functions.
10105         (pthread_create): Return EAGAIN; don't set errno.
10106         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
10107         require AC_C_INLINE.
10108         * modules/pthread (Depends-on): Add sched, time.
10109         (pthread.h): Use AM_V_GEN.
10110
10111 2010-07-13  Bruno Haible  <bruno@clisp.org>
10112
10113         striconveh: Don't malloc memory if the result buffer is sufficient.
10114         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
10115         buffer if its size is sufficient.
10116         Reported by Ludovic Courtès <ludo@gnu.org>.
10117
10118 2010-07-13  Bruno Haible  <bruno@clisp.org>
10119
10120         strtod: Add safety check.
10121         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
10122
10123 2010-07-12  Bruno Haible  <bruno@clisp.org>
10124
10125         Unify tests that set gl_cv_func_ldexpl_no_libm.
10126         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
10127         gl_FUNC_LDEXPL.
10128         (gl_FUNC_LDEXPL): Invoke it.
10129         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10130
10131 2010-07-12  Bruno Haible  <bruno@clisp.org>
10132
10133         Unify tests that set gl_cv_func_ldexp_no_libm.
10134         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
10135         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
10136         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
10137         (configure.ac): Simply invoke gl_FUNC_LDEXP.
10138         * modules/strtod (Files): Add m4/ldexp.m4.
10139
10140 2010-07-12  Bruno Haible  <bruno@clisp.org>
10141
10142         Unify tests that set gl_cv_func_frexpl_no_libm.
10143         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
10144         gl_FUNC_FREXPL_NO_LIBM.
10145         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
10146         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10147
10148 2010-07-12  Bruno Haible  <bruno@clisp.org>
10149
10150         Unify tests that set gl_cv_func_frexp_no_libm.
10151         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
10152         gl_FUNC_FREXP_NO_LIBM.
10153         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
10154         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10155
10156 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10157
10158         memcoll: clarify sizes versus lengths, document better, and tweak perf
10159         * lib/memcoll.c (strcoll_loop, memcoll0):
10160         Improve quality of descriptive comments.  Name variables
10161         consistently as to whether they are lengths (which do not include
10162         terminating null) versus sizes (which do).
10163         * lib/xmemcoll.c (xmemcoll0): Likewise.
10164         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
10165         returned when s1size == 0; this is easier to compile and saves
10166         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
10167
10168 2010-07-12  Bruno Haible  <bruno@clisp.org>
10169
10170         Tests for module '_Exit'.
10171         * modules/_Exit-tests: New file.
10172         * tests/test-_Exit.sh: New file.
10173         * tests/test-_Exit.c: New file.
10174
10175         New module '_Exit'.
10176         * lib/stdlib.in.h (__attribute__): New macro.
10177         (_Exit): New declaration.
10178         * lib/_Exit.c: New file.
10179         * m4/_Exit.m4: New file.
10180         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
10181         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
10182         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
10183         * modules/_Exit: New file.
10184         * tests/test-stdlib-c++.cc (_Exit): Check signature.
10185         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
10186
10187 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10188
10189         strtod: make it more-accurate typically, and don't require libm
10190         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
10191         Include limits.h.  Don't include string.h.
10192         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
10193         (locale_isspace): New function, so that no casts are needed to
10194         check whether *s is a space.
10195         (ldexp): Provide an unused dummy if not available.
10196         (scale_radix_exp, parse_number, underlying_strtod): New functions.
10197         (strtod): Use them.  This implementation prefers to use the
10198         underlying strtod if available, falling back on our own code
10199         only to fix known bugs.  This is more likely to produce an
10200         accurate result.  Also, it avoids the use of libm functions.
10201         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
10202         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
10203         was absent, but it caused a test failure with coreutils.
10204         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
10205         with libm.
10206         * modules/strtod (Makefile.am, Link): libm is no longer needed.
10207         * modules/strtod-tests (Makefile.am): Likewise.
10208
10209 2010-07-11  Pádraig Brady  <P@draigBrady.com>
10210             Bruno Haible  <bruno@clisp.org>
10211
10212         unistr/u8-strchr: Optimize ASCII argument case.
10213         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
10214
10215 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10216
10217         (x)memcoll: minor tweaks
10218         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
10219         is after the type that it qualifies.
10220         (memcoll0): Likewise.
10221         * lib/memcoll.h (memcoll0): Likewise.
10222         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
10223         * lib/xmemcoll.h (xmemcoll0): Likewise.
10224         * lib/memcoll.c (memcoll0): Correct the comment.  This function
10225         differs from memcoll in that the NUL byte is part of the argument.
10226         Omit the abort-checks, as performance is a real issue here.  Plus,
10227         the checks were wrong anyway (an off-by-one error).  Omit local
10228         variable 'diff', as it's a bit clearer that way.
10229         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
10230         no longer needed.
10231
10232 2010-07-08  Chen Guo <chenguo4@yahoo.com>
10233
10234         (x)memcoll: speedup when input is known to be NUL delimited
10235         * lib/memcoll.c: Include stdlib.
10236         (memcoll0) New function.
10237         (strcoll_loop) New function, refactored for use in both memcoll
10238         and memcoll0.
10239         * lib/memcoll.h: Add prototype for memcoll0.
10240         * lib/xmemcoll.c: (xmemcoll0) New function.
10241         (collate_error) New function, refactored for use in both xmemcoll
10242         and xmemcoll0.
10243         * lib/xmemcoll.h: Add prototype for xmemcoll0.
10244         * m4/memcoll.m4: add inline invocation.
10245
10246 2010-07-06  Pádraig Brady  <P@draigBrady.com>
10247
10248         * build-aux/bootstrap: Remove any local translations
10249         from the translation project synchronization directory,
10250         so that local only translations are not distributed.
10251
10252 2010-07-04  Bruno Haible  <bruno@clisp.org>
10253
10254         fsusage: Clarify which code applies to which platforms.
10255         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
10256         platform.
10257         * lib/fsusage.c (get_fs_usage): Likewise.
10258
10259 2010-07-04  Bruno Haible  <bruno@clisp.org>
10260
10261         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
10262         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
10263         Reported by Martin Lambers <marlam@marlam.de>.
10264
10265 2010-07-04  Jim Meyering  <meyering@redhat.com>
10266
10267         hash: once again explicitly disallow insertion of NULL
10268         * lib/hash.c (hash_insert0): Reinstate just-removed test:
10269         inserting a NULL pointer cannot work with these functions.
10270         Add a comment with details.
10271         This reverts part of the 2010-07-01 commit, 5bef1a35
10272         "hash: extend module to deal with non-pointer keys".
10273
10274 2010-07-01  Bruno Haible  <bruno@clisp.org>
10275
10276         stdbool: Update doc.
10277         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
10278         Info from Christian Weisgerber <naddy@mips.inka.de>.
10279
10280 2010-07-01  Jim Meyering  <meyering@redhat.com>
10281
10282         hash: extend module to deal with non-pointer keys
10283         * lib/hash.c (hash_insert0): New interface, much like hash_insert
10284         but that allows insertion of non-pointer entries.
10285         Do not disallow an ENTRY value of NULL.
10286         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
10287         * lib/hash.h (hash_insert0): Declare.
10288
10289 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10290
10291         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
10292         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
10293         not present (i.e. with autoconf 2.59 and when using gettextize, not
10294         gnulib), require AC_GNU_SOURCE instead.
10295
10296 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
10297
10298         idpriv-drop: Fix tests.
10299         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
10300         not to the test-idpriv-droptemp program.
10301
10302 2010-06-29  Bruno Haible  <bruno@clisp.org>
10303
10304         string: Fix syntax error with g++ 2.96.
10305         * lib/string.in.h (__pure__): Remove definition.
10306         (_GL_ATTRIBUTE_PURE): New macro.
10307         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
10308         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
10309         Reported by Christian Weisgerber <naddy@mips.inka.de>.
10310
10311 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
10312
10313         unitypes: Fix bug introduced on 2010-05-18.
10314         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
10315
10316 2010-06-22  Eric Blake  <eblake@redhat.com>
10317
10318         memmem: slight optimization
10319         * lib/str-two-way.h (critical_factorization): Update comments.
10320         Reduce work during factorization phase.
10321         Reported by Carlos Bueno <carlos@bueno.org>.
10322
10323 2010-06-21  Bruno Haible  <bruno@clisp.org>
10324
10325         Fix HAVE_CALLOC_POSIX misnomer.
10326         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
10327         !HAVE_CALLOC_POSIX.
10328         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
10329         HAVE_CALLOC_POSIX.
10330         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
10331         instead of HAVE_CALLOC_POSIX.
10332         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
10333         HAVE_CALLOC_POSIX.
10334
10335         Use modern idiom for calloc() replacement.
10336         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
10337         AC_FUNC_CALLOC.
10338         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
10339         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
10340         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10341         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
10342         (gl_REPLACE_CALLOC): New macro.
10343
10344 2010-06-21  Bruno Haible  <bruno@clisp.org>
10345
10346         Fix HAVE_REALLOC_POSIX misnomer.
10347         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
10348         !HAVE_REALLOC_POSIX.
10349         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
10350         HAVE_REALLOC_POSIX.
10351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
10352         instead of HAVE_REALLOC_POSIX.
10353         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
10354         HAVE_REALLOC_POSIX.
10355
10356         Use modern idiom for realloc() replacement.
10357         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
10358         AC_FUNC_REALLOC.
10359         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
10360         Autoconf's AC_FUNC_REALLOC.
10361         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10362         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
10363         (gl_REPLACE_REALLOC): New macro.
10364         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10365
10366 2010-06-21  Bruno Haible  <bruno@clisp.org>
10367
10368         Fix HAVE_MALLOC_POSIX misnomer.
10369         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
10370         !HAVE_MALLOC_POSIX.
10371         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
10372         HAVE_MALLOC_POSIX.
10373         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
10374         instead of HAVE_MALLOC_POSIX.
10375         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
10376         HAVE_MALLOC_POSIX.
10377
10378         Use modern idiom for malloc() replacement.
10379         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
10380         AC_FUNC_MALLOC.
10381         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
10382         Autoconf's AC_FUNC_MALLOC.
10383         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10384         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
10385         (gl_REPLACE_MALLOC): New macro.
10386         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10387
10388 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
10389
10390         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
10391         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
10392         This macro takes 3 arguments, not 4.
10393
10394 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
10395
10396         ipv6: fix detection under mingw
10397         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
10398         in6_addr.
10399
10400 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
10401
10402         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
10403         that strtod() works when cross-compiling to a glibc version known
10404         to work.
10405
10406 2010-06-15  Bruno Haible  <bruno@clisp.org>
10407
10408         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
10409
10410 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
10411
10412         select: Correct timeout.
10413         * lib/select.c (rpl_select): Compute wait_timeout correctly.
10414
10415 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
10416
10417         git-version-gen: init shell var to avoid env var influence
10418         * build-aux/git-version-gen (v): Init shell var to empty.
10419
10420 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
10421
10422         priv-set: Don't assume that priv.h exists merely because getppriv does.
10423         See Jan Andersen's bug report about AIX 5L in
10424         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
10425         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
10426         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
10427         * lib/priv-set.h: Likewise.
10428         * tests/test-priv-set.c: Likewise.
10429
10430 2010-06-13  Bruno Haible  <bruno@clisp.org>
10431
10432         relocatable: Make it easier to test whether to install wrappers.
10433         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
10434         RELOCATABLE_VIA_WRAPPER.
10435
10436 2010-06-13  Bruno Haible  <bruno@clisp.org>
10437
10438         gnulib-tool: Display specified modules and dependencies differently.
10439         * gnulib-tool (func_show_module_list): New function.
10440         (func_import, func_create_testdir): Invoke it.
10441         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
10442
10443 2010-06-13  Bruno Haible  <bruno@clisp.org>
10444
10445         gnulib-tool: Align code of func_import and func_create_testdir.
10446         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
10447         specified_modules.
10448
10449 2010-06-12  Jim Meyering  <meyering@redhat.com>
10450
10451         test-inttostr: avoid spurious failure on Solaris 9
10452         * tests/test-inttostr.c (main): Skip the test when snprintf fails
10453         to accept "%ju".  Reported by Bruno Haible.
10454
10455 2010-06-11  Jim Meyering  <meyering@redhat.com>
10456
10457         test-sys_socket: mark variables as used more readably
10458         * tests/test-sys_socket.c (main): Mark otherwise unused variables
10459         as "used" explicitly via (void) statement casts.  This is more
10460         readable than using them in an artificial return expression.
10461         Suggestion from Bruno Haible.
10462
10463 2010-06-11  Bruno Haible  <bruno@clisp.org>
10464
10465         Avoid some more warnings from "gcc -Wwrite-strings".
10466         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
10467         to 'const char *'.
10468         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
10469         * tests/test-c-strcasestr.c (main): Likewise.
10470         * tests/test-mbscasestr1.c (main): Likewise.
10471         * tests/test-mbscasestr2.c (main): Likewise.
10472         * tests/test-memmem.c (main): Likewise.
10473         * tests/test-strstr.c (main): Likewise.
10474         * tests/test-strcasestr.c (main): Likewise.
10475
10476 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10477
10478         init.sh: change framework_failure_ to fail with status 99, not 1
10479         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
10480         automake's parallel-tests rule that this is an unexpected failure,
10481         even if the test is listed in XFAIL_TESTS.
10482
10483 2010-06-11  Jim Meyering  <meyering@redhat.com>
10484
10485         test-inttostr: avoid warnings about 4-6KB literal strings
10486         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
10487         Include "macros.h", for its definition of ASSERT.
10488         (CK): s/assert/ASSERT/
10489         * modules/inttostr-tests (Files): Add macros.h.
10490
10491         init.sh: don't use $ME_ or skip_ before they are defined
10492         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
10493         their first uses.  Also hoist their companions: warn_, fail_,
10494         framework_failure_, $stderr_fileno.  Prompted by a patch from
10495         Stefano Lattarini.
10496
10497         test-sys_socket: avoid set-but-not-used warnings from gcc
10498         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
10499         avoid warning about set-but-not-used variables.
10500
10501         test-xvasprintf: avoid 'const' discard warnings
10502         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
10503         "const" when assigning from literal strings.
10504         (test_xasprintf): Add "void" in function argument list to placate
10505         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
10506
10507         tests: avoid compilation warnings in argmatch and exclude tests...
10508         in packages that define ARGMATCH_DIE_DECL, like coreutils.
10509         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
10510         Since it always exits, declare with the "noreturn" attribute.
10511         * tests/test-argmatch.c: Likewise.
10512
10513         tests: avoid 'const' discard warnings in mbsstr tests
10514         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
10515         * tests/test-mbsstr2.c (main): Likewise.
10516
10517         test-verify: avoid warning from gcc's -Wmissing-declarations
10518         * tests/test-verify.c (function): Declare to be static.
10519
10520         test-inttostr.c: include <string.h> for use of strcmp
10521         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
10522
10523         test-linkat: avoid failed assertion on "other" architectures
10524         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
10525         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
10526         sparc: https://bugs.launchpad.net/bugs/591968
10527
10528 2010-06-11  Jim Meyering  <meyering@redhat.com>
10529
10530         printf.m4: avoid autoconf's "Expanded Before Required" warning
10531         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
10532         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
10533         autoconf warning.
10534
10535 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
10536
10537         Replacement header templates are now named with ".in", not "_".
10538         * doc/gnulib-intro.texi: Correct.
10539
10540 2010-06-10  Jim Meyering  <meyering@redhat.com>
10541
10542         inttostr-tests: depend on snprintf, not snprintf-posix
10543         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
10544         snprintf-posix, to avoid this aclocal failure:
10545           missing file gnulib-tests/vasnprintf.c
10546           configure.ac:45: error: expected source file, required through \
10547           AC_LIBSOURCES, not found
10548
10549 2010-06-10  Jim Meyering  <meyering@redhat.com>
10550
10551         inttostr: add a new function, inttostr, and tests
10552         The namesake function was not available.  The existence of the
10553         template file, inttostr.c makes its addition nontrivial.
10554         * lib/anytostr.c: Rename from inttostr.c.
10555         (anytostr): Rename from inttostr.
10556         * lib/inttostr.c: New file.
10557         * modules/inttostr (Files): Add anytostr.c.
10558         (Makefile.am): Set lib_SOURCES instead of ...
10559         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
10560         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
10561         * lib/offtostr.c: Likewise.
10562         * lib/uinttostr.c: Likewise.
10563         * lib/umaxtostr.c: Likewise.
10564         * modules/inttostr-tests: New file.
10565         * tests/test-inttostr.c: New file.  Test these functions.
10566
10567 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
10568             Bruno Haible  <bruno@clisp.org>
10569
10570         Add "Extending Gnulib" chapter to manual.
10571         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
10572         chapter.
10573         (Extending Gnulib): New chapter.
10574         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
10575         chapter.
10576
10577 2010-06-09  Bruno Haible  <bruno@clisp.org>
10578
10579         Avoid relocwrapper link errors due to gnulib replacement functions.
10580         * lib/areadlink.c: Use the system's malloc, realloc functions.
10581         (areadlink): Set errno to ENOMEM explicitly.
10582         * modules/areadlink (Depends-on): Remove malloc-posix.
10583         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10584
10585 2010-06-09  Bruno Haible  <bruno@clisp.org>
10586
10587         Avoid relocwrapper link errors due to gnulib replacement functions.
10588         * lib/canonicalize-lgpl.c: Use the system's malloc function.
10589         * lib/malloca.c: Likewise.
10590         * lib/relocatable.c: Likewise.
10591         * lib/progreloc.c: Use the system's malloc, sprintf functions.
10592         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
10593         * lib/setenv.c: Use the system's malloc, realloc functions.
10594         * lib/strerror.c: Use the system's sprintf function.
10595         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10596
10597 2010-06-04  Bruno Haible  <bruno@clisp.org>
10598
10599         Prefer documented low-level autoconf macro names.
10600         * m4/lib-link.m4: Use m4_translit instead of translit.
10601         * m4/environ.m4: Likewise.
10602         * m4/mathfunc.m4: Likewise.
10603         * m4/onceonly.m4: Likewise.
10604         * m4/stdint.m4: Likewise.
10605         Suggested by Eric Blake.
10606
10607 2010-06-04  Martin Lambers  <marlam@marlam.de>
10608             Bruno Haible  <bruno@clisp.org>
10609
10610         havelib: Allow library names with '+' characters.
10611         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
10612         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
10613
10614 2010-06-09  Bruno Haible  <bruno@clisp.org>
10615
10616         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
10617         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
10618         realloc failed.
10619
10620 2010-06-08  Peter Simons  <simons@cryp.to>
10621
10622         maint.mk: make the news-check rule more configurable
10623         * top/maint.mk (news-check-lines-spec) New variable.
10624         (news-check): Use "sed -n 1,10p" in place of "head".
10625
10626 2010-06-07  Jim Meyering  <meyering@redhat.com>
10627
10628         do-release-commit-and-tag: fix typo in --help
10629         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
10630
10631         regex: avoid new dead-code warning with gcc-4.6.0
10632         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
10633         if-block containing a while-loop.  It's been unused for at least
10634         5 years.
10635
10636 2010-06-05  Bruno Haible  <bruno@clisp.org>
10637
10638         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
10639         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
10640
10641 2010-06-04  Bruno Haible  <bruno@clisp.org>
10642
10643         Update to GNU gettext 0.18.1.
10644         * modules/gettext (configure.ac): Require gettext infrastructure from
10645         version 0.18.1.
10646
10647 2010-06-03  Bruno Haible  <bruno@clisp.org>
10648
10649         Don't use AC_LIBOBJ with file names in subdirectories.
10650         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
10651         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
10652         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
10653         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
10654         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
10655         gl_LIBUNISTRING_LIBSOURCE.
10656         (Makefile.am): Augment lib_SOURCES here, conditionally.
10657         * NEWS: Drop requirement for Automake option 'subdir-objects'.
10658
10659 2010-06-03  Bruno Haible  <bruno@clisp.org>
10660
10661         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
10662         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
10663         expansion does not end with a newline.
10664         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
10665         unnecessary newline.
10666
10667 2010-06-03  Bruno Haible  <bruno@clisp.org>
10668
10669         Reduce dependencies.
10670         * tests/test-quotearg.h: New file, extracted from
10671         tests/test-quotearg.c.
10672         * tests/test-quotearg-simple.c: New file, extracted from
10673         tests/test-quotearg.c.
10674         * tests/test-quotearg.c: Don't include <ctype.h>.
10675         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
10676         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
10677         use_quote_double_quotes, use_quotearg_colon): Moved to
10678         tests/test-quotearg.h.
10679         (results_g, flag_results, custom_quotes, custom_results): Moved
10680         to tests/test-quotearg-simple.c.
10681         (main): Moved the part that does not depend on gettext to
10682         tests/test-quotearg-simple.c. Return 77 if the test cannot be
10683         performed.
10684         * modules/quotearg-simple: New file.
10685         * modules/quotearg-simple-tests: New file.
10686         * modules/quotearg (Depends-on): Add quotearg-simple.
10687         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10688         (Files): Add tests/test-quotearg.h.
10689         Reported by Paolo Bonzini.
10690
10691 2010-06-03  Bruno Haible  <bruno@clisp.org>
10692
10693         Reduce dependencies.
10694         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10695
10696 2010-06-03  Bruno Haible  <bruno@clisp.org>
10697
10698         time: Undefine more broken macros.
10699         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10700         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10701         Reported by Eric Blake.
10702
10703 2010-06-03  Bruno Haible  <bruno@clisp.org>
10704
10705         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10706         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10707         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10708         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10709         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10710         Reported by Ludovic Courtès <ludo@gnu.org>.
10711
10712 2010-06-02  Eric Blake  <eblake@redhat.com>
10713
10714         time: work with mingw + pthreads-win32 library
10715         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10716         if timespec is defined only in pthread.h.
10717         * modules/time (Makefile.am): Substitute it.
10718         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10719         <pthread.h>, when needed.
10720         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10721         from the library.
10722
10723 2010-05-31  Bruno Haible  <bruno@clisp.org>
10724
10725         Avoid expanding two macros in the wrong order.
10726         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10727         gl_LIBUNISTRING if it is defined.
10728         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10729         autoconf >= 2.64.
10730         Reported by Ludovic Courtès <ludo@gnu.org>.
10731
10732 2010-05-27  Jim Meyering  <meyering@redhat.com>
10733
10734         maint.mk: also prohibit "#undef" of always-defined symbols
10735         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10736         Allow more than one space before the symbol name.
10737         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10738         the regexp uses alternation.
10739
10740 2010-05-26  Eric Blake  <eblake@redhat.com>
10741
10742         maint.mk: avoid echo -e
10743         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10744         Convert all uses of echo -* to printf.
10745         Reported by Matthias Bolte.
10746
10747 2010-05-25  Bruno Haible  <bruno@clisp.org>
10748
10749         Update to GNU gettext 0.18, part 2.
10750         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10751         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10752
10753 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10754
10755         Add missing include in test-pwrite.c.
10756         * tests/test-pwrite.c: Include string.h, for strcmp.
10757
10758 2010-05-24  Bruno Haible  <bruno@clisp.org>
10759
10760         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10761
10762 2010-05-24  Bruno Haible  <bruno@clisp.org>
10763
10764         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10765         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10766         iconveh_error argument.
10767         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10768         U_STRCONV_TO_LOCALE.
10769         * lib/unistr/u16-strcoll.c: Likewise.
10770         * lib/unistr/u32-strcoll.c: Likewise.
10771         * modules/unistr/u8-strcoll (Depends-on): Add
10772         uniconv/u8-strconv-to-enc, localcharset. Remove
10773         uniconv/u8-strconv-to-locale.
10774         (configure.ac): Bump version number.
10775         * modules/unistr/u16-strcoll (Depends-on): Add
10776         uniconv/u16-strconv-to-enc, localcharset. Remove
10777         uniconv/u16-strconv-to-locale.
10778         (configure.ac): Bump version number.
10779         * modules/unistr/u32-strcoll (Depends-on): Add
10780         uniconv/u32-strconv-to-enc, localcharset. Remove
10781         uniconv/u32-strconv-to-locale.
10782         (configure.ac): Bump version number.
10783
10784 2010-05-24  Bruno Haible  <bruno@clisp.org>
10785
10786         Avoid a test failure on NetBSD 5.0.
10787         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10788         an iconv() bug.
10789
10790 2010-05-24  Bruno Haible  <bruno@clisp.org>
10791
10792         Adjust #include directive style.
10793         * modules/regex (Includes): Recommend to write <regex.h>.
10794
10795 2010-05-24  Bruno Haible  <bruno@clisp.org>
10796
10797         regex: Don't require alloca.
10798         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10799         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10800         only inside if (0).
10801
10802 2010-05-23  Jim Meyering  <meyering@redhat.com>
10803
10804         test-renameat.c: include <sys/stat.h>
10805         * tests/test-renameat.c: Include <sys/stat.h>; required for
10806         definition of S_IS* macros.
10807
10808 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10809
10810         Update maintainer documentation for 'relocatable-prog' module.
10811         * doc/relocatable-maint.texi: Update.
10812         Comments by Bruno Haible.
10813
10814 2010-05-23  Bruno Haible  <bruno@clisp.org>
10815
10816         git-merge-changelog: Enable --split-merged-entry by default.
10817         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10818         (usage): Don't mention this option any more.
10819         Reported by Ralf Wildenhues.
10820
10821 2010-05-23  Jim Meyering  <meyering@redhat.com>
10822
10823         test-pwrite: do not leave behind a test file named "out"
10824         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10825         The trivial-looking use of init.sh is really necessary.
10826         It ensures that the temporary file, "out", is created in
10827         a temporary directory, and removed upon termination.
10828         * tests/test-pwrite.sh: Re-add file.
10829         * modules/pwrite-tests: Reference it.
10830
10831 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10832
10833         Fix output redirection buglet in init.sh.
10834         * tests/init.sh: Fix redirection of stderr.
10835
10836 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10837
10838         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10839
10840 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10841
10842         * modules/valgrind-tests: New file.
10843         * m4/valgrind-tests.m4: New file.
10844         * doc/valgrind-tests.texi: New file.
10845         * doc/gnulib.texi (Running self-tests under valgrind): New
10846         section.
10847
10848 2010-05-19  Bruno Haible  <bruno@clisp.org>
10849
10850         Clean up dead code in recent commit.
10851         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10852         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10853         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10854         Suggested by Paolo Bonzini.
10855
10856 2010-05-19  Bruno Haible  <bruno@clisp.org>
10857
10858         Avoid valgrind error reports from libunistring.
10859         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10860         * modules/libunistring (Files): Add it.
10861         * modules/libunistring-optional (Files): Likewise.
10862
10863 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10864             Bruno Haible  <bruno@clisp.org>
10865
10866         New module 'libunistring-optional'.
10867         * modules/libunistring-optional: New file.
10868         * m4/libunistring-base.m4: New file.
10869         * m4/libunistring-optional.m4: New file.
10870         * lib/unicase.in.h: Renamed from lib/unicase.h.
10871         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10872         * lib/unictype.in.h: Renamed from lib/unictype.h.
10873         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10874         * lib/uniname.in.h: Renamed from lib/uniname.h.
10875         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10876         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10877         * lib/unistr.in.h: Renamed from lib/unistr.h.
10878         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10879         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10880         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10881         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10882         gl_LIBUNISTRING. If the library was found, determine the installed
10883         version and set LIBUNISTRING_VERSION.
10884         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10885         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10886         handle a configuration option --with-included-libunistring.
10887         * modules/libunistring (Files): Add m4/absolute-header.m4.
10888         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10889         Add m4/libunistring-base.m4.
10890         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10891         (Makefile.am): Build unicase.h from unicase.in.h.
10892         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10893         Add m4/libunistring-base.m4.
10894         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10895         (Makefile.am): Build uniconv.h from uniconv.in.h.
10896         * modules/unictype/base (Files): Use unictype.in.h instead of
10897         unictype.h. Add m4/libunistring-base.m4.
10898         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10899         (Makefile.am): Build unictype.h from unictype.in.h.
10900         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10901         Add m4/libunistring-base.m4.
10902         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10903         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10904         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10905         Add m4/libunistring-base.m4.
10906         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10907         (Makefile.am): Build uniname.h from uniname.in.h.
10908         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10909         Add m4/libunistring-base.m4.
10910         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10911         (Makefile.am): Build uninorm.h from uninorm.in.h.
10912         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10913         unistdio.h. Add m4/libunistring-base.m4.
10914         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10915         (Makefile.am): Build unistdio.h from unistdio.in.h.
10916         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10917         Add m4/libunistring-base.m4.
10918         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10919         (Makefile.am): Build unistr.h from unistr.in.h.
10920         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
10921         Add m4/libunistring-base.m4.
10922         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10923         (Makefile.am): Build unitypes.h from unitypes.in.h.
10924         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
10925         Add m4/libunistring-base.m4.
10926         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10927         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
10928         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
10929         uniwidth.h. Add m4/libunistring-base.m4.
10930         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10931         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
10932         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
10933         instead of augmenting lib_SOURCES.
10934         * modules/unicase/empty-suffix-context: Likewise.
10935         * modules/unicase/locale-language: Likewise.
10936         * modules/unicase/tolower: Likewise.
10937         * modules/unicase/totitle: Likewise.
10938         * modules/unicase/toupper: Likewise.
10939         * modules/unicase/u8-casecmp: Likewise.
10940         * modules/unicase/u8-casecoll: Likewise.
10941         * modules/unicase/u8-casefold: Likewise.
10942         * modules/unicase/u8-casexfrm: Likewise.
10943         * modules/unicase/u8-ct-casefold: Likewise.
10944         * modules/unicase/u8-ct-tolower: Likewise.
10945         * modules/unicase/u8-ct-totitle: Likewise.
10946         * modules/unicase/u8-ct-toupper: Likewise.
10947         * modules/unicase/u8-is-cased: Likewise.
10948         * modules/unicase/u8-is-casefolded: Likewise.
10949         * modules/unicase/u8-is-lowercase: Likewise.
10950         * modules/unicase/u8-is-titlecase: Likewise.
10951         * modules/unicase/u8-is-uppercase: Likewise.
10952         * modules/unicase/u8-prefix-context: Likewise.
10953         * modules/unicase/u8-suffix-context: Likewise.
10954         * modules/unicase/u8-tolower: Likewise.
10955         * modules/unicase/u8-totitle: Likewise.
10956         * modules/unicase/u8-toupper: Likewise.
10957         * modules/unicase/u16-casecmp: Likewise.
10958         * modules/unicase/u16-casecoll: Likewise.
10959         * modules/unicase/u16-casefold: Likewise.
10960         * modules/unicase/u16-casexfrm: Likewise.
10961         * modules/unicase/u16-ct-casefold: Likewise.
10962         * modules/unicase/u16-ct-tolower: Likewise.
10963         * modules/unicase/u16-ct-totitle: Likewise.
10964         * modules/unicase/u16-ct-toupper: Likewise.
10965         * modules/unicase/u16-is-cased: Likewise.
10966         * modules/unicase/u16-is-casefolded: Likewise.
10967         * modules/unicase/u16-is-lowercase: Likewise.
10968         * modules/unicase/u16-is-titlecase: Likewise.
10969         * modules/unicase/u16-is-uppercase: Likewise.
10970         * modules/unicase/u16-prefix-context: Likewise.
10971         * modules/unicase/u16-suffix-context: Likewise.
10972         * modules/unicase/u16-tolower: Likewise.
10973         * modules/unicase/u16-totitle: Likewise.
10974         * modules/unicase/u16-toupper: Likewise.
10975         * modules/unicase/u32-casecmp: Likewise.
10976         * modules/unicase/u32-casecoll: Likewise.
10977         * modules/unicase/u32-casefold: Likewise.
10978         * modules/unicase/u32-casexfrm: Likewise.
10979         * modules/unicase/u32-ct-casefold: Likewise.
10980         * modules/unicase/u32-ct-tolower: Likewise.
10981         * modules/unicase/u32-ct-totitle: Likewise.
10982         * modules/unicase/u32-ct-toupper: Likewise.
10983         * modules/unicase/u32-is-cased: Likewise.
10984         * modules/unicase/u32-is-casefolded: Likewise.
10985         * modules/unicase/u32-is-lowercase: Likewise.
10986         * modules/unicase/u32-is-titlecase: Likewise.
10987         * modules/unicase/u32-is-uppercase: Likewise.
10988         * modules/unicase/u32-prefix-context: Likewise.
10989         * modules/unicase/u32-suffix-context: Likewise.
10990         * modules/unicase/u32-tolower: Likewise.
10991         * modules/unicase/u32-totitle: Likewise.
10992         * modules/unicase/u32-toupper: Likewise.
10993         * modules/unicase/ulc-casecmp: Likewise.
10994         * modules/unicase/ulc-casecoll: Likewise.
10995         * modules/unicase/ulc-casexfrm: Likewise.
10996         * modules/uniconv/u8-conv-from-enc: Likewise.
10997         * modules/uniconv/u8-conv-to-enc: Likewise.
10998         * modules/uniconv/u8-strconv-from-enc: Likewise.
10999         * modules/uniconv/u8-strconv-from-locale: Likewise.
11000         * modules/uniconv/u8-strconv-to-enc: Likewise.
11001         * modules/uniconv/u8-strconv-to-locale: Likewise.
11002         * modules/uniconv/u16-conv-from-enc: Likewise.
11003         * modules/uniconv/u16-conv-to-enc: Likewise.
11004         * modules/uniconv/u16-strconv-from-enc: Likewise.
11005         * modules/uniconv/u16-strconv-from-locale: Likewise.
11006         * modules/uniconv/u16-strconv-to-enc: Likewise.
11007         * modules/uniconv/u16-strconv-to-locale: Likewise.
11008         * modules/uniconv/u32-conv-from-enc: Likewise.
11009         * modules/uniconv/u32-conv-to-enc: Likewise.
11010         * modules/uniconv/u32-strconv-from-enc: Likewise.
11011         * modules/uniconv/u32-strconv-from-locale: Likewise.
11012         * modules/uniconv/u32-strconv-to-enc: Likewise.
11013         * modules/uniconv/u32-strconv-to-locale: Likewise.
11014         * modules/unictype/bidicategory-byname: Likewise.
11015         * modules/unictype/bidicategory-name: Likewise.
11016         * modules/unictype/bidicategory-of: Likewise.
11017         * modules/unictype/bidicategory-test: Likewise.
11018         * modules/unictype/block-list: Likewise.
11019         * modules/unictype/block-test: Likewise.
11020         * modules/unictype/category-C: Likewise.
11021         * modules/unictype/category-Cc: Likewise.
11022         * modules/unictype/category-Cf: Likewise.
11023         * modules/unictype/category-Cn: Likewise.
11024         * modules/unictype/category-Co: Likewise.
11025         * modules/unictype/category-Cs: Likewise.
11026         * modules/unictype/category-L: Likewise.
11027         * modules/unictype/category-Ll: Likewise.
11028         * modules/unictype/category-Lm: Likewise.
11029         * modules/unictype/category-Lo: Likewise.
11030         * modules/unictype/category-Lt: Likewise.
11031         * modules/unictype/category-Lu: Likewise.
11032         * modules/unictype/category-M: Likewise.
11033         * modules/unictype/category-Mc: Likewise.
11034         * modules/unictype/category-Me: Likewise.
11035         * modules/unictype/category-Mn: Likewise.
11036         * modules/unictype/category-N: Likewise.
11037         * modules/unictype/category-Nd: Likewise.
11038         * modules/unictype/category-Nl: Likewise.
11039         * modules/unictype/category-No: Likewise.
11040         * modules/unictype/category-P: Likewise.
11041         * modules/unictype/category-Pc: Likewise.
11042         * modules/unictype/category-Pd: Likewise.
11043         * modules/unictype/category-Pe: Likewise.
11044         * modules/unictype/category-Pf: Likewise.
11045         * modules/unictype/category-Pi: Likewise.
11046         * modules/unictype/category-Po: Likewise.
11047         * modules/unictype/category-Ps: Likewise.
11048         * modules/unictype/category-S: Likewise.
11049         * modules/unictype/category-Sc: Likewise.
11050         * modules/unictype/category-Sk: Likewise.
11051         * modules/unictype/category-Sm: Likewise.
11052         * modules/unictype/category-So: Likewise.
11053         * modules/unictype/category-Z: Likewise.
11054         * modules/unictype/category-Zl: Likewise.
11055         * modules/unictype/category-Zp: Likewise.
11056         * modules/unictype/category-Zs: Likewise.
11057         * modules/unictype/category-and: Likewise.
11058         * modules/unictype/category-and-not: Likewise.
11059         * modules/unictype/category-byname: Likewise.
11060         * modules/unictype/category-name: Likewise.
11061         * modules/unictype/category-none: Likewise.
11062         * modules/unictype/category-of: Likewise.
11063         * modules/unictype/category-or: Likewise.
11064         * modules/unictype/category-test: Likewise.
11065         * modules/unictype/combining-class: Likewise.
11066         * modules/unictype/ctype-alnum: Likewise.
11067         * modules/unictype/ctype-alpha: Likewise.
11068         * modules/unictype/ctype-blank: Likewise.
11069         * modules/unictype/ctype-cntrl: Likewise.
11070         * modules/unictype/ctype-digit: Likewise.
11071         * modules/unictype/ctype-graph: Likewise.
11072         * modules/unictype/ctype-lower: Likewise.
11073         * modules/unictype/ctype-print: Likewise.
11074         * modules/unictype/ctype-punct: Likewise.
11075         * modules/unictype/ctype-space: Likewise.
11076         * modules/unictype/ctype-upper: Likewise.
11077         * modules/unictype/ctype-xdigit: Likewise.
11078         * modules/unictype/decimal-digit: Likewise.
11079         * modules/unictype/digit: Likewise.
11080         * modules/unictype/mirror: Likewise.
11081         * modules/unictype/numeric: Likewise.
11082         * modules/unictype/property-alphabetic: Likewise.
11083         * modules/unictype/property-ascii-hex-digit: Likewise.
11084         * modules/unictype/property-bidi-arabic-digit: Likewise.
11085         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
11086         * modules/unictype/property-bidi-block-separator: Likewise.
11087         * modules/unictype/property-bidi-boundary-neutral: Likewise.
11088         * modules/unictype/property-bidi-common-separator: Likewise.
11089         * modules/unictype/property-bidi-control: Likewise.
11090         * modules/unictype/property-bidi-embedding-or-override: Likewise.
11091         * modules/unictype/property-bidi-eur-num-separator: Likewise.
11092         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
11093         * modules/unictype/property-bidi-european-digit: Likewise.
11094         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
11095         * modules/unictype/property-bidi-left-to-right: Likewise.
11096         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
11097         * modules/unictype/property-bidi-other-neutral: Likewise.
11098         * modules/unictype/property-bidi-pdf: Likewise.
11099         * modules/unictype/property-bidi-segment-separator: Likewise.
11100         * modules/unictype/property-bidi-whitespace: Likewise.
11101         * modules/unictype/property-byname: Likewise.
11102         * modules/unictype/property-combining: Likewise.
11103         * modules/unictype/property-composite: Likewise.
11104         * modules/unictype/property-currency-symbol: Likewise.
11105         * modules/unictype/property-dash: Likewise.
11106         * modules/unictype/property-decimal-digit: Likewise.
11107         * modules/unictype/property-default-ignorable-code-point: Likewise.
11108         * modules/unictype/property-deprecated: Likewise.
11109         * modules/unictype/property-diacritic: Likewise.
11110         * modules/unictype/property-extender: Likewise.
11111         * modules/unictype/property-format-control: Likewise.
11112         * modules/unictype/property-grapheme-base: Likewise.
11113         * modules/unictype/property-grapheme-extend: Likewise.
11114         * modules/unictype/property-grapheme-link: Likewise.
11115         * modules/unictype/property-hex-digit: Likewise.
11116         * modules/unictype/property-hyphen: Likewise.
11117         * modules/unictype/property-id-continue: Likewise.
11118         * modules/unictype/property-id-start: Likewise.
11119         * modules/unictype/property-ideographic: Likewise.
11120         * modules/unictype/property-ids-binary-operator: Likewise.
11121         * modules/unictype/property-ids-trinary-operator: Likewise.
11122         * modules/unictype/property-ignorable-control: Likewise.
11123         * modules/unictype/property-iso-control: Likewise.
11124         * modules/unictype/property-join-control: Likewise.
11125         * modules/unictype/property-left-of-pair: Likewise.
11126         * modules/unictype/property-line-separator: Likewise.
11127         * modules/unictype/property-logical-order-exception: Likewise.
11128         * modules/unictype/property-lowercase: Likewise.
11129         * modules/unictype/property-math: Likewise.
11130         * modules/unictype/property-non-break: Likewise.
11131         * modules/unictype/property-not-a-character: Likewise.
11132         * modules/unictype/property-numeric: Likewise.
11133         * modules/unictype/property-other-alphabetic: Likewise.
11134         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
11135         * modules/unictype/property-other-grapheme-extend: Likewise.
11136         * modules/unictype/property-other-id-continue: Likewise.
11137         * modules/unictype/property-other-id-start: Likewise.
11138         * modules/unictype/property-other-lowercase: Likewise.
11139         * modules/unictype/property-other-math: Likewise.
11140         * modules/unictype/property-other-uppercase: Likewise.
11141         * modules/unictype/property-paired-punctuation: Likewise.
11142         * modules/unictype/property-paragraph-separator: Likewise.
11143         * modules/unictype/property-pattern-syntax: Likewise.
11144         * modules/unictype/property-pattern-white-space: Likewise.
11145         * modules/unictype/property-private-use: Likewise.
11146         * modules/unictype/property-punctuation: Likewise.
11147         * modules/unictype/property-quotation-mark: Likewise.
11148         * modules/unictype/property-radical: Likewise.
11149         * modules/unictype/property-sentence-terminal: Likewise.
11150         * modules/unictype/property-soft-dotted: Likewise.
11151         * modules/unictype/property-space: Likewise.
11152         * modules/unictype/property-terminal-punctuation: Likewise.
11153         * modules/unictype/property-test: Likewise.
11154         * modules/unictype/property-titlecase: Likewise.
11155         * modules/unictype/property-unassigned-code-value: Likewise.
11156         * modules/unictype/property-unified-ideograph: Likewise.
11157         * modules/unictype/property-uppercase: Likewise.
11158         * modules/unictype/property-variation-selector: Likewise.
11159         * modules/unictype/property-white-space: Likewise.
11160         * modules/unictype/property-xid-continue: Likewise.
11161         * modules/unictype/property-xid-start: Likewise.
11162         * modules/unictype/property-zero-width: Likewise.
11163         * modules/unictype/scripts: Likewise.
11164         * modules/unictype/syntax-c-ident: Likewise.
11165         * modules/unictype/syntax-c-whitespace: Likewise.
11166         * modules/unictype/syntax-java-ident: Likewise.
11167         * modules/unictype/syntax-java-whitespace: Likewise.
11168         * modules/unilbrk/u8-possible-linebreaks: Likewise.
11169         * modules/unilbrk/u8-width-linebreaks: Likewise.
11170         * modules/unilbrk/u16-possible-linebreaks: Likewise.
11171         * modules/unilbrk/u16-width-linebreaks: Likewise.
11172         * modules/unilbrk/u32-possible-linebreaks: Likewise.
11173         * modules/unilbrk/u32-width-linebreaks: Likewise.
11174         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
11175         * modules/unilbrk/ulc-width-linebreaks: Likewise.
11176         * modules/uniname/uniname: Likewise.
11177         * modules/uninorm/canonical-decomposition: Likewise.
11178         * modules/uninorm/composition: Likewise.
11179         * modules/uninorm/decomposing-form: Likewise.
11180         * modules/uninorm/decomposition: Likewise.
11181         * modules/uninorm/filter: Likewise.
11182         * modules/uninorm/nfc: Likewise.
11183         * modules/uninorm/nfd: Likewise.
11184         * modules/uninorm/nfkc: Likewise.
11185         * modules/uninorm/nfkd: Likewise.
11186         * modules/uninorm/u8-normalize: Likewise.
11187         * modules/uninorm/u8-normcmp: Likewise.
11188         * modules/uninorm/u8-normcoll: Likewise.
11189         * modules/uninorm/u8-normxfrm: Likewise.
11190         * modules/uninorm/u16-normalize: Likewise.
11191         * modules/uninorm/u16-normcmp: Likewise.
11192         * modules/uninorm/u16-normcoll: Likewise.
11193         * modules/uninorm/u16-normxfrm: Likewise.
11194         * modules/uninorm/u32-normalize: Likewise.
11195         * modules/uninorm/u32-normcmp: Likewise.
11196         * modules/uninorm/u32-normcoll: Likewise.
11197         * modules/uninorm/u32-normxfrm: Likewise.
11198         * modules/unistdio/u8-asnprintf: Likewise.
11199         * modules/unistdio/u8-asprintf: Likewise.
11200         * modules/unistdio/u8-snprintf: Likewise.
11201         * modules/unistdio/u8-sprintf: Likewise.
11202         * modules/unistdio/u8-u8-asnprintf: Likewise.
11203         * modules/unistdio/u8-u8-asprintf: Likewise.
11204         * modules/unistdio/u8-u8-snprintf: Likewise.
11205         * modules/unistdio/u8-u8-sprintf: Likewise.
11206         * modules/unistdio/u8-u8-vasnprintf: Likewise.
11207         * modules/unistdio/u8-u8-vasprintf: Likewise.
11208         * modules/unistdio/u8-u8-vsnprintf: Likewise.
11209         * modules/unistdio/u8-u8-vsprintf: Likewise.
11210         * modules/unistdio/u8-vasnprintf: Likewise.
11211         * modules/unistdio/u8-vasprintf: Likewise.
11212         * modules/unistdio/u8-vsnprintf: Likewise.
11213         * modules/unistdio/u8-vsprintf: Likewise.
11214         * modules/unistdio/u16-asnprintf: Likewise.
11215         * modules/unistdio/u16-asprintf: Likewise.
11216         * modules/unistdio/u16-snprintf: Likewise.
11217         * modules/unistdio/u16-sprintf: Likewise.
11218         * modules/unistdio/u16-u16-asnprintf: Likewise.
11219         * modules/unistdio/u16-u16-asprintf: Likewise.
11220         * modules/unistdio/u16-u16-snprintf: Likewise.
11221         * modules/unistdio/u16-u16-sprintf: Likewise.
11222         * modules/unistdio/u16-u16-vasnprintf: Likewise.
11223         * modules/unistdio/u16-u16-vasprintf: Likewise.
11224         * modules/unistdio/u16-u16-vsnprintf: Likewise.
11225         * modules/unistdio/u16-u16-vsprintf: Likewise.
11226         * modules/unistdio/u16-vasnprintf: Likewise.
11227         * modules/unistdio/u16-vasprintf: Likewise.
11228         * modules/unistdio/u16-vsnprintf: Likewise.
11229         * modules/unistdio/u16-vsprintf: Likewise.
11230         * modules/unistdio/u32-asnprintf: Likewise.
11231         * modules/unistdio/u32-asprintf: Likewise.
11232         * modules/unistdio/u32-snprintf: Likewise.
11233         * modules/unistdio/u32-sprintf: Likewise.
11234         * modules/unistdio/u32-u32-asnprintf: Likewise.
11235         * modules/unistdio/u32-u32-asprintf: Likewise.
11236         * modules/unistdio/u32-u32-snprintf: Likewise.
11237         * modules/unistdio/u32-u32-sprintf: Likewise.
11238         * modules/unistdio/u32-u32-vasnprintf: Likewise.
11239         * modules/unistdio/u32-u32-vasprintf: Likewise.
11240         * modules/unistdio/u32-u32-vsnprintf: Likewise.
11241         * modules/unistdio/u32-u32-vsprintf: Likewise.
11242         * modules/unistdio/u32-vasnprintf: Likewise.
11243         * modules/unistdio/u32-vasprintf: Likewise.
11244         * modules/unistdio/u32-vsnprintf: Likewise.
11245         * modules/unistdio/u32-vsprintf: Likewise.
11246         * modules/unistdio/ulc-asnprintf: Likewise.
11247         * modules/unistdio/ulc-asprintf: Likewise.
11248         * modules/unistdio/ulc-fprintf: Likewise.
11249         * modules/unistdio/ulc-snprintf: Likewise.
11250         * modules/unistdio/ulc-sprintf: Likewise.
11251         * modules/unistdio/ulc-vasnprintf: Likewise.
11252         * modules/unistdio/ulc-vasprintf: Likewise.
11253         * modules/unistdio/ulc-vfprintf: Likewise.
11254         * modules/unistdio/ulc-vsnprintf: Likewise.
11255         * modules/unistdio/ulc-vsprintf: Likewise.
11256         * modules/unistr/u8-check: Likewise.
11257         * modules/unistr/u8-chr: Likewise.
11258         * modules/unistr/u8-cmp: Likewise.
11259         * modules/unistr/u8-cmp2: Likewise.
11260         * modules/unistr/u8-cpy: Likewise.
11261         * modules/unistr/u8-cpy-alloc: Likewise.
11262         * modules/unistr/u8-endswith: Likewise.
11263         * modules/unistr/u8-mblen: Likewise.
11264         * modules/unistr/u8-mbsnlen: Likewise.
11265         * modules/unistr/u8-mbtouc: Likewise.
11266         * modules/unistr/u8-mbtouc-unsafe: Likewise.
11267         * modules/unistr/u8-mbtoucr: Likewise.
11268         * modules/unistr/u8-move: Likewise.
11269         * modules/unistr/u8-next: Likewise.
11270         * modules/unistr/u8-prev: Likewise.
11271         * modules/unistr/u8-set: Likewise.
11272         * modules/unistr/u8-startswith: Likewise.
11273         * modules/unistr/u8-stpcpy: Likewise.
11274         * modules/unistr/u8-stpncpy: Likewise.
11275         * modules/unistr/u8-strcat: Likewise.
11276         * modules/unistr/u8-strchr: Likewise.
11277         * modules/unistr/u8-strcmp: Likewise.
11278         * modules/unistr/u8-strcoll: Likewise.
11279         * modules/unistr/u8-strcpy: Likewise.
11280         * modules/unistr/u8-strcspn: Likewise.
11281         * modules/unistr/u8-strdup: Likewise.
11282         * modules/unistr/u8-strlen: Likewise.
11283         * modules/unistr/u8-strmblen: Likewise.
11284         * modules/unistr/u8-strmbtouc: Likewise.
11285         * modules/unistr/u8-strncat: Likewise.
11286         * modules/unistr/u8-strncmp: Likewise.
11287         * modules/unistr/u8-strncpy: Likewise.
11288         * modules/unistr/u8-strnlen: Likewise.
11289         * modules/unistr/u8-strpbrk: Likewise.
11290         * modules/unistr/u8-strrchr: Likewise.
11291         * modules/unistr/u8-strspn: Likewise.
11292         * modules/unistr/u8-strstr: Likewise.
11293         * modules/unistr/u8-strtok: Likewise.
11294         * modules/unistr/u8-to-u16: Likewise.
11295         * modules/unistr/u8-to-u32: Likewise.
11296         * modules/unistr/u8-uctomb: Likewise.
11297         * modules/unistr/u16-check: Likewise.
11298         * modules/unistr/u16-chr: Likewise.
11299         * modules/unistr/u16-cmp: Likewise.
11300         * modules/unistr/u16-cmp2: Likewise.
11301         * modules/unistr/u16-cpy: Likewise.
11302         * modules/unistr/u16-cpy-alloc: Likewise.
11303         * modules/unistr/u16-endswith: Likewise.
11304         * modules/unistr/u16-mblen: Likewise.
11305         * modules/unistr/u16-mbsnlen: Likewise.
11306         * modules/unistr/u16-mbtouc: Likewise.
11307         * modules/unistr/u16-mbtouc-unsafe: Likewise.
11308         * modules/unistr/u16-mbtoucr: Likewise.
11309         * modules/unistr/u16-move: Likewise.
11310         * modules/unistr/u16-next: Likewise.
11311         * modules/unistr/u16-prev: Likewise.
11312         * modules/unistr/u16-set: Likewise.
11313         * modules/unistr/u16-startswith: Likewise.
11314         * modules/unistr/u16-stpcpy: Likewise.
11315         * modules/unistr/u16-stpncpy: Likewise.
11316         * modules/unistr/u16-strcat: Likewise.
11317         * modules/unistr/u16-strchr: Likewise.
11318         * modules/unistr/u16-strcmp: Likewise.
11319         * modules/unistr/u16-strcoll: Likewise.
11320         * modules/unistr/u16-strcpy: Likewise.
11321         * modules/unistr/u16-strcspn: Likewise.
11322         * modules/unistr/u16-strdup: Likewise.
11323         * modules/unistr/u16-strlen: Likewise.
11324         * modules/unistr/u16-strmblen: Likewise.
11325         * modules/unistr/u16-strmbtouc: Likewise.
11326         * modules/unistr/u16-strncat: Likewise.
11327         * modules/unistr/u16-strncmp: Likewise.
11328         * modules/unistr/u16-strncpy: Likewise.
11329         * modules/unistr/u16-strnlen: Likewise.
11330         * modules/unistr/u16-strpbrk: Likewise.
11331         * modules/unistr/u16-strrchr: Likewise.
11332         * modules/unistr/u16-strspn: Likewise.
11333         * modules/unistr/u16-strstr: Likewise.
11334         * modules/unistr/u16-strtok: Likewise.
11335         * modules/unistr/u16-to-u32: Likewise.
11336         * modules/unistr/u16-to-u8: Likewise.
11337         * modules/unistr/u16-uctomb: Likewise.
11338         * modules/unistr/u32-check: Likewise.
11339         * modules/unistr/u32-chr: Likewise.
11340         * modules/unistr/u32-cmp: Likewise.
11341         * modules/unistr/u32-cmp2: Likewise.
11342         * modules/unistr/u32-cpy: Likewise.
11343         * modules/unistr/u32-cpy-alloc: Likewise.
11344         * modules/unistr/u32-endswith: Likewise.
11345         * modules/unistr/u32-mblen: Likewise.
11346         * modules/unistr/u32-mbsnlen: Likewise.
11347         * modules/unistr/u32-mbtouc: Likewise.
11348         * modules/unistr/u32-mbtouc-unsafe: Likewise.
11349         * modules/unistr/u32-mbtoucr: Likewise.
11350         * modules/unistr/u32-move: Likewise.
11351         * modules/unistr/u32-next: Likewise.
11352         * modules/unistr/u32-prev: Likewise.
11353         * modules/unistr/u32-set: Likewise.
11354         * modules/unistr/u32-startswith: Likewise.
11355         * modules/unistr/u32-stpcpy: Likewise.
11356         * modules/unistr/u32-stpncpy: Likewise.
11357         * modules/unistr/u32-strcat: Likewise.
11358         * modules/unistr/u32-strchr: Likewise.
11359         * modules/unistr/u32-strcmp: Likewise.
11360         * modules/unistr/u32-strcoll: Likewise.
11361         * modules/unistr/u32-strcpy: Likewise.
11362         * modules/unistr/u32-strcspn: Likewise.
11363         * modules/unistr/u32-strdup: Likewise.
11364         * modules/unistr/u32-strlen: Likewise.
11365         * modules/unistr/u32-strmblen: Likewise.
11366         * modules/unistr/u32-strmbtouc: Likewise.
11367         * modules/unistr/u32-strncat: Likewise.
11368         * modules/unistr/u32-strncmp: Likewise.
11369         * modules/unistr/u32-strncpy: Likewise.
11370         * modules/unistr/u32-strnlen: Likewise.
11371         * modules/unistr/u32-strpbrk: Likewise.
11372         * modules/unistr/u32-strrchr: Likewise.
11373         * modules/unistr/u32-strspn: Likewise.
11374         * modules/unistr/u32-strstr: Likewise.
11375         * modules/unistr/u32-strtok: Likewise.
11376         * modules/unistr/u32-to-u16: Likewise.
11377         * modules/unistr/u32-to-u8: Likewise.
11378         * modules/unistr/u32-uctomb: Likewise.
11379         * modules/uniwbrk/u8-wordbreaks: Likewise.
11380         * modules/uniwbrk/u16-wordbreaks: Likewise.
11381         * modules/uniwbrk/u32-wordbreaks: Likewise.
11382         * modules/uniwbrk/ulc-wordbreaks: Likewise.
11383         * modules/uniwbrk/wordbreak-property: Likewise.
11384         * modules/uniwidth/u8-strwidth: Likewise.
11385         * modules/uniwidth/u8-width: Likewise.
11386         * modules/uniwidth/u16-strwidth: Likewise.
11387         * modules/uniwidth/u16-width: Likewise.
11388         * modules/uniwidth/u32-strwidth: Likewise.
11389         * modules/uniwidth/u32-width: Likewise.
11390         * modules/uniwidth/width: Likewise.
11391         * modules/unicase/cased-tests (Makefile.am): Link all test programs
11392         with $(LIBUNISTRING).
11393         * modules/unicase/ignorable-tests: Likewise.
11394         * modules/unicase/locale-language-tests: Likewise.
11395         * modules/unicase/tolower-tests: Likewise.
11396         * modules/unicase/totitle-tests: Likewise.
11397         * modules/unicase/toupper-tests: Likewise.
11398         * modules/unicase/u8-casecmp-tests: Likewise.
11399         * modules/unicase/u8-casecoll-tests: Likewise.
11400         * modules/unicase/u8-casefold-tests: Likewise.
11401         * modules/unicase/u8-is-cased-tests: Likewise.
11402         * modules/unicase/u8-is-casefolded-tests: Likewise.
11403         * modules/unicase/u8-is-lowercase-tests: Likewise.
11404         * modules/unicase/u8-is-titlecase-tests: Likewise.
11405         * modules/unicase/u8-is-uppercase-tests: Likewise.
11406         * modules/unicase/u8-tolower-tests: Likewise.
11407         * modules/unicase/u8-totitle-tests: Likewise.
11408         * modules/unicase/u8-toupper-tests: Likewise.
11409         * modules/unicase/u16-casecmp-tests: Likewise.
11410         * modules/unicase/u16-casecoll-tests: Likewise.
11411         * modules/unicase/u16-casefold-tests: Likewise.
11412         * modules/unicase/u16-is-cased-tests: Likewise.
11413         * modules/unicase/u16-is-casefolded-tests: Likewise.
11414         * modules/unicase/u16-is-lowercase-tests: Likewise.
11415         * modules/unicase/u16-is-titlecase-tests: Likewise.
11416         * modules/unicase/u16-is-uppercase-tests: Likewise.
11417         * modules/unicase/u16-tolower-tests: Likewise.
11418         * modules/unicase/u16-totitle-tests: Likewise.
11419         * modules/unicase/u16-toupper-tests: Likewise.
11420         * modules/unicase/u32-casecmp-tests: Likewise.
11421         * modules/unicase/u32-casecoll-tests: Likewise.
11422         * modules/unicase/u32-casefold-tests: Likewise.
11423         * modules/unicase/u32-is-cased-tests: Likewise.
11424         * modules/unicase/u32-is-casefolded-tests: Likewise.
11425         * modules/unicase/u32-is-lowercase-tests: Likewise.
11426         * modules/unicase/u32-is-titlecase-tests: Likewise.
11427         * modules/unicase/u32-is-uppercase-tests: Likewise.
11428         * modules/unicase/u32-tolower-tests: Likewise.
11429         * modules/unicase/u32-totitle-tests: Likewise.
11430         * modules/unicase/u32-toupper-tests: Likewise.
11431         * modules/unicase/ulc-casecmp-tests: Likewise.
11432         * modules/unicase/ulc-casecoll-tests: Likewise.
11433         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
11434         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
11435         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
11436         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
11437         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
11438         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
11439         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
11440         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
11441         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
11442         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
11443         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
11444         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
11445         * modules/unictype/bidicategory-byname-tests: Likewise.
11446         * modules/unictype/bidicategory-name-tests: Likewise.
11447         * modules/unictype/bidicategory-of-tests: Likewise.
11448         * modules/unictype/bidicategory-test-tests: Likewise.
11449         * modules/unictype/block-list-tests: Likewise.
11450         * modules/unictype/block-of-tests: Likewise.
11451         * modules/unictype/block-test-tests: Likewise.
11452         * modules/unictype/category-C-tests: Likewise.
11453         * modules/unictype/category-Cc-tests: Likewise.
11454         * modules/unictype/category-Cf-tests: Likewise.
11455         * modules/unictype/category-Cn-tests: Likewise.
11456         * modules/unictype/category-Co-tests: Likewise.
11457         * modules/unictype/category-Cs-tests: Likewise.
11458         * modules/unictype/category-L-tests: Likewise.
11459         * modules/unictype/category-Ll-tests: Likewise.
11460         * modules/unictype/category-Lm-tests: Likewise.
11461         * modules/unictype/category-Lo-tests: Likewise.
11462         * modules/unictype/category-Lt-tests: Likewise.
11463         * modules/unictype/category-Lu-tests: Likewise.
11464         * modules/unictype/category-M-tests: Likewise.
11465         * modules/unictype/category-Mc-tests: Likewise.
11466         * modules/unictype/category-Me-tests: Likewise.
11467         * modules/unictype/category-Mn-tests: Likewise.
11468         * modules/unictype/category-N-tests: Likewise.
11469         * modules/unictype/category-Nd-tests: Likewise.
11470         * modules/unictype/category-Nl-tests: Likewise.
11471         * modules/unictype/category-No-tests: Likewise.
11472         * modules/unictype/category-P-tests: Likewise.
11473         * modules/unictype/category-Pc-tests: Likewise.
11474         * modules/unictype/category-Pd-tests: Likewise.
11475         * modules/unictype/category-Pe-tests: Likewise.
11476         * modules/unictype/category-Pf-tests: Likewise.
11477         * modules/unictype/category-Pi-tests: Likewise.
11478         * modules/unictype/category-Po-tests: Likewise.
11479         * modules/unictype/category-Ps-tests: Likewise.
11480         * modules/unictype/category-S-tests: Likewise.
11481         * modules/unictype/category-Sc-tests: Likewise.
11482         * modules/unictype/category-Sk-tests: Likewise.
11483         * modules/unictype/category-Sm-tests: Likewise.
11484         * modules/unictype/category-So-tests: Likewise.
11485         * modules/unictype/category-Z-tests: Likewise.
11486         * modules/unictype/category-Zl-tests: Likewise.
11487         * modules/unictype/category-Zp-tests: Likewise.
11488         * modules/unictype/category-Zs-tests: Likewise.
11489         * modules/unictype/category-and-not-tests: Likewise.
11490         * modules/unictype/category-and-tests: Likewise.
11491         * modules/unictype/category-byname-tests: Likewise.
11492         * modules/unictype/category-name-tests: Likewise.
11493         * modules/unictype/category-none-tests: Likewise.
11494         * modules/unictype/category-of-tests: Likewise.
11495         * modules/unictype/category-or-tests: Likewise.
11496         * modules/unictype/category-test-withtable-tests: Likewise.
11497         * modules/unictype/combining-class-tests: Likewise.
11498         * modules/unictype/ctype-alnum-tests: Likewise.
11499         * modules/unictype/ctype-alpha-tests: Likewise.
11500         * modules/unictype/ctype-blank-tests: Likewise.
11501         * modules/unictype/ctype-cntrl-tests: Likewise.
11502         * modules/unictype/ctype-digit-tests: Likewise.
11503         * modules/unictype/ctype-graph-tests: Likewise.
11504         * modules/unictype/ctype-lower-tests: Likewise.
11505         * modules/unictype/ctype-print-tests: Likewise.
11506         * modules/unictype/ctype-punct-tests: Likewise.
11507         * modules/unictype/ctype-space-tests: Likewise.
11508         * modules/unictype/ctype-upper-tests: Likewise.
11509         * modules/unictype/ctype-xdigit-tests: Likewise.
11510         * modules/unictype/decimal-digit-tests: Likewise.
11511         * modules/unictype/digit-tests: Likewise.
11512         * modules/unictype/mirror-tests: Likewise.
11513         * modules/unictype/numeric-tests: Likewise.
11514         * modules/unictype/property-alphabetic-tests: Likewise.
11515         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
11516         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
11517         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
11518         * modules/unictype/property-bidi-block-separator-tests: Likewise.
11519         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
11520         * modules/unictype/property-bidi-common-separator-tests: Likewise.
11521         * modules/unictype/property-bidi-control-tests: Likewise.
11522         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
11523         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
11524         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
11525         * modules/unictype/property-bidi-european-digit-tests: Likewise.
11526         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
11527         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
11528         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
11529         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
11530         * modules/unictype/property-bidi-pdf-tests: Likewise.
11531         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
11532         * modules/unictype/property-bidi-whitespace-tests: Likewise.
11533         * modules/unictype/property-byname-tests: Likewise.
11534         * modules/unictype/property-combining-tests: Likewise.
11535         * modules/unictype/property-composite-tests: Likewise.
11536         * modules/unictype/property-currency-symbol-tests: Likewise.
11537         * modules/unictype/property-dash-tests: Likewise.
11538         * modules/unictype/property-decimal-digit-tests: Likewise.
11539         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
11540         * modules/unictype/property-deprecated-tests: Likewise.
11541         * modules/unictype/property-diacritic-tests: Likewise.
11542         * modules/unictype/property-extender-tests: Likewise.
11543         * modules/unictype/property-format-control-tests: Likewise.
11544         * modules/unictype/property-grapheme-base-tests: Likewise.
11545         * modules/unictype/property-grapheme-extend-tests: Likewise.
11546         * modules/unictype/property-grapheme-link-tests: Likewise.
11547         * modules/unictype/property-hex-digit-tests: Likewise.
11548         * modules/unictype/property-hyphen-tests: Likewise.
11549         * modules/unictype/property-id-continue-tests: Likewise.
11550         * modules/unictype/property-id-start-tests: Likewise.
11551         * modules/unictype/property-ideographic-tests: Likewise.
11552         * modules/unictype/property-ids-binary-operator-tests: Likewise.
11553         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
11554         * modules/unictype/property-ignorable-control-tests: Likewise.
11555         * modules/unictype/property-iso-control-tests: Likewise.
11556         * modules/unictype/property-join-control-tests: Likewise.
11557         * modules/unictype/property-left-of-pair-tests: Likewise.
11558         * modules/unictype/property-line-separator-tests: Likewise.
11559         * modules/unictype/property-logical-order-exception-tests: Likewise.
11560         * modules/unictype/property-lowercase-tests: Likewise.
11561         * modules/unictype/property-math-tests: Likewise.
11562         * modules/unictype/property-non-break-tests: Likewise.
11563         * modules/unictype/property-not-a-character-tests: Likewise.
11564         * modules/unictype/property-numeric-tests: Likewise.
11565         * modules/unictype/property-other-alphabetic-tests: Likewise.
11566         * modules/unictype/property-other-default-ignorable-code-point-tests:
11567         Likewise.
11568         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
11569         * modules/unictype/property-other-id-continue-tests: Likewise.
11570         * modules/unictype/property-other-id-start-tests: Likewise.
11571         * modules/unictype/property-other-lowercase-tests: Likewise.
11572         * modules/unictype/property-other-math-tests: Likewise.
11573         * modules/unictype/property-other-uppercase-tests: Likewise.
11574         * modules/unictype/property-paired-punctuation-tests: Likewise.
11575         * modules/unictype/property-paragraph-separator-tests: Likewise.
11576         * modules/unictype/property-pattern-syntax-tests: Likewise.
11577         * modules/unictype/property-pattern-white-space-tests: Likewise.
11578         * modules/unictype/property-private-use-tests: Likewise.
11579         * modules/unictype/property-punctuation-tests: Likewise.
11580         * modules/unictype/property-quotation-mark-tests: Likewise.
11581         * modules/unictype/property-radical-tests: Likewise.
11582         * modules/unictype/property-sentence-terminal-tests: Likewise.
11583         * modules/unictype/property-soft-dotted-tests: Likewise.
11584         * modules/unictype/property-space-tests: Likewise.
11585         * modules/unictype/property-terminal-punctuation-tests: Likewise.
11586         * modules/unictype/property-test-tests: Likewise.
11587         * modules/unictype/property-titlecase-tests: Likewise.
11588         * modules/unictype/property-unassigned-code-value-tests: Likewise.
11589         * modules/unictype/property-unified-ideograph-tests: Likewise.
11590         * modules/unictype/property-uppercase-tests: Likewise.
11591         * modules/unictype/property-variation-selector-tests: Likewise.
11592         * modules/unictype/property-white-space-tests: Likewise.
11593         * modules/unictype/property-xid-continue-tests: Likewise.
11594         * modules/unictype/property-xid-start-tests: Likewise.
11595         * modules/unictype/property-zero-width-tests: Likewise.
11596         * modules/unictype/scripts-tests: Likewise.
11597         * modules/unictype/syntax-c-ident-tests: Likewise.
11598         * modules/unictype/syntax-c-whitespace-tests: Likewise.
11599         * modules/unictype/syntax-java-ident-tests: Likewise.
11600         * modules/unictype/syntax-java-whitespace-tests: Likewise.
11601         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
11602         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
11603         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
11604         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
11605         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
11606         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
11607         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
11608         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
11609         * modules/uniname/uniname-tests: Likewise.
11610         * modules/uninorm/canonical-decomposition-tests: Likewise.
11611         * modules/uninorm/compat-decomposition-tests: Likewise.
11612         * modules/uninorm/composition-tests: Likewise.
11613         * modules/uninorm/decomposing-form-tests: Likewise.
11614         * modules/uninorm/decomposition-tests: Likewise.
11615         * modules/uninorm/filter-tests: Likewise.
11616         * modules/uninorm/nfc-tests: Likewise.
11617         * modules/uninorm/nfd-tests: Likewise.
11618         * modules/uninorm/nfkc-tests: Likewise.
11619         * modules/uninorm/nfkd-tests: Likewise.
11620         * modules/uninorm/u8-normcmp-tests: Likewise.
11621         * modules/uninorm/u8-normcoll-tests: Likewise.
11622         * modules/uninorm/u16-normcmp-tests: Likewise.
11623         * modules/uninorm/u16-normcoll-tests: Likewise.
11624         * modules/uninorm/u32-normcmp-tests: Likewise.
11625         * modules/uninorm/u32-normcoll-tests: Likewise.
11626         * modules/unistdio/u8-asnprintf-tests: Likewise.
11627         * modules/unistdio/u8-vasnprintf-tests: Likewise.
11628         * modules/unistdio/u8-vasprintf-tests: Likewise.
11629         * modules/unistdio/u8-vsnprintf-tests: Likewise.
11630         * modules/unistdio/u8-vsprintf-tests: Likewise.
11631         * modules/unistdio/u16-asnprintf-tests: Likewise.
11632         * modules/unistdio/u16-vasnprintf-tests: Likewise.
11633         * modules/unistdio/u16-vasprintf-tests: Likewise.
11634         * modules/unistdio/u16-vsnprintf-tests: Likewise.
11635         * modules/unistdio/u16-vsprintf-tests: Likewise.
11636         * modules/unistdio/u32-asnprintf-tests: Likewise.
11637         * modules/unistdio/u32-vasnprintf-tests: Likewise.
11638         * modules/unistdio/u32-vasprintf-tests: Likewise.
11639         * modules/unistdio/u32-vsnprintf-tests: Likewise.
11640         * modules/unistdio/u32-vsprintf-tests: Likewise.
11641         * modules/unistdio/ulc-asnprintf-tests: Likewise.
11642         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
11643         * modules/unistdio/ulc-vasprintf-tests: Likewise.
11644         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
11645         * modules/unistdio/ulc-vsprintf-tests: Likewise.
11646         * modules/unistr/u8-check-tests: Likewise.
11647         * modules/unistr/u8-chr-tests: Likewise.
11648         * modules/unistr/u8-cmp-tests: Likewise.
11649         * modules/unistr/u8-cmp2-tests: Likewise.
11650         * modules/unistr/u8-cpy-alloc-tests: Likewise.
11651         * modules/unistr/u8-cpy-tests: Likewise.
11652         * modules/unistr/u8-mblen-tests: Likewise.
11653         * modules/unistr/u8-mbsnlen-tests: Likewise.
11654         * modules/unistr/u8-mbtouc-tests: Likewise.
11655         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
11656         * modules/unistr/u8-mbtoucr-tests: Likewise.
11657         * modules/unistr/u8-move-tests: Likewise.
11658         * modules/unistr/u8-next-tests: Likewise.
11659         * modules/unistr/u8-prev-tests: Likewise.
11660         * modules/unistr/u8-set-tests: Likewise.
11661         * modules/unistr/u8-stpcpy-tests: Likewise.
11662         * modules/unistr/u8-stpncpy-tests: Likewise.
11663         * modules/unistr/u8-strcat-tests: Likewise.
11664         * modules/unistr/u8-strcmp-tests: Likewise.
11665         * modules/unistr/u8-strcoll-tests: Likewise.
11666         * modules/unistr/u8-strcpy-tests: Likewise.
11667         * modules/unistr/u8-strdup-tests: Likewise.
11668         * modules/unistr/u8-strlen-tests: Likewise.
11669         * modules/unistr/u8-strmblen-tests: Likewise.
11670         * modules/unistr/u8-strmbtouc-tests: Likewise.
11671         * modules/unistr/u8-strncat-tests: Likewise.
11672         * modules/unistr/u8-strncmp-tests: Likewise.
11673         * modules/unistr/u8-strncpy-tests: Likewise.
11674         * modules/unistr/u8-strnlen-tests: Likewise.
11675         * modules/unistr/u8-to-u16-tests: Likewise.
11676         * modules/unistr/u8-to-u32-tests: Likewise.
11677         * modules/unistr/u8-uctomb-tests: Likewise.
11678         * modules/unistr/u16-check-tests: Likewise.
11679         * modules/unistr/u16-chr-tests: Likewise.
11680         * modules/unistr/u16-cmp-tests: Likewise.
11681         * modules/unistr/u16-cmp2-tests: Likewise.
11682         * modules/unistr/u16-cpy-alloc-tests: Likewise.
11683         * modules/unistr/u16-cpy-tests: Likewise.
11684         * modules/unistr/u16-mblen-tests: Likewise.
11685         * modules/unistr/u16-mbsnlen-tests: Likewise.
11686         * modules/unistr/u16-mbtouc-tests: Likewise.
11687         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11688         * modules/unistr/u16-mbtoucr-tests: Likewise.
11689         * modules/unistr/u16-move-tests: Likewise.
11690         * modules/unistr/u16-next-tests: Likewise.
11691         * modules/unistr/u16-prev-tests: Likewise.
11692         * modules/unistr/u16-set-tests: Likewise.
11693         * modules/unistr/u16-stpcpy-tests: Likewise.
11694         * modules/unistr/u16-stpncpy-tests: Likewise.
11695         * modules/unistr/u16-strcat-tests: Likewise.
11696         * modules/unistr/u16-strcmp-tests: Likewise.
11697         * modules/unistr/u16-strcoll-tests: Likewise.
11698         * modules/unistr/u16-strcpy-tests: Likewise.
11699         * modules/unistr/u16-strdup-tests: Likewise.
11700         * modules/unistr/u16-strlen-tests: Likewise.
11701         * modules/unistr/u16-strmblen-tests: Likewise.
11702         * modules/unistr/u16-strmbtouc-tests: Likewise.
11703         * modules/unistr/u16-strncat-tests: Likewise.
11704         * modules/unistr/u16-strncmp-tests: Likewise.
11705         * modules/unistr/u16-strncpy-tests: Likewise.
11706         * modules/unistr/u16-strnlen-tests: Likewise.
11707         * modules/unistr/u16-to-u32-tests: Likewise.
11708         * modules/unistr/u16-to-u8-tests: Likewise.
11709         * modules/unistr/u16-uctomb-tests: Likewise.
11710         * modules/unistr/u32-check-tests: Likewise.
11711         * modules/unistr/u32-chr-tests: Likewise.
11712         * modules/unistr/u32-cmp-tests: Likewise.
11713         * modules/unistr/u32-cmp2-tests: Likewise.
11714         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11715         * modules/unistr/u32-cpy-tests: Likewise.
11716         * modules/unistr/u32-mblen-tests: Likewise.
11717         * modules/unistr/u32-mbsnlen-tests: Likewise.
11718         * modules/unistr/u32-mbtouc-tests: Likewise.
11719         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11720         * modules/unistr/u32-mbtoucr-tests: Likewise.
11721         * modules/unistr/u32-move-tests: Likewise.
11722         * modules/unistr/u32-next-tests: Likewise.
11723         * modules/unistr/u32-prev-tests: Likewise.
11724         * modules/unistr/u32-set-tests: Likewise.
11725         * modules/unistr/u32-stpcpy-tests: Likewise.
11726         * modules/unistr/u32-stpncpy-tests: Likewise.
11727         * modules/unistr/u32-strcat-tests: Likewise.
11728         * modules/unistr/u32-strcmp-tests: Likewise.
11729         * modules/unistr/u32-strcoll-tests: Likewise.
11730         * modules/unistr/u32-strcpy-tests: Likewise.
11731         * modules/unistr/u32-strdup-tests: Likewise.
11732         * modules/unistr/u32-strlen-tests: Likewise.
11733         * modules/unistr/u32-strmblen-tests: Likewise.
11734         * modules/unistr/u32-strmbtouc-tests: Likewise.
11735         * modules/unistr/u32-strncat-tests: Likewise.
11736         * modules/unistr/u32-strncmp-tests: Likewise.
11737         * modules/unistr/u32-strncpy-tests: Likewise.
11738         * modules/unistr/u32-strnlen-tests: Likewise.
11739         * modules/unistr/u32-to-u16-tests: Likewise.
11740         * modules/unistr/u32-to-u8-tests: Likewise.
11741         * modules/unistr/u32-uctomb-tests: Likewise.
11742         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11743         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11744         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11745         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11746         * modules/uniwidth/u8-strwidth-tests: Likewise.
11747         * modules/uniwidth/u8-width-tests: Likewise.
11748         * modules/uniwidth/u16-strwidth-tests: Likewise.
11749         * modules/uniwidth/u16-width-tests: Likewise.
11750         * modules/uniwidth/u32-strwidth-tests: Likewise.
11751         * modules/uniwidth/u32-width-tests: Likewise.
11752         * modules/uniwidth/width-tests: Likewise.
11753
11754 2010-05-18  Richard Jones  <rjones@redhat.com>
11755
11756         doc: users.txt: list hivex
11757         * users.txt: Add hivex.
11758
11759 2010-05-18  Richard Jones  <rjones@redhat.com>
11760
11761         doc: users.txt: list febootstrap
11762         * users.txt: Add febootstrap.
11763
11764 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11765
11766         bootstrap: fix an error when gnulib is not used as a git submodule
11767         * build-aux/bootstrap (gnulib_path): If its length is zero then
11768         assign "gnulib" to it.
11769         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11770
11771 2010-05-16  Bruno Haible  <bruno@clisp.org>
11772
11773         Avoid autoconf warnings about AM_ICONV.
11774         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11775         2.64.
11776
11777 2010-05-16  Bruno Haible  <bruno@clisp.org>
11778
11779         absolute-header: Make the macro usable in more situations.
11780         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11781         from gl_ABSOLUTE_HEADER.
11782         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11783
11784 2010-05-16  James Youngman  <jay@gnu.org>
11785
11786         doc: update users.txt
11787         * users.txt: Add CSSC.
11788
11789 2010-05-16  Jim Meyering  <meyering@redhat.com>
11790
11791         init.sh: fix an error in the previous change; add more comments
11792         * tests/init.sh: Compare exit code in loop against 9, not 2.
11793         Patch by Bruno Haible.
11794         Make the two tests more similar by adding an empty "then" clause.
11795         Add comments.
11796
11797         init.sh: avoid unnecessary shell re-exec
11798         * tests/init.sh: Improve the re-exec-required check to first test the
11799         current shell.  If it passes the test, do not search for a shell that
11800         does pass, and do not re-exec.  This test is particularly contorted to
11801         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11802         of $(...) evokes a syntax error and causes immediate shell exit with
11803         status 2.  Bruno Haible reported that the re-exec made it impossible
11804         to single-step through any init.sh-using script.
11805
11806 2010-05-16  Bruno Haible  <bruno@clisp.org>
11807
11808         Fix collision between gnulib's and libintl's printf replacements.
11809         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11810         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11811         (printf): When using GNU C, map the __printf__ function to rpl_printf
11812         via __asm__. When not using GNU C, define rpl_printf instead of
11813         __printf__.
11814         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11815         commit.
11816         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11817         commit.
11818         * m4/asm-underscore.m4: New file.
11819         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11820         * modules/stdio (Files): Add m4/asm-underscore.m4.
11821         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11822         Reported by Ben Pfaff.
11823
11824 2010-05-16  Bruno Haible  <bruno@clisp.org>
11825
11826         verify: Avoid skipping the test on openSUSE 11.0.
11827         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11828
11829 2010-05-13  Bruno Haible  <bruno@clisp.org>
11830
11831         Avoid useless warnings from G++.
11832         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11833         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11834         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11835
11836 2010-05-11  Jim Meyering  <meyering@redhat.com>
11837
11838         maint.mk: tweak preceding change
11839         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11840         regexps tighter by anchoring at EOL, and make the new group "shy"
11841         for slightly decreased overhead.
11842
11843 2010-05-11  Eric Blake  <eblake@redhat.com>
11844
11845         maint.mk: gnulib doesn't guarantee NSIG
11846         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11847
11848 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11849
11850         test-pwrite.c: Remove unused variable declaration.
11851         * tests/test-pwrite.c (main): Remove read_buf declaration.
11852
11853         Remove useless test-pwrite.sh file.
11854         * tests/test-pwrite.sh: Delete file.
11855         * modules/pwrite-tests: Remove references.
11856         Reported by Bruno Haible.
11857
11858 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11859
11860         init.sh: fix a typo
11861         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11862
11863 2010-05-10  Jim Meyering  <meyering@redhat.com>
11864
11865         maint.mk: avoid using a temporary file in the always-defined-macros check
11866         * top/maint.mk (.re-defmac): Remove rule.
11867         (gl_trap_): Remove definition.
11868         (sc_prohibit_always-defined_macros): Rewrite not to create and
11869         depend on a temporary file.  Instead, depend on GNU grep's ability
11870         to read a list of regular expressions from stdin when given "-f -".
11871
11872 2010-05-09  Bruno Haible  <bruno@clisp.org>
11873
11874         Update to GNU gettext 0.18, part 1.
11875         * m4/gettext.m4: Update to GNU gettext 0.18.
11876         * m4/intl.m4: Likewise.
11877         * m4/po.m4: Likewise.
11878         * modules/gettext (Files): Add m4/fcntl-o.m4.
11879         (configure.ac): Require gettext infrastructure from version 0.18.
11880
11881 2010-05-09  Jim Meyering  <meyering@redhat.com>
11882
11883         init.sh: enable MALLOC_PERTURB_
11884         * tests/init.sh: Enable glibc's malloc-perturbing option.
11885
11886         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11887         With my recent change in init.sh from the two-line form:
11888             -#   : ${srcdir=.}
11889             -#   . "$srcdir/init.sh"; path_prepend_ .
11890             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11891         I noticed that using the one-line form would cause this test
11892         to fail with a false-positive, or to stop working altogether,
11893         depending on whether help-version changed or all the tests did.
11894         * top/maint.mk (_hv_regex): Remove this definition.
11895         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11896         (_hv_regex_strong): Use a stronger regex to check for conformance.
11897         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11898         Give a separate diagnostic for lack of conforming use.
11899
11900         maint.mk: prohibit definition of symbols defined by gnulib
11901         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11902         definition of symbols defined by gnulib.
11903
11904 2010-05-09  Bruno Haible  <bruno@clisp.org>
11905
11906         acl: Avoid test failure on Cygwin-hosted mingw.
11907         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11908
11909 2010-05-09  Bruno Haible  <bruno@clisp.org>
11910
11911         error: Use system's fcntl function.
11912         * lib/error.c (fcntl): Undefine.
11913
11914 2010-05-09  Jim Meyering  <meyering@redhat.com>
11915
11916         verify: adjust formatting to be more consistent
11917         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11918         argument-list '('s, and after one comma.
11919
11920 2010-05-09  Bruno Haible  <bruno@clisp.org>
11921
11922         error: More reliable output on mingw.
11923         * lib/error.c: Include <windows.h>.
11924         (is_open): New function.
11925         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
11926         defined.
11927
11928 2010-05-09  Bruno Haible  <bruno@clisp.org>
11929
11930         vasnprintf: Fix syntax errors in libintl build on mingw.
11931         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
11932         pad_ourselves and prec_ourselves after use.
11933
11934 2010-05-08  Bruno Haible  <bruno@clisp.org>
11935
11936         * lib/config.charset: Update comments for Cygwin 1.7.
11937         * lib/localcharset.c: Likewise.
11938
11939 2010-05-07  Jim Meyering  <meyering@redhat.com>
11940
11941         init.sh: improve comments
11942         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
11943         . "${srcdir=.}/init.sh"; path_prepend_ .
11944         Add a note about path_prepend_ and the alternative of using
11945         TESTS_ENVIRONMENT.
11946
11947 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11948
11949         exclude: Unescape hashed patterns in wildcard mode.
11950         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
11951         to the hash list.
11952         * tests/test-exclude8.sh: New test case.
11953         * modules/exclude-tests: Add new test.
11954
11955 2010-05-05  Eric Blake  <eblake@redhat.com>
11956
11957         verify: automate tests
11958         * modules/verify-tests: New module.
11959         * tests/test-verify.sh: New file.
11960         * tests/test-verify.c: Guard each negative test with a unique id.
11961         Also avoid warning about unused left hand of comma expressions.
11962
11963 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11964
11965         Further improvements to verify.h, suggested by Eric Blake.
11966         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
11967         the GL_* versions, to avoid collision with OpenGL.
11968         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
11969         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
11970         than testing merely whether it's defined.
11971
11972         Modify verify.h to pacify gcc -Wredundant_decls.
11973         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
11974         These use the prefix "GL_" since they're likely to be useful elsewhere.
11975         We may need to break them out into a different .h file.
11976         (__COUNTER__): Define to 0 if the compiler doesn't support it.
11977         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
11978         of verify_function__.
11979
11980 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11981
11982         Tests for module pwrite.
11983         * modules/pwrite-tests: New file.
11984         * tests/test-pwrite.sh: New file.
11985         * tests/test-pwrite.c: New file.
11986
11987         New module pwrite.
11988         * lib/unistd.in.h (pwrite): New declaration.
11989         * lib/pwrite.c: New file, from glibc with modifications.
11990         * m4/pwrite.m4: New file.
11991         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
11992         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
11993         REPLACE_PWRITE.
11994         * modules/pwrite: New file.
11995         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
11996         REPLACE_PWRITE.
11997         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
11998         * doc/posix-functions/pwrite.texi: Mention the new module.
11999
12000 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12001
12002         pread: Update documentation.
12003         * doc/posix-functions/pread.texi: Mention the 'pread' module.
12004
12005 2010-05-04  Eric Blake  <eblake@redhat.com>
12006
12007         docs: update cygwin progress
12008         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
12009         this bug.
12010         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
12011         Added in cygwin 1.7.2.
12012         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
12013         Likewise.
12014         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
12015         Likewise.
12016         * doc/glibc-functions/dup3.texi (dup3): Likewise.
12017         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12018         * doc/glibc-functions/accept4.texi (accept4): Likewise.
12019         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
12020         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
12021         Mention nproc module.
12022         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
12023         bug in cygwin 1.7.5 addition.
12024         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
12025         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
12026         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
12027         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
12028         1.7.5.
12029         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
12030         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
12031         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
12032         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
12033         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
12034         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
12035         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
12036         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
12037         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
12038         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
12039         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
12040         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
12041         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
12042         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
12043         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
12044         Likewise.
12045         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
12046         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
12047         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
12048         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
12049         Likewise.
12050         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
12051         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
12052         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
12053         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
12054         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
12055         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
12056         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
12057         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
12058         Likewise.
12059         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
12060         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
12061         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
12062         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
12063         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
12064         Likewise.
12065         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
12066         Likewise.
12067         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
12068         Likewise.
12069         * doc/glibc-functions/xdrrec_endofrecord.texi
12070         (xdrrec_endofrecord): Likewise.
12071         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
12072         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
12073         Likewise.
12074         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
12075         Likewise.
12076
12077 2010-05-04  Jim Meyering  <meyering@redhat.com>
12078
12079         gendocs.sh: make its "-s FILE" option more useful
12080         * build-aux/gendocs.sh: When honoring the -s FILE option, update
12081         $PACKAGE to reflect the probably-different basename of "FILE".
12082
12083 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12084
12085         bootstrap: don't ignore download_po_files failure
12086         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
12087         failure.
12088
12089 2010-05-03  Jim Meyering  <meyering@redhat.com>
12090
12091         maint.mk: allow to pass options to gendocs.sh
12092         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
12093         (gendocs_options_): New overridable variable.
12094
12095         gnu-web-doc-update: don't ignore configure or build failure
12096         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
12097
12098         announce-gen: backslash-escape '@'s in --help output
12099         * build-aux/announce-gen: Fix syntax errors.
12100
12101         maint.mk, announce-gen: allow project-specific announcement mail headers
12102         * top/maint.mk (translation_project_): Define default.
12103         (announcement_Cc_, announcement_mail_headers_): Likewise.
12104         (announcement): Invoke announce-gen with new --mail-headers option.
12105         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
12106
12107         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
12108         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
12109         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
12110         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
12111         line in the "err2" output file when running "make check" in verbose
12112         mode (i.e., with set -x enabled).
12113
12114 2010-05-03  Bruno Haible  <bruno@clisp.org>
12115
12116         wctob: Fix for weird platforms.
12117         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
12118         argument value.
12119
12120 2010-05-03  Jim Meyering  <meyering@redhat.com>
12121
12122         maint.mk: prohibit unwarranted use of <strings.h>
12123         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
12124         strings.h in a file that does not also use strcasecmp, strncasecmp,
12125         ffs or ffsll.
12126
12127         maint.mk: remove obsolete comments
12128         * top/maint.mk: Remove stale, commented-out rules.
12129
12130 2010-05-02  Bruno Haible  <bruno@clisp.org>
12131
12132         wcwidth: Declare also when it's aliased.
12133         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
12134         macro.
12135
12136 2010-05-02  Bruno Haible  <bruno@clisp.org>
12137
12138         Fix regression from 2010-04-25.
12139         * gnulib-tool (func_modules_transitive_closure): Check the status of
12140         all modules, not only of the tests that are of the form foo-tests where
12141         foo is a module.
12142
12143 2010-05-02  Bruno Haible  <bruno@clisp.org>
12144
12145         wctob: Work around nasty Cygwin 1.7.2 bug.
12146         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
12147         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
12148
12149 2010-05-01  Bruno Haible  <bruno@clisp.org>
12150
12151         fpurge: Sharper test.
12152         * tests/test-fpurge.c (main): Add one more ftell check.
12153         * modules/fpurge-tests (Depends-on): Add ftell.
12154         Suggested by Eric Blake.
12155
12156 2010-05-01  Bruno Haible  <bruno@clisp.org>
12157
12158         ftello: Another test.
12159         * tests/test-ftello3.c: New file.
12160         * modules/ftello-tests (Files): Add it.
12161         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12162         MOSTLYCLEANFILES.
12163
12164         ftell: Another test.
12165         * tests/test-ftell3.c: New file.
12166         * modules/ftell-tests (Files): Add it.
12167         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12168         MOSTLYCLEANFILES.
12169
12170 2010-05-01  Bruno Haible  <bruno@clisp.org>
12171
12172         ftell, ftello: Work around Solaris bug.
12173         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
12174         * lib/ftello.c: Include stdio-impl.h.
12175         (ftello): On Solaris, when _IOWRT is set, compute the result without
12176         looking at _IOREAD.
12177         * modules/ftello (Files): Add lib/stdio-impl.h.
12178         * doc/posix-functions/ftell.texi: Mention Solaris bug.
12179         * doc/posix-functions/ftello.texi: Likewise.
12180         Reported by Eric Blake.
12181
12182 2010-05-01  Bruno Haible  <bruno@clisp.org>
12183
12184         freading: Adapt to special meaning of _IOREAD flag on Solaris.
12185         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
12186         the _IOWRT flag is also set.
12187
12188 2010-05-01  Bruno Haible  <bruno@clisp.org>
12189
12190         Fix doc about a HP-UX stdio bug.
12191         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
12192         * doc/posix-functions/ftello.texi: Likewise.
12193
12194 2010-05-01  Bruno Haible  <bruno@clisp.org>
12195
12196         lseek test: Fix failure on Solaris.
12197         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
12198         output.
12199
12200 2010-04-30  Jim Meyering  <meyering@redhat.com>
12201
12202         bootstrap: don't ignore failure to generate po*/Makevars
12203         * build-aux/bootstrap (with_gettext): Don't ignore failure
12204         to create po/Makevars or runtime-po/Makevars.
12205
12206 2010-04-29  Eric Blake  <eblake@redhat.com>
12207
12208         headers: relax license to LGPLv2+
12209         * modules/fcntl-h (License): Relax license.
12210         * modules/getopt-posix (License): Likewise.
12211         * modules/locale (License): Likewise.
12212         * modules/math (License): Likewise.
12213         * modules/pty (License): Likewise.
12214         * modules/sched (License): Likewise.
12215         * modules/search (License): Likewise.
12216         * modules/spawn (License): Likewise.
12217         * modules/stdarg (License): Likewise.
12218         * modules/sysexits (License): Likewise.
12219
12220 2010-04-29  Jim Meyering  <meyering@redhat.com>
12221
12222         inttypes: relax license to LGPLv2+
12223         * modules/inttypes (License): Relax license.
12224
12225 2010-04-29  Simon Josefsson  <simon@josefsson.org>
12226
12227         * top/maint.mk (indent): Run twice to produce idempotent results.
12228
12229 2010-04-28  Bruno Haible  <bruno@clisp.org>
12230
12231         getdate: Generate getdate.c in the source directory.
12232         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
12233         MOSTLYCLEANFILES.
12234         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
12235
12236 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
12237
12238         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
12239         is not declared as a const *; avoid warnings in that case.
12240
12241 2010-04-28  Eric Blake  <eblake@redhat.com>
12242
12243         canonicalize-lgpl: avoid compiler warning
12244         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
12245         declaration' / 'extraneous semicolon' warning with some compilers.
12246         Reported by Andreas Gruenbacher.
12247
12248 2010-04-28  Jim Meyering  <meyering@redhat.com>
12249
12250         init.sh: ensure a more reliable exit status when exiting via trap
12251         * tests/init.sh (setup_): Don't rely on $? in signal handler.
12252         Inspired by patches from Dmitry V. Levin.
12253         Also trap on signal 3 (SIGQUIT).
12254
12255 2010-04-27  Bruno Haible  <bruno@clisp.org>
12256
12257         Update doc about utimes().
12258         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
12259         'utimens' module.
12260         Reported by Andreas Gruenbacher <agruen@suse.de>.
12261
12262 2010-04-27  Eric Blake  <eblake@redhat.com>
12263
12264         full-read, full-write: relax license
12265         * modules/full-read (License): Drop to LGPLv2+.
12266         * modules/full-write (License): Likewise.
12267         * modules/safe-read (License): Likewise.
12268         * modules/safe-write (License): Likewise.
12269
12270         pthread: mention library for linking
12271         * modules/pthread (Link): Mention $(LIB_PTHREAD).
12272
12273 2010-04-27  Jim Meyering  <meyering@redhat.com>
12274
12275         maint.mk: fix a bug introduced in last change
12276         * top/maint.mk (gl_assured_headers_): Now that all names are on
12277         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
12278         is not anchored to end of word, it should be adequate.
12279
12280         maint.mk: avoid side-effect in latest syntax-check
12281         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
12282         to run commands via $(shell...), and hence to incur cost only when
12283         the new rule is actually run.
12284
12285         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
12286         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
12287         and use that to create a regexp used to detect all #if HAVE_..._H uses.
12288         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
12289         (gl_assured_headers_, az_, AZ_): Define.
12290         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
12291
12292 2010-04-26  Jim Meyering  <jim@meyering.net>
12293             Bruno Haible  <bruno@clisp.org>
12294
12295         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
12296         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
12297         Prompted by an exchange with Gilles Espinasse.
12298
12299 2010-04-26  Jim Meyering  <meyering@redhat.com>
12300
12301         git-version-gen: aesthetic tweak
12302         * build-aux/git-version-gen: Use "$nl" rather than a literal,
12303         so that the command remains on a single line.
12304
12305 2010-04-26  Eric Blake  <eblake@redhat.com>
12306
12307         git-version-gen: allow use on EBCDIC hosts
12308         * build-aux/git-version-gen (dirty): Use literal rather than tying
12309         ourselves to ascii.
12310         Reported by Steve Goetze.
12311
12312 2010-04-25  Bruno Haible  <bruno@clisp.org>
12313
12314         netdb: Add support for GNULIB_POSIXCHECK.
12315         * lib/netdb.in.h: Include warn-on-use.h.
12316         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
12317         functions are used when GNULIB_POSIXCHECK is defined and the
12318         getaddrinfo module is not in use.
12319         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
12320         freeaddrinfo, gai_strerror, getnameinfo are declared.
12321         * modules/netdb (Depends-on): Add warn-on-use.
12322         (Makefile.am): Include warn-on-use.h in netdb.h.
12323
12324 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
12325
12326         build: avoid "make check" failure without .git/ directory
12327         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
12328         there is no .git/ directory.
12329
12330 2010-04-25  Bruno Haible  <bruno@clisp.org>
12331
12332         ptsname: Fix misuse of ttyname_r.
12333         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
12334         of errno.
12335
12336 2010-04-25  Bruno Haible  <bruno@clisp.org>
12337
12338         ttyname_r: Make it work on Solaris 10.
12339         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
12340         if the system function has the POSIX declaration. Test whether the
12341         function fails if the buffer is less than 128 bytes large.
12342         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
12343         system's ttyname_r function. Provide a reasonably large buffer.
12344         * modules/ttyname_r (Depends-on): Add extensions.
12345         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
12346
12347 2010-04-25  Bruno Haible  <bruno@clisp.org>
12348
12349         Use the 'extensions' module for some more functions on Solaris.
12350         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
12351         module.
12352         * doc/posix-functions/ctime_r.texi: Likewise.
12353         * doc/posix-functions/getgrgid_r.texi: Likewise.
12354         * doc/posix-functions/getgrnam_r.texi: Likewise.
12355         * doc/posix-functions/getpwnam_r.texi: Likewise.
12356         * doc/posix-functions/getpwuid_r.texi: Likewise.
12357         * doc/posix-functions/readdir_r.texi: Likewise.
12358         * doc/posix-functions/sigwait.texi: Likewise.
12359         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
12360         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
12361
12362 2010-04-25  Bruno Haible  <bruno@clisp.org>
12363
12364         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
12365         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
12366         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
12367         * lib/ttyname_r.c: Include <limits.h>.
12368         (ttyname_r): Define using the system's ttyname_r function, if it exists
12369         and not on Solaris.
12370         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
12371         set.
12372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
12373         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
12374         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
12375         Reported by Simon Josefsson.
12376
12377 2010-04-25  Bruno Haible  <bruno@clisp.org>
12378
12379         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
12380         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
12381         * doc/posix-functions/ctime_r.texi: Likewise.
12382         * doc/posix-functions/getgrgid_r.texi: Likewise.
12383         * doc/posix-functions/getgrnam_r.texi: Likewise.
12384         * doc/posix-functions/getlogin_r.texi: Likewise.
12385         * doc/posix-functions/getpwnam_r.texi: Likewise.
12386         * doc/posix-functions/getpwuid_r.texi: Likewise.
12387         * doc/posix-functions/readdir_r.texi: Likewise.
12388         * doc/posix-functions/sigwait.texi: Likewise.
12389         * doc/posix-functions/ttyname_r.texi: Likewise.
12390         Reported by Simon Josefsson.
12391
12392 2010-04-25  Bruno Haible  <bruno@clisp.org>
12393
12394         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
12395         * gnulib-tool (func_usage): Document that --with-*-tests options apply
12396         also to --create-testdir.
12397         (func_acceptable): Don't consider the status of *-tests modules here.
12398         (func_modules_transitive_closure): Consider it here, before including a
12399         test module.
12400         (func_import, func_create_testdir): Set inc_all_direct_tests,
12401         inc_all_indirect_tests.
12402         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
12403         --create-testdir and --create-megatestdir.
12404
12405 2010-04-25  Bruno Haible  <bruno@clisp.org>
12406
12407         gnulib-tool: Add --without-*-tests options.
12408         * gnulib-tool (func_usage): Document the --without-*-tests options.
12409         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
12410         excl_unportable_tests): New variables.
12411         Fail if they are specified with --import or --update.
12412         (func_acceptable): Respect the excl_*_tests variables.
12413         (func_import): Set the excl_*_tests variables to empty.
12414
12415 2010-04-25  Simon Josefsson  <simon@josefsson.org>
12416             Bruno Haible  <bruno@clisp.org>
12417
12418         Work around a MacOS X 10.4 bug with openpty.
12419         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
12420         * tests/test-openpty.c (main): Close the master side explicitly.
12421
12422 2010-04-25  Bruno Haible  <bruno@clisp.org>
12423
12424         strnlen: Fix a C++ test error on MacOS X and Solaris.
12425         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
12426         the function is not declared.
12427         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
12428         Simon Josefsson.
12429
12430 2010-04-24  Bruno Haible  <bruno@clisp.org>
12431
12432         Avoid a gcc warning.
12433         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
12434         of correct type for %08lx directive.
12435         Reported by Eric Blake.
12436
12437 2010-04-24  Bruno Haible  <bruno@clisp.org>
12438
12439         vasnprintf: Correct errno value in case of out-of-memory.
12440         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
12441         or sprintf. Use the errno value from SNPRINTF or sprintf.
12442         Reported by Ian Beckwith <ianb@erislabs.net>.
12443
12444 2010-04-24  Bruno Haible  <bruno@clisp.org>
12445
12446         ansi-c++-opt: Find correct compiler when cross-compiling.
12447         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
12448         AC_CHECK_PROGS.
12449         Reported by Simon Josefsson.
12450
12451 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
12452
12453         vc-list-files: Add support for subversion
12454         * build-aux/vc-list-files: Use "svn list" to generate the list of
12455         files controlled by subversion.
12456
12457 2010-04-23  Jim Meyering  <meyering@redhat.com>
12458
12459         vc-list-files tests: convert to use init.sh
12460         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
12461         path_prepend_.
12462         Use Exit, not exit.
12463         Use skip_ rather than open coding it.
12464         Remove trap set-up and compare definitions.
12465         * tests/test-vc-list-files-git.sh: Likewise.
12466         * modules/vc-list-files-tests (Files): Add tests/init.sh.
12467
12468 2010-04-22  Simon Josefsson  <simon@josefsson.org>
12469
12470         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
12471         backup files.
12472
12473 2010-04-21  Simon Josefsson  <simon@josefsson.org>
12474
12475         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
12476
12477 2010-04-20  Eric Blake  <eblake@redhat.com>
12478
12479         tests: be robust to ignored SIGPIPE
12480         * tests/test-select-in.sh: Consume all output.
12481         * tests/test-lseek.sh: Check correct exit status, while avoiding
12482         EPIPE.
12483
12484 2010-04-20  Simon Josefsson  <simon@josefsson.org>
12485             Bruno Haible  <bruno@clisp.org>
12486
12487         visibility: Don't use -fvisibility if it leads to a warning.
12488         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
12489         yes, don't pretend that visibility works if it leads to a warning.
12490         Reported by Mike Gran <spk121@yahoo.com>.
12491
12492 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
12493
12494         * build-aux/bootstrap: Use "git -h" for testing for supported options
12495         instead of "git --help".  The short-form option only shows a summary,
12496         and doesn't layout the full man page.  Grep for the full option name
12497         in the summary, too.
12498
12499 2010-04-19  Bruno Haible  <bruno@clisp.org>
12500
12501         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
12502         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
12503         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
12504         mention of RELOCATABLE_STRIP.
12505         Reported by Sylvain Beucler <beuc@beuc.net>.
12506
12507 2010-04-19  Bruno Haible  <bruno@clisp.org>
12508
12509         * lib/diffseq.h: Fix typo in comment.
12510         Reported by Eric Blake.
12511
12512 2010-04-19  Bruno Haible  <bruno@clisp.org>
12513
12514         ioctl: Move autoconf macro to a .m4 file.
12515         * m4/ioctl.m4: New file, extracted from modules/ioctl.
12516         * modules/ioctl (Files): Add it.
12517         (configure.ac): Simply invoke gl_FUNC_IOCTL.
12518         Reported by Ian Beckwith <ianb@erislabs.net>.
12519
12520 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
12521             Bruno Haible  <bruno@clisp.org>
12522
12523         diffseq: Accommodate use-case with abstract arrays.
12524         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
12525         is not defined.
12526         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
12527         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
12528
12529 2010-04-18  Bruno Haible  <bruno@clisp.org>
12530
12531         * doc/posix-headers/stdbool.texi: More precise wording.
12532
12533 2010-04-17  Jim Meyering  <meyering@redhat.com>
12534
12535         maint.mk: use gnu-style indentation in an embedded perl script
12536         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
12537         Rename variable: s/two/last_two_bytes/
12538
12539 2010-04-16  Eric Blake  <eblake@redhat.com>
12540
12541         test-stdbool: skip test that fails with Solaris CC
12542         * tests/test-stdbool.c (f): Skip test that causes compilation
12543         error under buggy C++ compiler.
12544         * lib/stdbool.in.h: Document the limitation.
12545         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
12546
12547         setenv: allow compilation with C++
12548         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
12549         register keyword.
12550
12551         stdint: allow test to pass with C++
12552         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
12553
12554         getopt: allow compilation with C++
12555         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
12556         struct.
12557         * lib/getopt.c (_getopt_internal_r): Use correct type.
12558         Reported by Dagobert Michelson, via Joel E. Denny.
12559
12560 2010-04-16  Bruno Haible  <bruno@clisp.org>
12561
12562         Override netdb.h always.
12563         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
12564         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
12565         Reported by Ludovic Courtès <ludo@gnu.org>.
12566
12567 2010-04-15  Bruno Haible  <bruno@clisp.org>
12568
12569         openpty: Fix mistake from 2010-03-21.
12570         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
12571         Reported by Simon Josefsson.
12572
12573 2010-04-15  Eric Blake  <eblake@redhat.com>
12574
12575         test-forkpty: fix expected signature
12576         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
12577         Reported by Simon Josefsson.
12578
12579 2010-04-15  Jim Meyering  <meyering@redhat.com>
12580
12581         maint.mk: texinfo_suffix_re_: correct the default regexp
12582         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
12583
12584         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
12585         make it configurable via texinfo_suffix_re_.
12586
12587 2010-04-14  Eric Blake  <eblake@redhat.com>
12588
12589         strtok_r: relax license to LGPLv2+
12590         * modules/strtok_r (License): Relax license.
12591         Reported by Matthias Bolte.
12592
12593 2010-04-14  Simon Josefsson  <simon@josefsson.org>
12594
12595         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
12596         version 1.4.4 by default instead of requiring the libgcrypt
12597         version used during build.  This makes it possible to use the
12598         application with older but still binary compatible libgcrypt
12599         versions.
12600
12601 2010-04-13  Eric Blake  <eblake@redhat.com>
12602
12603         getopt-gnu: match recent glibc fixes and posix ruling
12604         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
12605         '+' handling, when requesting extensions.
12606         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
12607         'W;' handling.
12608         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
12609         * doc/posix-functions/getopt.texi (getopt): Document this.
12610         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12611         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12612         Likewise.
12613
12614         getopt: merge bug fixes from glibc
12615         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
12616         diagnostics.  Honor '+:' correctly.  Reject ';'.
12617
12618         getopt-posix: detect MacOS bug
12619         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
12620         optind when missing a required argument.
12621         * doc/posix-functions/getopt.texi (getopt): Document the bug.
12622         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12623         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12624         Likewise.
12625
12626         getopt-posix: avoid spurious failure on Solaris
12627         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
12628         an indicator that setting optind=1 is sufficient for reset.
12629
12630         getopt-posix: avoid spurious failure on FreeBSD
12631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
12632         in POSIX mode, since the m4 test uses it.
12633
12634         gnulib-tool: silence warning on BSD sh
12635         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
12636
12637 2010-04-13  Jim Meyering  <meyering@redhat.com>
12638
12639         doc: users.txt: GNU patch now uses gnulib
12640         * users.txt: Add patch.
12641
12642 2010-04-12  Jim Meyering  <meyering@redhat.com>
12643
12644         maint.mk: generate more concise timing data for syntax-check rules
12645         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
12646         " done" from each line that reports a syntax-check test duration.
12647
12648 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
12649
12650         git-version-gen: use "git update-index..." rather than "git status"
12651         * build-aux/git-version-gen: Use git update-index --refresh, not
12652         "git status".  With some versions of git, "git status" would fail
12653         to update the index and result in an unwarranted "-dirty" suffix.
12654
12655 2010-04-11  Jim Meyering  <meyering@redhat.com>
12656
12657         openat: correct formatting (no semantic change)
12658         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
12659         Suggested by Bruno Haible.
12660
12661 2010-04-11  Bruno Haible  <bruno@clisp.org>
12662
12663         Stricter declaration checking in testdirs.
12664         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12665         If for_tests is true, augment AM_CPPFLAGS to define
12666         GNULIB_STRICT_CHECKING.
12667         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
12668         GNULIB_STRICT_CHECKING is defined, verify that the function is
12669         declared.
12670
12671 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
12672             Bruno Haible  <bruno@clisp.org>
12673
12674         libunistring: Improve configure output.
12675         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
12676         Don't say "consider installing GNU libunistring" when checking again
12677         with libiconv.
12678
12679 2010-04-11  Bruno Haible  <bruno@clisp.org>
12680
12681         libunistring: Correct value of $LTLIBUNISTRING.
12682         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
12683         correct the value of $LTLIBUNISTRING.
12684
12685 2010-04-11  Bruno Haible  <bruno@clisp.org>
12686
12687         havelib: Add static libraries to LIBS in the right order.
12688         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12689         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12690
12691 2010-04-11  Bruno Haible  <bruno@clisp.org>
12692
12693         libunistring: Detect libunistring also when it depends on libiconv.
12694         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12695         the second AC_LIB_HAVE_LINKFLAGS invocation.
12696
12697 2010-04-11  James Youngman  <jay@gnu.org>
12698
12699         close-stream: declare local scalars to be "const"
12700         * lib/close-stream.c (close_stream): Make boolean variables const
12701         to document the fact that we set but do not change them.
12702
12703 2010-04-11  Bruno Haible  <bruno@clisp.org>
12704
12705         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12706
12707 2010-04-11  Jim Meyering  <meyering@redhat.com>
12708
12709         maint.mk: don't include dist-check.mk
12710         * top/maint.mk: Remove bogus include directive.
12711
12712         maint.mk: improve empty-line-at-EOF check
12713         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12714         solution, rather than tail+Perl-based one.  The latter would read
12715         a few kilobytes from the end of each file, and did not handle empty
12716         files properly.
12717
12718         maint.mk: print the elapsed time for each syntax-check rule
12719         * top/maint.mk (sc_m_rules_): Save start time in a file.
12720         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12721         (local-check): Interpose the .z rules
12722
12723 2010-04-11  Jim Meyering  <meyering@redhat.com>
12724
12725         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12726         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12727         empty file with one that ends in an empty line.
12728
12729 2010-04-10  Bruno Haible  <bruno@clisp.org>
12730
12731         mkdir: Make it work on mingw64.
12732         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12733         * lib/mkdir.c: Update comment.
12734         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
12735
12736 2010-04-10  Bruno Haible  <bruno@clisp.org>
12737
12738         Don't override improved macro from newer autoconf.
12739         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12740         autoconf >= 2.62.
12741         Reported by Joel E. Denny <jdenny@clemson.edu>.
12742
12743 2010-04-10  Jim Meyering  <meyering@redhat.com>
12744
12745         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12746         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12747
12748         maint.mk: correct a diagnostic
12749         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12750         in diagnostic; now use $prohibit.
12751
12752 2010-04-10  Bruno Haible  <address@hidden>
12753
12754         fchownat: Fix a C++ test error on Solaris 8.
12755         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12756         the function does not exist.
12757
12758 2010-04-10  Bruno Haible  <bruno@clisp.org>
12759
12760         vasnprintf: Add more tests.
12761         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12762         (test_function): Test converting an invalid wide string.
12763
12764         vasnprintf: Correct handling of unconvertible wide string arguments.
12765         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12766         VASNPRINTF.
12767         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12768         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12769         smaller than the expected maximum need for the directive. Set errno to
12770         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12771         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12772         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12773         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12774         * modules/vasnprintf (Files): Add m4/printf.m4.
12775         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12776
12777 2010-04-10  Bruno Haible  <bruno@clisp.org>
12778
12779         vasnprintf: Fix crash in %ls directive.
12780         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12781         string is passed as argument to %ls, with no precision and no width.
12782         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12783
12784 2010-04-10  Bruno Haible  <bruno@clisp.org>
12785
12786         vasnprintf: Fix multiple test failures on mingw.
12787         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12788         _snprintf, or snwprintf, not _snwprintf.
12789
12790 2010-04-10  Bruno Haible  <bruno@clisp.org>
12791
12792         write: Fix a C++ test error on mingw.
12793         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12794
12795 2010-04-10  Bruno Haible  <bruno@clisp.org>
12796
12797         vasnprintf test: Reduce code duplication.
12798         * tests/test-vasnprintf.c (test_function): New function, extracted from
12799         test_vasnprintf.
12800         (test_vasnprintf, test_asnprintf): Invoke it.
12801
12802 2010-04-10  Bruno Haible  <bruno@clisp.org>
12803
12804         strnlen: Fix warning in C++ mode on MacOS X.
12805         * lib/string.in.h (strnlen): Use the modern idiom.
12806         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12807         defining strnlen as a macro already in <config.h>.
12808         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12809         REPLACE_STRNLEN.
12810         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12811         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12812
12813 2010-04-08  James Youngman  <jay@gnu.org>
12814
12815         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12816         the example.
12817
12818 2010-04-09  Jim Meyering  <meyering@redhat.com>
12819
12820         maint.mk: print better diagnostic when there is no $(_hv_file)
12821         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12822         announce that when $(_hv_file) (aka help-version) does not exist.
12823
12824         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12825         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12826         not try to interpret its random input bytes.  Jarno Rajahalme reported
12827         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12828         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12829         (mktempd_): Likewise, just in case.
12830
12831         ftruncate: add two years to projected module removal date: 2012
12832         * m4/ftruncate.m4: Adjust comments.
12833
12834         ftruncate: mark module as obsolete; even MinGW provides it, now
12835         * modules/ftruncate (Status): Obsolete.
12836         (Notice): Say that.
12837         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12838         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12839
12840 2010-04-08  Bruno Haible  <bruno@clisp.org>
12841
12842         Fix side effects from tests-related modules.
12843         * modules/dprintf-posix (Comment): New section.
12844         * modules/fprintf-posix (Comment): Likewise.
12845         * modules/obstack-printf-posix (Comment): Likewise.
12846         * modules/printf-posix (Comment): Likewise.
12847         * modules/snprintf-posix (Comment): Likewise.
12848         * modules/sprintf-posix (Comment): Likewise.
12849         * modules/vasnprintf-posix (Comment): Likewise.
12850         * modules/vasprintf-posix (Comment): Likewise.
12851         * modules/vdprintf-posix (Comment): Likewise.
12852         * modules/vfprintf-posix (Comment): Likewise.
12853         * modules/vprintf-posix (Comment): Likewise.
12854         * modules/vsnprintf-posix (Comment): Likewise.
12855         * modules/vsprintf-posix (Comment): Likewise.
12856         * modules/xprintf-posix (Comment): Likewise.
12857         * modules/xvasprintf-posix (Comment): Likewise.
12858         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12859         * modules/floorf-tests (Depends-on): Likewise.
12860         * modules/round-tests (Depends-on): Likewise.
12861         * modules/roundf-tests (Depends-on): Likewise.
12862         * modules/trunc-tests (Depends-on): Likewise.
12863         * modules/truncf-tests (Depends-on): Likewise.
12864         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12865         'fprintf-posix' module is not present.
12866         * tests/test-floorf2.c (check): Likewise.
12867         * tests/test-trunc2.c (check): Likewise.
12868         * tests/test-truncf2.c (check): Likewise.
12869         * tests/test-round2.c (equal): Likewise.
12870         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12871
12872 2010-04-07  Karl Berry  <karl@gnu.org>
12873
12874         * config/srclist.txt,
12875         * config/srclistvars.sh,
12876         * config/srclist-update: doc fixes.
12877
12878 2010-04-07  Jim Meyering  <meyering@redhat.com>
12879
12880         maint.mk: add a PATH crosschecking syntax-check rule
12881         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12882         Useful if you use a test like the one in help-version (coreutils,
12883         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12884         printed by prog --version.
12885
12886 2010-04-06  Bruno Haible  <bruno@clisp.org>
12887
12888         Fix link error on mingw.
12889         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12890         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12891
12892 2010-04-06  Bruno Haible  <bruno@clisp.org>
12893
12894         Assume rmdir exists.
12895         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12896
12897 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12898
12899         doc: update users.txt
12900         * users.txt: Add gcal.
12901
12902 2010-04-06  Jim Meyering  <meyering@redhat.com>
12903
12904         init.sh: simply unset TMPDIR rather than risking env -i
12905         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12906         although it probably works fine on all Unix-based systems, some
12907         systems (Cygwin?) cannot tolerate a totally cleared environment.
12908         Suggestion from Eric Blake.
12909
12910 2010-04-06  Jim Meyering  <meyering@redhat.com>
12911
12912         init.sh: portability fix: use env's POSIX-specified -i option not -u
12913         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12914         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12915
12916 2010-04-05  Bruno Haible  <bruno@clisp.org>
12917
12918         btowc: Work around Cygwin 1.7.2 bug.
12919         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12920         does not map NUL to 0.
12921         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
12922
12923 2010-04-05  Bruno Haible  <bruno@clisp.org>
12924
12925         Make the multithread modules work on Cygwin 1.7.2.
12926         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
12927         imported symbols can be declared weak, so that it returns "no" on
12928         Cygwin 1.7.2.
12929
12930 2010-04-05  Bruno Haible  <bruno@clisp.org>
12931
12932         Use the module 'strncat'.
12933         * modules/unistr/u8-strncat (Depends-on): Add strncat.
12934
12935         Tests for module 'strncat'.
12936         * modules/strncat-tests: New file.
12937         * tests/test-strncat.c: New file.
12938
12939         New module 'strncat'.
12940         * lib/string.in.h (strncat): New declaration.
12941         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
12942         * m4/strncat.m4: New file, based on m4/memchr.m4.
12943         * modules/strncat: New file.
12944         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
12945         is declared.
12946         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
12947         REPLACE_STRNCAT.
12948         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
12949         REPLACE_STRNCAT.
12950         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
12951         module.
12952         * tests/test-string-c++.cc: Check signature of strncat.
12953
12954 2010-04-05  Jim Meyering  <meyering@redhat.com>
12955
12956         xstrtoumax-tests: convert to use init.sh
12957         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
12958         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12959         Use Exit, not exit.
12960         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12961
12962         xstrtoimax-tests: convert to use init.sh
12963         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
12964         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12965         Use Exit, not exit.
12966         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12967
12968 2010-04-05  Bruno Haible  <bruno@clisp.org>
12969
12970         sys_socket: Avoid #define replacements in C++ mode.
12971         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
12972         warning to the function if possible, rather than #defining the symbol
12973         to a dysfunctional alias.
12974
12975 2010-04-05  Bruno Haible  <bruno@clisp.org>
12976
12977         fseeko: Fix C++ test error on mingw.
12978         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
12979         gl_FUNC_FSEEKO.
12980         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
12981         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
12982         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
12983         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
12984
12985 2010-04-05  Bruno Haible  <bruno@clisp.org>
12986
12987         duplocale: Improve test output.
12988         * tests/test-duplocale.c (main): Print reason for skipped test.
12989
12990 2010-04-05  Bruno Haible  <bruno@clisp.org>
12991
12992         Assume rmdir exists.
12993         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
12994         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
12995
12996 2010-04-05  Bruno Haible  <bruno@clisp.org>
12997
12998         Fix link error on Solaris 8 with cc.
12999         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
13000
13001 2010-04-05  Bruno Haible  <bruno@clisp.org>
13002
13003         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13004         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
13005
13006 2010-04-05  Bruno Haible  <bruno@clisp.org>
13007
13008         vasprintf: Update documentation.
13009         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
13010
13011 2010-04-05  Bruno Haible  <bruno@clisp.org>
13012
13013         ptsname: Improve test.
13014         * tests/test-ptsname.c (main): Also try the various master names of BSD
13015         systems.
13016
13017 2010-04-05  Bruno Haible  <bruno@clisp.org>
13018
13019         memchr: Avoid a possible C++ test error.
13020         * lib/string.in.h (memchr): Provide declaration if function is missing.
13021         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
13022         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
13023         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
13024         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
13025
13026 2010-04-05  Bruno Haible  <bruno@clisp.org>
13027
13028         strtok_r: Improve idiom.
13029         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
13030         AC_LIBOBJ is used.
13031
13032 2010-04-05  Bruno Haible  <bruno@clisp.org>
13033
13034         strdup: Improve idiom.
13035         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
13036         AC_LIBOBJ is used.
13037         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
13038         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
13039         when AC_LIBOBJ is used.
13040
13041 2010-04-05  Bruno Haible  <bruno@clisp.org>
13042
13043         mbsinit, mbrtowc, wcrtomb: Improve idioms.
13044         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
13045         don't set REPLACE_MBSINIT to 1.
13046         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
13047         don't set REPLACE_MBRTOWC to 1.
13048         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
13049         exist, don't set REPLACE_MBSRTOWCS to 1.
13050         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
13051         exist, don't set REPLACE_MBSNRTOWCS to 1.
13052         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
13053         don't set REPLACE_WCRTOMB to 1.
13054         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
13055         exist, don't set REPLACE_WCSRTOMBS to 1.
13056         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
13057         exist, don't set REPLACE_WCSNRTOMBS to 1.
13058
13059 2010-04-05  Bruno Haible  <bruno@clisp.org>
13060
13061         ldexpl: Improve idiom.
13062         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
13063         make sure to set HAVE_DECL_LDEXPL to 0.
13064
13065 2010-04-05  Jim Meyering  <meyering@redhat.com>
13066
13067         xstrtol-tests: convert to use init.sh
13068         * modules/xstrtol-tests (Files): Add tests/init.sh.
13069         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13070         Use Exit, not exit.
13071         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13072
13073         atexit-tests: convert to use init.sh
13074         * modules/atexit-tests (Files): Add tests/init.sh.
13075         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13076         Use Exit, not exit.
13077         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13078
13079         init.sh: fix typo
13080         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
13081
13082         init.sh: make it easier for a test script to write to the tty, ...
13083         when using automake's parallel-tests mode.
13084         * tests/init.sh (stderr_fileno_): Define overridable variable.
13085         (warn_): New function, to use it.
13086         (fail_, skip_, framework_failure_): Use warn_.
13087
13088 2010-04-04  Bruno Haible  <bruno@clisp.org>
13089
13090         btowc: Avoid warning.
13091         * lib/btowc.c: Include <stdlib.h>.
13092         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
13093
13094 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13095             Bruno Haible  <bruno@clisp.org>
13096
13097         wchar: Port to NetBSD 1.5.
13098         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
13099         * lib/wctype.in.h (WEOF): Likewise.
13100
13101 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13102             Bruno Haible  <bruno@clisp.org>
13103
13104         Port extended stdio to NetBSD 1.5.
13105         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
13106         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
13107         older.
13108
13109 2010-04-04  Bruno Haible  <bruno@clisp.org>
13110
13111         string: Remove unused substitution.
13112         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13113         HAVE_DECL_STRERROR.
13114         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
13115
13116 2010-04-04  Bruno Haible  <bruno@clisp.org>
13117
13118         strtod: Avoid a possible C++ test error.
13119         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
13120         set REPLACE_STRTOD.
13121
13122 2010-04-04  Bruno Haible  <bruno@clisp.org>
13123
13124         strerror: Update documentation.
13125         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
13126
13127 2010-04-04  Bruno Haible  <bruno@clisp.org>
13128
13129         stdio: Fix some C++ test errors on Solaris 8 with GCC.
13130         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
13131         _GL_CXXALIAS_SYS_CAST.
13132
13133 2010-04-04  Bruno Haible  <bruno@clisp.org>
13134
13135         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13136         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
13137         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
13138         REPLACE_FREXPL to 1.
13139         * doc/posix-functions/frexpl.texi: Update documentation.
13140
13141 2010-04-04  Bruno Haible  <bruno@clisp.org>
13142
13143         math: Fix some C++ test errors on Solaris 8 and Cygwin.
13144         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
13145
13146 2010-04-04  Bruno Haible  <bruno@clisp.org>
13147
13148         Implement nanosleep for native Windows.
13149         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
13150
13151 2010-04-04  Bruno Haible  <bruno@clisp.org>
13152
13153         math: Fix some C++ test errors on Solaris 8.
13154         * lib/math.in.h (truncf, trunc): Use simpler idiom.
13155
13156 2010-04-04  Bruno Haible  <bruno@clisp.org>
13157
13158         math: Fix some C++ test errors on Cygwin.
13159         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
13160         truncl): Provide declaration if the system does not have it.
13161         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
13162         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
13163         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
13164         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
13165         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
13166         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
13167         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
13168         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
13169         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
13170         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
13171         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
13172         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
13173         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
13174         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
13175         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
13176         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
13177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
13178         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13179         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13180         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
13181         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13182         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13183
13184 2010-04-04  Bruno Haible  <bruno@clisp.org>
13185
13186         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
13187         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13188         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13189         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13190         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13191         * m4/isinf.m4 (gl_ISINF): Likewise.
13192         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13193
13194 2010-04-04  Bruno Haible  <bruno@clisp.org>
13195
13196         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
13197         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13198
13199 2010-04-04  Bruno Haible  <bruno@clisp.org>
13200
13201         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
13202         * modules/tmpfile (configure.ac): Update.
13203
13204         tmpfile: Fix C++ test error on mingw.
13205         * lib/stdio.in.h (tmpfile): New declaration.
13206         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
13207         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
13208         * modules/tmpfile (Depends-on): Add stdio.
13209         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13210         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
13211         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
13212         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
13213         REPLACE_TMPFILE.
13214         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
13215
13216 2010-04-04  Bruno Haible  <bruno@clisp.org>
13217
13218         ioctl: Fix C++ test error on mingw.
13219         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
13220         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
13221         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
13222
13223 2010-04-03  Bruno Haible  <bruno@clisp.org>
13224
13225         wcwidth: Fix C++ test error on mingw.
13226         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
13227         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
13228         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
13229
13230 2010-04-03  Bruno Haible  <bruno@clisp.org>
13231
13232         nanosleep: Fix C++ test error on mingw.
13233         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
13234         * lib/time.in.h (nanosleep): Use modern idiom.
13235         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
13236         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
13237         REPLACE_NANOSLEEP to 1.
13238         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
13239         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
13240
13241 2010-04-03  Bruno Haible  <bruno@clisp.org>
13242
13243         strptime: Fix C++ test error on mingw.
13244         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
13245         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
13246         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
13247         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
13248         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
13249         not REPLACE_STRPTIME.
13250         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
13251         REPLACE_STRPTIME.
13252
13253 2010-04-03  Bruno Haible  <bruno@clisp.org>
13254
13255         timegm: Fix C++ test error on mingw.
13256         * lib/time.in.h (timegm): Use modern idiom.
13257         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
13258         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
13259         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
13260         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
13261
13262 2010-04-03  Bruno Haible  <bruno@clisp.org>
13263
13264         timegm: Assume declaration if function exists.
13265         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
13266         if it exists. Don't clobber ac_cv_func_timegm.
13267
13268 2010-04-03  Bruno Haible  <bruno@clisp.org>
13269
13270         time_r: Fix C++ test error on mingw.
13271         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
13272         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
13273         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
13274         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
13275         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
13276
13277 2010-04-03  Bruno Haible  <bruno@clisp.org>
13278
13279         time_r: Minor updates.
13280         * modules/time_r (Description): Mention the provided functions.
13281         * lib/time_r.c: Don't include <string.h>.
13282         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
13283         * doc/posix-functions/localtime_r.texi: Likewise.
13284
13285 2010-04-03  Bruno Haible  <bruno@clisp.org>
13286
13287         time: Fix regression introduced on 2010-03-08.
13288         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
13289         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
13290
13291 2010-04-03  Jim Meyering  <meyering@redhat.com>
13292
13293         maint.mk: don't silently disable project-specific syntax-check rules
13294         * top/maint.mk (_prohibit_regexp): Define, to help people realize
13295         that they need to convert their project-specific syntax-check rules
13296         to use the new _sc_search_regexp.
13297
13298 2010-04-03  Bruno Haible  <bruno@clisp.org>
13299
13300         fchdir: Fix regression introduced on 2010-03-08.
13301         * lib/unistd.in.h (fchdir): Fix declaration.
13302         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
13303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
13304         REPLACE_FCHDIR.
13305         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
13306         REPLACE_FCHDIR.
13307
13308 2010-04-03  Bruno Haible  <bruno@clisp.org>
13309
13310         getpagesize: Fix C++ test error on mingw.
13311         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
13312         system does not declare the function.
13313         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
13314         declared.
13315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13316         HAVE_DECL_GETPAGESIZE.
13317         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
13318
13319 2010-04-03  Bruno Haible  <bruno@clisp.org>
13320
13321         stdio: Make C++ tests work on mingw.
13322         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
13323         does not declare the function.
13324
13325 2010-04-03  Bruno Haible  <bruno@clisp.org>
13326
13327         ftello: Fix C++ test error on mingw.
13328         * lib/stdio.in.h (ftello): Use modern idiom.
13329         * lib/ftello.c (ftello): Renamed from rpl_ftello.
13330         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
13331         is missing and that it needs to be replaced.
13332         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
13333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
13334         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
13335
13336 2010-04-03  Bruno Haible  <bruno@clisp.org>
13337
13338         fseeko: Fix C++ test error on mingw.
13339         * lib/stdio.in.h (fseeko): Use modern idiom.
13340         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
13341         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
13342         is missing and that it needs to be replaced.
13343         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
13344         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
13345         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
13346
13347 2010-04-03  Bruno Haible  <bruno@clisp.org>
13348
13349         mkstemp: Fix C++ test error on mingw.
13350         * lib/stdlib.in.h (mkstemp): Use modern idiom.
13351         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
13352         function is missing and that it needs to be replaced.
13353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
13354         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
13355
13356 2010-04-03  Bruno Haible  <bruno@clisp.org>
13357
13358         stpncpy: Fix C++ test error on mingw.
13359         * lib/string.in.h (stpncpy): Use modern idiom.
13360         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
13361         function is missing and that it needs to be replaced.
13362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13363         REPLACE_STPNCPY.
13364         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
13365
13366 2010-04-03  Bruno Haible  <bruno@clisp.org>
13367
13368         sys_stat: Fix C++ test error on mingw.
13369         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
13370         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
13371
13372 2010-04-03  Bruno Haible  <bruno@clisp.org>
13373
13374         pty: Update doc.
13375         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
13376
13377 2010-04-03  Bruno Haible  <bruno@clisp.org>
13378
13379         unistd: Fix C++ test error on mingw.
13380         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
13381
13382 2010-04-03  Bruno Haible  <bruno@clisp.org>
13383
13384         Update doc regarding mingw.
13385         * doc/glibc-functions/openpty.texi: Update regarding mingw.
13386         * doc/glibc-functions/login_tty.texi: Likewise.
13387         * doc/glibc-functions/forkpty.texi: Likewise.
13388
13389 2010-04-03  Bruno Haible  <bruno@clisp.org>
13390
13391         stdlib: Avoid compilation failure of c-strtold on mingw.
13392         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
13393
13394 2010-04-03  Bruno Haible  <bruno@clisp.org>
13395
13396         locale: Make C++ tests work on Cygwin and mingw.
13397         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
13398         cannot provide the function.
13399         Reported by Simon Josefsson.
13400
13401 2010-04-03  Bruno Haible  <bruno@clisp.org>
13402
13403         localename: Port to MacOS X 10.6.
13404         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
13405         memory layout of the locales in MacOS X 10.6 as well.
13406         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
13407
13408 2010-04-02  Bruno Haible  <bruno@clisp.org>
13409
13410         gnulib-tool: Ensure that long-running tests are executed last.
13411         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
13412         running tests after the one for the other tests.
13413
13414 2010-04-02  Bruno Haible  <bruno@clisp.org>
13415
13416         gnulib-tool: Ensure the tests in the main directory are executed first.
13417         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
13418         start with the current directory.
13419
13420 2010-04-02  Bruno Haible  <bruno@clisp.org>
13421
13422         Tests for module 'havelib', moved here from GNU gettext.
13423         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
13424         modifications.
13425         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
13426         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
13427         with modifications.
13428         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
13429         modifications.
13430         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
13431         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
13432         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
13433         with modifications.
13434         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
13435         with modifications.
13436         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
13437         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
13438         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
13439         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
13440         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
13441         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
13442         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
13443         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
13444         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
13445         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
13446         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
13447         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
13448         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
13449         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
13450         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
13451         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
13452         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
13453         with modifications.
13454         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
13455         with modifications.
13456         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
13457         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
13458         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
13459         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
13460         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
13461         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
13462         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
13463         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
13464         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
13465         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
13466         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
13467         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
13468         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
13469         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
13470         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
13471         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
13472         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
13473         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
13474         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
13475         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
13476         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
13477         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
13478         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
13479         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
13480         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
13481         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
13482         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
13483         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
13484         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
13485         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
13486         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
13487         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
13488         * tests/havelib/rpathx/rpathx.c: New file, from
13489         gettext/autoconf-lib-link.
13490         * tests/havelib/rpathx/Makefile.am: New file, from
13491         gettext/autoconf-lib-link.
13492         * tests/havelib/rpathx/configure.ac: New file, from
13493         gettext/autoconf-lib-link with modifications.
13494         * tests/havelib/rpathy/rpathy.c: New file, from
13495         gettext/autoconf-lib-link.
13496         * tests/havelib/rpathy/Makefile.am: New file, from
13497         gettext/autoconf-lib-link.
13498         * tests/havelib/rpathy/configure.ac: New file, from
13499         gettext/autoconf-lib-link with modifications.
13500         * tests/havelib/rpathz/rpathz.c: New file, from
13501         gettext/autoconf-lib-link.
13502         * tests/havelib/rpathz/Makefile.am: New file, from
13503         gettext/autoconf-lib-link.
13504         * tests/havelib/rpathz/configure.ac: New file, from
13505         gettext/autoconf-lib-link with modifications.
13506         * tests/havelib/rpathlx/usex.c: New file, from
13507         gettext/autoconf-lib-link.
13508         * tests/havelib/rpathlx/Makefile.am: New file, from
13509         gettext/autoconf-lib-link.
13510         * tests/havelib/rpathlx/configure.ac: New file, from
13511         gettext/autoconf-lib-link with modifications.
13512         * tests/havelib/rpathly/usey.c: New file, from
13513         gettext/autoconf-lib-link.
13514         * tests/havelib/rpathly/Makefile.am: New file, from
13515         gettext/autoconf-lib-link.
13516         * tests/havelib/rpathly/configure.ac: New file, from
13517         gettext/autoconf-lib-link with modifications.
13518         * tests/havelib/rpathlz/usez.c: New file, from
13519         gettext/autoconf-lib-link.
13520         * tests/havelib/rpathlz/Makefile.am: New file, from
13521         gettext/autoconf-lib-link.
13522         * tests/havelib/rpathlz/configure.ac: New file, from
13523         gettext/autoconf-lib-link with modifications.
13524         * tests/havelib/rpathlyx/usey.c: New file, from
13525         gettext/autoconf-lib-link.
13526         * tests/havelib/rpathlyx/Makefile.am: New file, from
13527         gettext/autoconf-lib-link.
13528         * tests/havelib/rpathlyx/configure.ac: New file, from
13529         gettext/autoconf-lib-link with modifications.
13530         * tests/havelib/rpathlzyx/usez.c: New file, from
13531         gettext/autoconf-lib-link.
13532         * tests/havelib/rpathlzyx/Makefile.am: New file, from
13533         gettext/autoconf-lib-link.
13534         * tests/havelib/rpathlzyx/configure.ac: New file, from
13535         gettext/autoconf-lib-link with modifications.
13536         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
13537         with modifications.
13538
13539 2010-04-02  Bruno Haible  <bruno@clisp.org>
13540
13541         gnulib-tool: Create distributed built sources also for the tests.
13542         * gnulib-tool (func_create_testdir): Also generate distributed built
13543         sources in the tests directory.
13544
13545 2010-04-02  Bruno Haible  <bruno@clisp.org>
13546
13547         gnulib-tool: Obey user's environment variables.
13548         * gnulib-tool (func_create_testdir): When creating built sources,
13549         respect the environment variables for autoconf, automake, etc. given by
13550         the user.
13551
13552 2010-04-02  Bruno Haible  <bruno@clisp.org>
13553
13554         gnulib-tool: Provide the value of --m4-base to modules.
13555         * gnulib-tool (func_import, func_create_testdir): Emit a definition
13556         of gl_m4_base.
13557
13558 2010-04-02  Eric Blake  <eblake@redhat.com>
13559
13560         maint.mk: fix some fallout
13561         * NEWS: Document the incompatible change, and its effect on cfg.mk.
13562         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
13563
13564 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13565
13566         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
13567         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
13568         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
13569         (sc_cast_of_x_alloc_return_value): Likewise.
13570         (sc_cast_of_alloca_return_value): Likewise.
13571         (sc_space_tab): Likewise.
13572         (sc_prohibit_atoi_atof): Likewise.
13573         (sc_prohibit_magic_number_exit): Likewise.
13574         (sc_error_exit_success): Likewise.
13575         (sc_file_system): Likewise.
13576         (sc_prohibit_have_config_h): Likewise.
13577         (sc_require_config_h): Likewise.
13578         (sc_prohibit_HAVE_MBRTOWC): Likewise.
13579         (sc_obsolete_symbols): Likewise.
13580         (sc_changelog): Likewise.
13581         (sc_program_name): Likewise.
13582         (sc_the_the): Likewise.
13583         (sc_trailing_blank): Likewise.
13584         (sc_two_space_separator_in_usage): Likewise.
13585         (sc_useless_cpp_parens): Likewise.
13586         (sc_GPL_version): Likewise.
13587         (sc_GFDL_version): Likewise.
13588         (sc_texinfo_acronym): Likewise.
13589         (sc_prohibit_cvs_keyword): Likewise.
13590         (sc_prohibit_stat_st_blocks): Likewise.
13591         (sc_prohibit_S_IS_definition): Likewise.
13592         (sc_redundant_const): Likewise.
13593         (sc_makefile_TAB_only_indentation): Likewise.
13594         (sc_m4_quote_check): Likewise.
13595         (sc_makefile_path_separator_check): Likewise.
13596         (sc_copyright_check): Likewise.
13597         (sc_Wundef_boolean): Likewise.
13598         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
13599
13600         maint.mk: match 0 or more whitespace-before-function-call '('
13601         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
13602         that have zero or two-and-more spaces between the function name
13603         and the open parenthesis.
13604         (sc_error_message_warn_fatal): Likewise.
13605         (sc_error_message_uppercase): Likewise.
13606         (sc_error_message_period): Likewise.
13607
13608 2010-03-31  Eric Blake  <eblake@redhat.com>
13609
13610         maint.mk: check for [ as well as test
13611         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
13612         Based on a libvirt report by Matthias Bolte.
13613
13614         gnumakefile: don't squelch _version output
13615         * top/GNUmakefile (_version): Create one-shot dependency rather
13616         than using $(shell) when version must be regenerated.
13617         (_autoreconf): Run verbosely, by default.
13618
13619         sys_time: avoid compiler warnings
13620         * lib/sys_time.in.h (includes): Ensure gcc pragma is
13621         unconditional, fixing regression from 2010-03-29.
13622         Reported by Simon Josefsson.
13623
13624 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13625
13626         maint.mk: s/_header_without_use/_sc_header_without_use/
13627         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
13628         (sc_prohibit_assert_without_use): Use the new name.
13629         (sc_prohibit_close_stream_without_use): Likewise.
13630         (sc_prohibit_getopt_without_use): Likewise.
13631         (sc_prohibit_quotearg_without_use): Likewise.
13632         (sc_prohibit_quote_without_use): Likewise.
13633         (sc_prohibit_long_options_without_use): Likewise.
13634         (sc_prohibit_inttostr_without_use): Likewise.
13635         (sc_prohibit_ignore_value_without_use): Likewise.
13636         (sc_prohibit_error_without_use): Likewise.
13637         (sc_prohibit_xalloc_without_use): Likewise.
13638         (sc_prohibit_hash_without_use): Likewise.
13639         (sc_prohibit_hash_pjw_without_use): Likewise.
13640         (sc_prohibit_safe_read_without_use): Likewise.
13641         (sc_prohibit_argmatch_without_use): Likewise.
13642         (sc_prohibit_canonicalize_without_use): Likewise.
13643         (sc_prohibit_root_dev_ino_without_use): Likewise.
13644         (sc_prohibit_openat_without_use): Likewise.
13645         (sc_prohibit_c_ctype_without_use): Likewise.
13646         (sc_prohibit_signal_without_use): Likewise.
13647         (sc_prohibit_intprops_without_use): Likewise.
13648
13649 2010-03-30  Eric Blake  <eblake@redhat.com>
13650
13651         maint: improve module indicators
13652         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
13653         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
13654         columns, and avoid extra macro expansion.
13655
13656         fdopendir: work around FreeBSD bug
13657         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13658         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
13659         * modules/dirent (Makefile.am): Substitute it.
13660         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
13661         declaration.
13662         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
13663         fix.
13664         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13665
13666 2010-03-29  Bruno Haible  <bruno@clisp.org>
13667
13668         Emit #pragma system_header after the inclusion guard, not before.
13669         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
13670         guard that spans the entire file, not before. This enables an
13671         optimization in GCC's preprocessor.
13672         * lib/ctype.in.h: Likewise.
13673         * lib/dirent.in.h: Likewise.
13674         * lib/errno.in.h: Likewise.
13675         * lib/float.in.h: Likewise.
13676         * lib/getopt.in.h: Likewise.
13677         * lib/iconv.in.h: Likewise.
13678         * lib/langinfo.in.h: Likewise.
13679         * lib/locale.in.h: Likewise.
13680         * lib/math.in.h: Likewise.
13681         * lib/netdb.in.h: Likewise.
13682         * lib/netinet_in.in.h: Likewise.
13683         * lib/pty.in.h: Likewise.
13684         * lib/sched.in.h: Likewise.
13685         * lib/se-selinux.in.h: Likewise.
13686         * lib/search.in.h: Likewise.
13687         * lib/spawn.in.h: Likewise.
13688         * lib/stdarg.in.h: Likewise.
13689         * lib/stdint.in.h: Likewise.
13690         * lib/string.in.h: Likewise.
13691         * lib/strings.in.h: Likewise.
13692         * lib/sys_file.in.h: Likewise.
13693         * lib/sys_ioctl.in.h: Likewise.
13694         * lib/sys_time.in.h: Likewise.
13695         * lib/sys_times.in.h: Likewise.
13696         * lib/sys_utsname.in.h: Likewise.
13697         * lib/sys_wait.in.h: Likewise.
13698         * lib/sysexits.in.h: Likewise.
13699         * lib/wctype.in.h: Likewise.
13700
13701 2010-03-28  James Youngman  <jay@gnu.org>
13702
13703         save-cwd: don't leak a file descriptor when the caller execs.
13704         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13705         saved file descriptor.
13706         * modules/save-cwd (Depends-on): Depend on cloexec.
13707
13708 2010-03-29  Bruno Haible  <bruno@clisp.org>
13709
13710         Remove vestiges of fts-lgpl module.
13711         * lib/fts_.h: Assume GNULIB_FTS is 1.
13712         * lib/fts.c: Likewise.
13713         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13714
13715 2010-03-28  Bruno Haible  <bruno@clisp.org>
13716
13717         Fix definition of tests witness macro.
13718         * gnulib-tool (func_import): Fix definition of witness macro.
13719
13720 2010-03-28  Bruno Haible  <bruno@clisp.org>
13721
13722         Fix ioctl's protoype on glibc systems.
13723         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13724         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13725         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13726         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13727         signature. If not, arrange to replace the ioctl function.
13728         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13729         REPLACE_IOCTL.
13730         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13731         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13732         Reported by Ludovic Courtès <ludo@gnu.org>.
13733
13734 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13735
13736         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13737         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13738         made it so grep -r --include=GLOB* ... did not work.
13739
13740 2010-03-26  Jim Meyering  <meyering@redhat.com>
13741             Eric Blake  <eblake@redhat.com>
13742
13743         maint.mk: prohibit use of test's -o and -a operators
13744         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13745
13746 2010-03-28  Bruno Haible  <bruno@clisp.org>
13747
13748         Remove unused GNULIB_XYZ macro definitions.
13749         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13750         invocation.
13751
13752 2010-03-28  Bruno Haible  <bruno@clisp.org>
13753
13754         Mark privileged tests modules.
13755         * modules/idpriv-drop-tests (Status): New section.
13756         * modules/idpriv-droptemp-tests (Status): New section.
13757
13758 2010-03-28  Bruno Haible  <bruno@clisp.org>
13759
13760         Split C++ tests into separate tests modules.
13761         * modules/dirent-c++-tests: New file, extracted from
13762         modules/dirent-tests.
13763         * modules/dirent-tests: Depend on it.
13764         * modules/fcntl-h-c++-tests: New file, extracted from
13765         modules/fcntl-h-tests.
13766         * modules/fcntl-h-tests: Depend on it.
13767         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13768         * modules/glob-tests: Depend on it.
13769         * modules/iconv-h-c++-tests: New file, extracted from
13770         modules/iconv-h-tests.
13771         * modules/iconv-h-tests: Depend on it.
13772         * modules/langinfo-c++-tests: New file, extracted from
13773         modules/langinfo-tests.
13774         * modules/langinfo-tests: Depend on it.
13775         * modules/locale-c++-tests: New file, extracted from
13776         modules/locale-tests.
13777         * modules/locale-tests: Depend on it.
13778         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13779         * modules/math-tests: Depend on it.
13780         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13781         * modules/pty-tests: Depend on it.
13782         * modules/search-c++-tests: New file, extracted from
13783         modules/search-tests.
13784         * modules/search-tests: Depend on it.
13785         * modules/signal-c++-tests: New file, extracted from
13786         modules/signal-tests.
13787         * modules/signal-tests: Depend on it.
13788         * modules/spawn-c++-tests: New file, extracted from
13789         modules/spawn-tests.
13790         * modules/spawn-tests: Depend on it.
13791         * modules/stdio-c++-tests: New file, extracted from
13792         modules/stdio-tests.
13793         * modules/stdio-tests: Depend on it.
13794         * modules/stdlib-c++-tests: New file, extracted from
13795         modules/stdlib-tests.
13796         * modules/stdlib-tests: Depend on it.
13797         * modules/string-c++-tests: New file, extracted from
13798         modules/string-tests.
13799         * modules/string-tests: Depend on it.
13800         * modules/sys_ioctl-c++-tests: New file, extracted from
13801         modules/sys_ioctl-tests.
13802         * modules/sys_ioctl-tests: Depend on it.
13803         * modules/sys_select-c++-tests: New file, extracted from
13804         modules/sys_select-tests.
13805         * modules/sys_select-tests: Depend on it.
13806         * modules/sys_socket-c++-tests: New file, extracted from
13807         modules/sys_socket-tests.
13808         * modules/sys_socket-tests: Depend on it.
13809         * modules/sys_stat-c++-tests: New file, extracted from
13810         modules/sys_stat-tests.
13811         * modules/sys_stat-tests: Depend on it.
13812         * modules/sys_time-c++-tests: New file, extracted from
13813         modules/sys_time-tests.
13814         * modules/sys_time-tests: Depend on it.
13815         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13816         * modules/time-tests: Depend on it.
13817         * modules/unistd-c++-tests: New file, extracted from
13818         modules/unistd-tests.
13819         * modules/unistd-tests: Depend on it.
13820         * modules/wchar-c++-tests: New file, extracted from
13821         modules/wchar-tests.
13822         * modules/wchar-tests: Depend on it.
13823         * modules/wctype-c++-tests: New file, extracted from
13824         modules/wctype-tests.
13825         * modules/wctype-tests: Depend on it.
13826         Reported by Simon Josefsson.
13827
13828 2010-03-28  Bruno Haible  <bruno@clisp.org>
13829
13830         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13831         * gnulib-tool (func_exists_module): New function, extracted from
13832         func_verify_module.
13833         (func_verify_module): Use it.
13834         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13835         'foo' only if 'foo' exists.
13836         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13837         module.
13838
13839 2010-03-28  Bruno Haible  <bruno@clisp.org>
13840
13841         gnulib-tool: Add support for special categories of tests.
13842         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13843         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13844         (func_usage): Document them.
13845         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13846         inc_unportable_tests, inc_all_tests): New variables.
13847         (func_acceptable): Consider these variables.
13848         (func_modules_transitive_closure): Make it work when the 'Status' field
13849         consists of multiple words.
13850         (func_import): Store and restore the values of inc_cxx_tests,
13851         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13852         inc_all_tests in gnulib-comp.m4.
13853         (func_create_testdir): Set inc_all_tests to true.
13854         * doc/gnulib.texi (Extra tests modules): New section.
13855         Suggested by Jim Meyering.
13856
13857 2010-03-28  Bruno Haible  <bruno@clisp.org>
13858
13859         ansi-c++-opt: Allow turning off the C++ build by default.
13860         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13861         gl_CXX_CHOICE_DEFAULT_NO is defined.
13862         Requested by Eric Blake.
13863
13864 2010-03-28  Bruno Haible  <bruno@clisp.org>
13865
13866         unistd: Avoid #define replacements in C++ mode.
13867         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13868         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13869         setsockopt, shutdown, select): In C++, attach a warning to the function
13870         if possible, rather than #defining the symbol to a dysfunctional alias.
13871         Reported by John W. Eaton <jwe@gnu.org>.
13872
13873 2010-03-28  Bruno Haible  <bruno@clisp.org>
13874
13875         Fix link errors on mingw.
13876         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13877         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13878         $(LIBSOCKET).
13879         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13880         $(LIBSOCKET).
13881
13882 2010-03-28  Bruno Haible  <bruno@clisp.org>
13883             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13884
13885         lib-ignore: Determine different options for different compilers.
13886         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13887         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13888         Add comments.
13889         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13890         * NEWS: Mention the change.
13891
13892 2010-03-27  Bruno Haible  <bruno@clisp.org>
13893
13894         Remove unused GNULIB_XYZ macro definitions.
13895         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13896         * modules/fseek (configure.ac): Likewise.
13897         * modules/ioctl (configure.ac): Likewise.
13898         * modules/open (configure.ac): Likewise.
13899         * modules/stdlib-safer (configure.ac): Likewise.
13900
13901 2010-03-27  Bruno Haible  <bruno@clisp.org>
13902
13903         Add a remark about certain modules.
13904         * modules/malloc (Comment): New section.
13905         * modules/realloc (Comment): Likewise.
13906         * modules/sigpipe (Comment): Likewise.
13907
13908 2010-03-27  Bruno Haible  <bruno@clisp.org>
13909
13910         Resolve conflict between the two kinds of module indicators.
13911         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13912         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13913         * modules/canonicalize (configure.ac): Invoke
13914         gl_MODULE_INDICATOR_FOR_TESTS.
13915         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13916         GNULIB_XYZ.
13917         * tests/test-dirent-c++.cc: Likewise.
13918         * tests/test-dirent-safer.c: Likewise.
13919         * tests/test-dup2.c: Likewise.
13920         * tests/test-fchdir.c: Likewise.
13921         * tests/test-fcntl-h-c++.cc: Likewise.
13922         * tests/test-getopt.c: Likewise.
13923         * tests/test-getopt.h: Likewise.
13924         * tests/test-langinfo-c++.cc: Likewise.
13925         * tests/test-locale-c++.cc: Likewise.
13926         * tests/test-math-c++.cc: Likewise.
13927         * tests/test-pty-c++.cc: Likewise.
13928         * tests/test-search-c++.cc: Likewise.
13929         * tests/test-signal-c++.cc: Likewise.
13930         * tests/test-spawn-c++.cc: Likewise.
13931         * tests/test-stdio-c++.cc: Likewise.
13932         * tests/test-stdlib-c++.cc: Likewise.
13933         * tests/test-string-c++.cc: Likewise.
13934         * tests/test-sys_ioctl-c++.cc: Likewise.
13935         * tests/test-sys_select-c++.cc: Likewise.
13936         * tests/test-sys_socket-c++.cc: Likewise.
13937         * tests/test-sys_stat-c++.cc: Likewise.
13938         * tests/test-sys_time-c++.cc: Likewise.
13939         * tests/test-time-c++.cc: Likewise.
13940         * tests/test-unistd-c++.cc: Likewise.
13941         * tests/test-wchar-c++.cc: Likewise.
13942         * tests/uninorm/test-u8-nfc.c: Likewise.
13943         * tests/uninorm/test-u8-nfd.c: Likewise.
13944         * tests/uninorm/test-u8-nfkc.c: Likewise.
13945         * tests/uninorm/test-u8-nfkd.c: Likewise.
13946         * tests/uninorm/test-u16-nfc.c: Likewise.
13947         * tests/uninorm/test-u16-nfd.c: Likewise.
13948         * tests/uninorm/test-u16-nfkc.c: Likewise.
13949         * tests/uninorm/test-u16-nfkd.c: Likewise.
13950         * tests/uninorm/test-u32-nfc.c: Likewise.
13951         * tests/uninorm/test-u32-nfc-big.c: Likewise.
13952         * tests/uninorm/test-u32-nfd.c: Likewise.
13953         * tests/uninorm/test-u32-nfd-big.c: Likewise.
13954         * tests/uninorm/test-u32-nfkc.c: Likewise.
13955         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
13956         * tests/uninorm/test-u32-nfkd.c: Likewise.
13957         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
13958         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13959
13960 2010-03-27  Bruno Haible  <bruno@clisp.org>
13961
13962         Distinguish two kinds of module indicators.
13963         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
13964         gl_MODULE_INDICATOR.
13965         (gl_MODULE_INDICATOR): New macro.
13966         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13967         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
13968         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13969         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13970         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13971         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13972         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13973         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13974         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13975         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13976         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13977         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13979         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13980         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13981         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13982         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13983         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13984         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13985         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13986         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13987         * modules/cloexec (configure.ac): Likewise.
13988         * modules/getopt-gnu (configure.ac): Likewise.
13989         * modules/uninorm/u8-normalize (configure.ac): Likewise.
13990         * modules/uninorm/u16-normalize (configure.ac): Likewise.
13991         * modules/uninorm/u32-normalize (configure.ac): Likewise.
13992         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
13993
13994 2010-03-27  Bruno Haible  <bruno@clisp.org>
13995
13996         New module description field 'Comment'.
13997         * gnulib-tool: New option --extract-comment.
13998         (func_usage): Document it.
13999         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
14000         (func_get_comment): New function.
14001         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
14002
14003 2010-03-27  Bruno Haible  <bruno@clisp.org>
14004
14005         Addendum to 2010-02-07 commit.
14006         * gnulib-tool (func_usage): Document --extract-applicability option.
14007
14008 2010-03-27  Bruno Haible  <bruno@clisp.org>
14009
14010         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
14011         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
14012         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
14013         rather than link errors.
14014
14015 2010-03-27  Bruno Haible  <bruno@clisp.org>
14016
14017         Avoid side effects from tests-related modules on the compilation of lib.
14018         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
14019         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
14020         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
14021         parameter. Emit into AM_CPPFLAGS a definition of the designated C
14022         macro.
14023         (func_import): Define a witness macro. Assign it a value that depends
14024         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
14025         tests-related modules.
14026         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
14027         Reported by Jim Meyering.
14028
14029 2010-03-27  Bruno Haible  <bruno@clisp.org>
14030
14031         Factorize common .m4 code.
14032         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
14033         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
14034         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
14035         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
14036         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14037         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
14038         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
14039         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14040         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14041         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14042         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
14043         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14044         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14045         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14046         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14047         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
14048         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14049         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14050         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14051         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
14052         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
14053         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14054         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14055         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14056         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14057         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14058         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
14059         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
14060         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
14061         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14062         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14063         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14064
14065 2010-03-27  Bruno Haible  <bruno@clisp.org>
14066
14067         Fix a compilation error on Cygwin with g++ >= 4.3.
14068         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
14069         if it is undefined or if we alias it to chmod.
14070         (lstat): Don't warn about the use of this function if it is undefined
14071         or if we alias it to stat.
14072         Reported by Simon Josefsson.
14073
14074 2010-03-27  Bruno Haible  <bruno@clisp.org>
14075
14076         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
14077         * modules/getlogin (configure.ac): Update.
14078
14079         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
14080         * modules/getlogin_r (configure.ac): Update.
14081
14082         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
14083         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
14084         * modules/inet_ntop (configure.ac): Update.
14085
14086         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
14087         * modules/inet_pton (configure.ac): Update.
14088
14089         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
14090         * modules/mbslen (configure.ac): Update.
14091
14092         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
14093         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
14094         * modules/forkpty (configure.ac): Update.
14095         * modules/openpty (configure.ac): Update.
14096
14097 2010-03-26  Simon Josefsson  <simon@josefsson.org>
14098
14099         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
14100         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
14101
14102 2010-03-25  Eric Blake  <eblake@redhat.com>
14103
14104         maint: use pragma consistently across replacement headers
14105         * lib/ctype.in.h (system_header): Hoist for consistent placement.
14106         * lib/dirent.in.h (system_header): Likewise.
14107         * lib/errno.in.h (system_header): Likewise.
14108         * lib/float.in.h (system_header): Likewise.
14109         * lib/getopt.in.h (system_header): Likewise.
14110         * lib/iconv.in.h (system_header): Likewise.
14111         * lib/inttypes.in.h (system_header): Likewise.
14112         * lib/langinfo.in.h (system_header): Likewise.
14113         * lib/locale.in.h (system_header): Likewise.
14114         * lib/math.in.h (system_header): Likewise.
14115         * lib/netdb.in.h (system_header): Likewise.
14116         * lib/netinet_in.in.h (system_header): Likewise.
14117         * lib/pty.in.h (system_header): Likewise.
14118         * lib/sched.in.h (system_header): Likewise.
14119         * lib/se-selinux.in.h (system_header): Likewise.
14120         * lib/search.in.h (system_header): Likewise.
14121         * lib/spawn.in.h (system_header): Likewise.
14122         * lib/stdarg.in.h (system_header): Likewise.
14123         * lib/stdint.in.h (system_header): Likewise.
14124         * lib/string.in.h (system_header): Likewise.
14125         * lib/strings.in.h (system_header): Likewise.
14126         * lib/sys_file.in.h (system_header): Likewise.
14127         * lib/sys_ioctl.in.h (system_header): Likewise.
14128         * lib/sys_socket.in.h (system_header): Likewise.
14129         * lib/sys_times.in.h (system_header): Likewise.
14130         * lib/sys_utsname.in.h (system_header): Likewise.
14131         * lib/sys_wait.in.h (system_header): Likewise.
14132         * lib/sysexits.in.h (system_header): Likewise.
14133         * lib/unistd.in.h (system_header): Likewise.
14134         * lib/wctype.in.h (system_header): Likewise.
14135
14136         arpa/inet: fix mingw compilation warning
14137         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
14138         Reported by Matthew Bolte.
14139
14140 2010-03-25  Bruno Haible  <bruno@clisp.org>
14141
14142         Avoid collision between gnulib wrapper and libintl wrapper.
14143         * lib/printf.c (printf): Don't define if a printf wrapper is already
14144         defined in intl/printf.c.
14145         Reported by Michel Boaventura <michel@michelboaventura.com>.
14146
14147 2010-03-25  Bruno Haible  <bruno@clisp.org>
14148
14149         Use ANSI C.
14150         * lib/readutmp.h (getutent): Provide ANSI C prototype.
14151
14152 2010-03-25  Bruno Haible  <bruno@clisp.org>
14153
14154         Minor formatting changes.
14155         * lib/acosl.c: Insert space before function argument list.
14156         * lib/argz.c: Likewise.
14157         * lib/asinl.c: Likewise.
14158         * lib/expl.c: Likewise.
14159         * lib/gen-uni-tables.c: Likewise.
14160         * lib/gettext.h: Likewise.
14161         * lib/glthread/lock.h: Likewise.
14162         * lib/tanl.c: Likewise.
14163         * lib/uniname/uniname.c: Likewise.
14164         * tests/test-idpriv-drop.c: Likewise.
14165         * tests/test-idpriv-droptemp.c: Likewise.
14166         * tests/test-lock.c: Likewise.
14167         * tests/test-tls.c: Likewise.
14168         * lib/argp-help.c: Insert space before function-like macro argument
14169         list.
14170         * lib/memcmp.c: Likewise.
14171         * tests/test-base64.c: Likewise.
14172         * lib/localename.c: Insert space before sizeof's argument list.
14173         * lib/safe-alloc.h: Likewise.
14174         * lib/file-set.h: Insert space before macro argument list.
14175         * tests/test-argp.c: Likewise.
14176         * lib/argp-namefrob.h: Insert space before function parameter list.
14177         * lib/getaddrinfo.c: Likewise.
14178         * lib/netdb.in.h: Likewise.
14179         * lib/parse-duration.h: Likewise.
14180         * lib/parse-duration.c: Likewise.
14181         * lib/poll.c: Likewise.
14182         * lib/select.c: Likewise.
14183         * lib/trim.h: Likewise.
14184         * tests/test-usleep.c: Likewise.
14185         * lib/ldexpl.c: Insert space before function parameter list and before
14186         function argument list.
14187         * lib/logl.c: Likewise.
14188         * lib/sqrtl.c: Likewise.
14189         * lib/trim.c: Likewise.
14190         * lib/cosl.c: Use GNU style indentation. Insert space before function
14191         argument list.
14192         * lib/sinl.c: Likewise.
14193         * lib/tsearch.c: Insert space after 'for'.
14194         Reported by Jim Meyering.
14195
14196 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
14197
14198         * maint.mk (sc_Wundef_boolean): Check for the presence of the
14199         config header before grepping, as it's not present before
14200         autoreconf/configure are run.  Reported by Simon Josefsson.
14201
14202 2010-03-23  Bruno Haible  <bruno@clisp.org>
14203
14204         pt_chown: Make it work with automake < 1.11.
14205         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
14206         Reported by Simon Josefsson.
14207
14208 2010-03-23  Bruno Haible  <bruno@clisp.org>
14209
14210         pt_chown: Don't depend on GPLed modules.
14211         * lib/pt_chown.c: Don't include idpriv.h.
14212         (main): Don't drop privileges.
14213         * modules/pt_chown (Depends-on): Remove idpriv-drop.
14214         Reported by Simon Josefsson.
14215
14216 2010-03-24  Simon Josefsson  <simon@josefsson.org>
14217
14218         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
14219         suggestions from karl@freefriends.org (Karl Berry).
14220
14221 2010-03-22  Eric Blake  <eblake@redhat.com>
14222
14223         gethostname: further tweaks
14224         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
14225         are overriding gethostname.
14226         Suggested by Bruno Haible.
14227
14228 2010-03-21  Bruno Haible  <bruno@clisp.org>
14229
14230         Fix comments.
14231         * lib/forkpty.c (rpl_forkpty): Fix comment.
14232         * lib/openpty.c (rpl_openpty): Likewise.
14233         Reported by Eric Blake.
14234
14235 2010-03-22  Eric Blake  <eblake@redhat.com>
14236
14237         gethostname: fix build on mingw
14238         * lib/unistd.in.h (includes): Work around fact that mingw
14239         <winsock2.h> re-includes <unistd.h>, by avoiding any
14240         redeclarations if we are being included by <winsock2.h>.
14241         Reported by Matthias Bolte.
14242
14243 2010-03-21  Bruno Haible  <bruno@clisp.org>
14244
14245         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14246         * lib/forkpty.c (forkpty): New replacement function, from glibc with
14247         modifications.
14248         * lib/pty.in.h (forkpty): Update declaration. Add comments.
14249         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
14250         provide the replacement.
14251         * modules/forkpty (Depends-on): Add openpty, login_tty.
14252         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
14253         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
14254         * doc/glibc-functions/forkpty.texi: More supported platforms.
14255         * config/srclist.txt: Add forkpty.c (commented).
14256
14257 2010-03-21  Bruno Haible  <bruno@clisp.org>
14258
14259         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
14260         (Makefile.am): Verify that PTY_LIB is defined.
14261
14262         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
14263
14264 2010-03-21  Bruno Haible  <bruno@clisp.org>
14265
14266         Tests for module 'login_tty'.
14267         * modules/login_tty-tests: New file.
14268         * tests/test-login_tty.c: New file.
14269
14270         New module 'login_tty'.
14271         * lib/login_tty.c: New file.
14272         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
14273         * modules/login_tty: New file.
14274         * doc/glibc-functions/login_tty.texi: Mention the new module.
14275
14276 2010-03-21  Bruno Haible  <bruno@clisp.org>
14277
14278         login_tty: Documentation.
14279         * doc/glibc-functions/login_tty.texi: New file.
14280         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
14281
14282 2010-03-21  Bruno Haible  <bruno@clisp.org>
14283
14284         pty: Consistent macro naming.
14285         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
14286         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
14287         * modules/pty (configure.ac): Update.
14288
14289 2010-03-21  Bruno Haible  <bruno@clisp.org>
14290
14291         Tests for openpty: Make stricter.
14292         * tests/test-openpty.c (main): Add test of canonical processing and
14293         erase.
14294         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
14295
14296         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14297         * lib/openpty.c (openpty): New replacement function.
14298         * lib/pty.in.h: Include <termios.h>.
14299         (openpty): Update declaration. Add comments.
14300         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
14301         is not declared, arrange to provide the replacement. Check for _getpty
14302         and posix_openpt.
14303         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
14304         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
14305         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
14306         * modules/pty-tests (test_pty_c___LDADD): New variable.
14307         * doc/glibc-functions/openpty.texi: More supported platforms.
14308
14309 2010-03-21  Bruno Haible  <bruno@clisp.org>
14310
14311         setenv: Tweaks.
14312         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
14313         the test program.
14314         * doc/posix-functions/setenv.texi: Update platforms list.
14315
14316 2010-03-21  Bruno Haible  <bruno@clisp.org>
14317
14318         New module 'unlockpt'.
14319         * lib/unlockpt.c: New file, from glibc with modifications.
14320         * m4/unlockpt.m4: New file.
14321         * modules/unlockpt: New file.
14322         * lib/stdlib.in.h (unlockpt): New declaration.
14323         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
14324         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
14325         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
14326         HAVE_UNLOCKPT.
14327         * doc/posix-functions/unlockpt.texi: Mention the new module.
14328         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
14329         * config/srclist.txt: Add unlockpt.c (commented).
14330
14331 2010-03-21  Jim Meyering  <meyering@redhat.com>
14332
14333         maint.mk: prohibit inclusion of "intprops.h" without use
14334         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
14335
14336 2010-03-21  Bruno Haible  <bruno@clisp.org>
14337
14338         New module 'grantpt'.
14339         * lib/grantpt.c: New file, from glibc with modifications.
14340         * m4/grantpt.m4: New file.
14341         * modules/grantpt: New file.
14342         * lib/stdlib.in.h (grantpt): New declaration.
14343         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
14344         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
14345         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
14346         HAVE_GRANTPT.
14347         * doc/posix-functions/grantpt.texi: Mention the new module.
14348         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
14349         * config/srclist.txt: Add grantpt.c (commented).
14350
14351 2010-03-21  Bruno Haible  <bruno@clisp.org>
14352
14353         New module 'pt_chown'.
14354         * lib/pt_chown.c: New file, from glibc with modifications.
14355         * lib/pty-private.h: New file, from glibc with modifications.
14356         * modules/pt_chown: New file.
14357         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
14358
14359 2010-03-21  Bruno Haible  <bruno@clisp.org>
14360
14361         Tests for module 'ptsname'.
14362         * modules/ptsname-tests: New file.
14363         * tests/test-ptsname.c: New file.
14364
14365         New module 'ptsname'.
14366         * lib/ptsname.c: New file, from glibc with modifications.
14367         * m4/ptsname.m4: New file.
14368         * modules/ptsname: New file.
14369         * lib/stdlib.in.h (ptsname): New declaration.
14370         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
14371         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
14372         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
14373         HAVE_PTSNAME.
14374         * doc/posix-functions/ptsname.texi: Mention the new module.
14375         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
14376         * config/srclist.txt: Add ptsname.c (commented).
14377
14378 2010-03-21  Bruno Haible  <bruno@clisp.org>
14379
14380         Tests for module 'ttyname_r'.
14381         * modules/ttyname_r-tests: New file.
14382         * tests/test-ttyname_r.c: New file.
14383
14384         New module 'ttyname_r'.
14385         * lib/ttyname_r.c: New file.
14386         * m4/ttyname_r.m4: New file.
14387         * modules/ttyname_r: New file.
14388         * lib/unistd.in.h (ttyname_r): New declaration.
14389         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
14390         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
14391         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
14392         HAVE_TTYNAME_R.
14393         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
14394         * doc/posix-functions/ttyname_r.texi: Mention the new module.
14395
14396 2010-03-20  Bruno Haible  <bruno@clisp.org>
14397
14398         signal: Undefine macro definitions in C++ mode.
14399         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
14400         sigfillset): Undefine macro definitions from the system header in C++
14401         mode.
14402         Reported by John W. Eaton <jwe@gnu.org>.
14403
14404 2010-03-20  Bruno Haible  <bruno@clisp.org>
14405
14406         Ensure no #include statements inside extern "C" { ... }.
14407         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
14408         contain #include statements.
14409         * lib/time.in.h: Likewise.
14410
14411 2010-03-20  Bruno Haible  <bruno@clisp.org>
14412
14413         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
14414         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
14415         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
14416         Reported by John W. Eaton <jwe@gnu.org>.
14417
14418 2010-03-20  Bruno Haible  <bruno@clisp.org>
14419
14420         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
14421         Reported by Jim Meyering.
14422
14423 2010-03-20  Bruno Haible  <bruno@clisp.org>
14424
14425         pipe: Set errno upon failure.
14426         * lib/pipe.h: Specify that when -1 is returned, errno is set.
14427         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
14428         errno value in error message.
14429
14430 2010-03-20  Bruno Haible  <bruno@clisp.org>
14431             Jim Meyering  <meyering@redhat.com>
14432
14433         lchown: Avoid "unused variable" warning.
14434         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
14435
14436 2010-03-20  Bruno Haible  <bruno@clisp.org>
14437
14438         Work around unlink() bug on MacOS X 10.5.6.
14439         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
14440         attempting to unlink a parent directory.
14441         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
14442         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
14443         activate for the replacement function.
14444         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
14445
14446 2010-03-20  Bruno Haible  <bruno@clisp.org>
14447
14448         Fix link errors on Solaris 8.
14449         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
14450         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
14451
14452 2010-03-19  Jim Meyering  <meyering@redhat.com>
14453
14454         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
14455         The _LIBC implementation of build_range_exp correctly honors the
14456         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
14457         However, the non-_LIBC implementation would ignore that syntax-bit
14458         flag and return REG_ERANGE unconditionally.
14459         This change makes it honor that flag.
14460         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
14461         Make two pointer parameters "const".
14462         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
14463         (parse_bracket_exp): Update caller.
14464
14465         regex.m4: correct the reversed range endpoint ([b-a]) test
14466         * m4/regex.m4: When requiring that [b-a] evoke failure,
14467         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
14468         test pass once again for x86-based systems.
14469
14470 2010-03-19  Bruno Haible  <bruno@clisp.org>
14471
14472         scandir: Fix link error on Solaris 8.
14473         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
14474         macros.
14475
14476 2010-03-19  Bruno Haible  <bruno@clisp.org>
14477
14478         getusershell: Fix documentation.
14479         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
14480         module.
14481         * doc/glibc-functions/setusershell.texi: Likewise.
14482
14483         getusershell: Provide declaration, missing on Solaris 9.
14484         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
14485         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
14486         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
14487         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
14488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14489         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
14490         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
14491         HAVE_GETUSERSHELL.
14492         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
14493
14494 2010-03-19  Bruno Haible  <bruno@clisp.org>
14495
14496         wctype: Provide iswblank function.
14497         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
14498         exists and is fine.
14499         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
14500         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
14501         * tests/test-wctype.c (main): Re-enable the iswblank tests.
14502         * doc/posix-functions/iswblank.texi: Update.
14503
14504 2010-03-19  Bruno Haible  <bruno@clisp.org>
14505
14506         Tests of module 'pty' in C++ mode.
14507         * modules/pty-tests: New file.
14508         * tests/test-pty-c++.cc: New file.
14509         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14510
14511 2010-03-19  Eric Blake  <eblake@redhat.com>
14512
14513         logb: fix documentation
14514         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
14515         1.5 declaration bug.
14516
14517         forkpty, openpty: prefer glibc's const-safe prototype
14518         * lib/forkpty.c (rpl_forkpty): New file.
14519         * lib/openpty.c (rpl_openpty): Likewise.
14520         * modules/forkpty (Files): Distribute it.
14521         * modules/openpty (Files): Likewise.
14522         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
14523         check...
14524         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
14525         replacement for for non-const BSD signature.
14526         * modules/pty (Makefile.am): Substitute witnesses.
14527         * lib/pty.in.h (forkpty, openpty): Declare replacements.
14528         * tests/test-forkpty.c: Update signature check.
14529         * tests/test-openpty.c: Likewise.
14530         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
14531         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14532
14533         forkpty, openpty: split functions into new modules
14534         * modules/pty (Makefile.am): Substitute new witnesses.
14535         (Libraries): Move library detection...
14536         * modules/forkpty: ...into new module.
14537         * modules/openpty: Another new module.
14538         * modules/pty-tests: Rename and split...
14539         * modules/forkpty-tests: ...to this...
14540         * modules/openpty-tests: ...and this.
14541         * tests/test-pty.c: Rename and split...
14542         * tests/test-forkpty.c: ...to this...
14543         * tests/test-openpty.c: ...and this.
14544         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
14545         (gl_PTY): Split library searching...
14546         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
14547         (gl_FORKPTY, gl_OPENPTY): New macros.
14548         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
14549         * NEWS: Mention the split.
14550         * MODULES.html.sh (Misc): Document the modules.
14551         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
14552         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14553
14554         pty: improve replacement header
14555         * lib/pty.in.h: New file.
14556         * modules/pty (Files): Ship it.
14557         (Makefile.am): Always build replacement.
14558         * m4/pty.m4: Rename...
14559         * m4/pty_h.m4: ...to this.
14560         (gl_PTY): Modernize setting of witness macros; update check of
14561         forkpty to take proper advantage of cache.
14562         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
14563
14564         getopt: avoid compiler warning
14565         * lib/getopt.c (attribute_hidden): Remove unused macro.
14566
14567 2010-03-18  Bruno Haible  <bruno@clisp.org>
14568
14569         Fix link errors on Solaris 8.
14570         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
14571         * modules/search-tests (test_search_c___LDADD): Likewise.
14572         * modules/signal-tests (test_signal_c___LDADD): Likewise.
14573         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
14574         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
14575         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
14576         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
14577         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
14578         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
14579
14580 2010-03-18  Bruno Haible  <bruno@clisp.org>
14581
14582         Fix bug introduced on 2010-03-14.
14583         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
14584         (gl_SPAWN_H): Require it.
14585         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
14586         Reported by Simon Josefsson.
14587
14588 2010-03-18  Bruno Haible  <bruno@clisp.org>
14589
14590         Fix typo introduced on 2009-12-31.
14591         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
14592         posix_spawn_file_actions_adddup2.
14593
14594 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
14595         and Eric Blake  <eblake@redhat.com>
14596
14597         test-vc-list-files-git: make more robust
14598         * tests/test-vc-list-files-git.sh: Unset problematic environment
14599         variables.  Chain commands together.
14600
14601 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
14602
14603         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
14604         `AC_CHECK_DECL' invocation.
14605
14606 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
14607
14608         * lib/inttostr.c (inttostr): Make sure the invocation of verify
14609         appears before executable statements. Suggested by Petr Sumbera
14610         <Petr.Sumbera@Sun.COM>.
14611
14612 2010-03-14  Bruno Haible  <bruno@clisp.org>
14613
14614         * tests/test-flock.c (test_exclusive): Comment out a test that causes
14615         portability problems. Instead use a simpler test.
14616         (main): Check that invalid arguments are rejected only on Linux.
14617
14618 2010-03-14  Bruno Haible  <bruno@clisp.org>
14619
14620         Fix bug introduced on 2009-12-31.
14621         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
14622         gl_PREREQ_SYS_H_WINSOCK2 always.
14623         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
14624         SYS_SOCKET_H variable.
14625         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
14626         Update comments.
14627         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
14628         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
14629         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14630         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14631         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14632
14633 2010-03-14  Bruno Haible  <bruno@clisp.org>
14634
14635         Fix values returned by sinl, cosl.
14636         * lib/trigl.h: Add specification comments.
14637         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
14638         that combines the values from the precomputed table with the values of
14639         the Chebyshev polynomials.
14640
14641 2010-03-14  Bruno Haible  <bruno@clisp.org>
14642
14643         Fix compilation error when modules 'posix_spawn[p]' are not used.
14644         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
14645         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
14646
14647 2010-03-14  Bruno Haible  <bruno@clisp.org>
14648
14649         Fix compilation error on mingw when module 'time_r' is not used.
14650         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
14651         is 1.
14652         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
14653         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14654         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
14655         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
14656
14657 2010-03-14  Bruno Haible  <bruno@clisp.org>
14658
14659         Fix compilation error with Sun C.
14660         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
14661         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
14662         instead of GCC specific ULONG_LONG_MAX.
14663         * lib/xstrtoll.c: Likewise.
14664         * lib/xstrtoull.c: Likewise.
14665
14666 2010-03-13  Bruno Haible  <bruno@clisp.org>
14667
14668         Allow the user to disable C++ code and tests.
14669         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
14670         (gl_PROG_ANSI_CXX): Require it.
14671
14672 2010-03-13  Bruno Haible  <bruno@clisp.org>
14673
14674         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
14675         cases.
14676
14677 2010-03-13  Bruno Haible  <bruno@clisp.org>
14678
14679         Test that gnulib does not break the standard C++ headers.
14680         * tests/test-locale-c++2.cc: New file.
14681         * modules/locale-tests (Files): Add it.
14682         (Makefile.am): Compile it for test-locale-c++.
14683         * tests/test-math-c++2.cc: New file.
14684         * modules/math-tests (Files): Add it.
14685         (Makefile.am): Compile it for test-math-c++.
14686         * tests/test-signal-c++2.cc: New file.
14687         * modules/signal-tests (Files): Add it.
14688         (Makefile.am): Compile it for test-signal-c++.
14689         * tests/test-stdio-c++2.cc: New file.
14690         * modules/stdio-tests (Files): Add it.
14691         (Makefile.am): Compile it for test-stdio-c++.
14692         * tests/test-stdlib-c++2.cc: New file.
14693         * modules/stdlib-tests (Files): Add it.
14694         (Makefile.am): Compile it for test-stdlib-c++.
14695         * tests/test-string-c++2.cc: New file.
14696         * modules/string-tests (Files): Add it.
14697         (Makefile.am): Compile it for test-string-c++.
14698         * tests/test-time-c++2.cc: New file.
14699         * modules/time-tests (Files): Add it.
14700         (Makefile.am): Compile it for test-time-c++.
14701         Reported by John W. Eaton <jwe@gnu.org>.
14702
14703 2010-03-13  Bruno Haible  <bruno@clisp.org>
14704
14705         * gnulib-tool (func_usage): Clarify which options are available for
14706         --create-testdir and --create-megatestdir.
14707
14708 2010-03-13  Bruno Haible  <bruno@clisp.org>
14709
14710         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14711         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14712         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14713         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14714         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14715         when appropriate.
14716         Reported by Jim Meyering.
14717
14718 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14719
14720         * gnulib-tool (func_import): Explain origin of code.
14721
14722 2010-03-12  Bruno Haible  <bruno@clisp.org>
14723
14724         Fix problem with automake's definition of CXXLINK.
14725         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14726         Reported by Simon Josefsson and Ludovic Courtès.
14727
14728 2010-03-12  Bruno Haible  <bruno@clisp.org>
14729
14730         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14731         stable releases.
14732
14733 2010-03-11  Bruno Haible  <bruno@clisp.org>
14734
14735         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14736         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14737         whether the system provides one variant or multiple variants of the
14738         function.
14739         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14740         C++ compilers.
14741         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14742         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14743         Reported by Jim Meyering.
14744
14745 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14746
14747         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14748
14749 2010-03-08  Bruno Haible  <bruno@clisp.org>
14750
14751         gnulib-tool: Add support for --libtool in --create-testdir.
14752         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14753         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14754
14755 2010-03-08  Eric Blake  <eblake@redhat.com>
14756
14757         gnulib-tool.texi: mention possibility of git submodule
14758         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14759         submodules.
14760         * doc/.gitignore: Ignore another generated file.
14761
14762 2010-03-08  Karl Berry  <karl@gnu.org>
14763
14764         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14765         of committing gnulib files while skipping others.
14766
14767 2010-03-07  Bruno Haible  <bruno@clisp.org>
14768
14769         Tests of module 'wctype' in C++ mode.
14770         * tests/test-wctype-c++.cc: New file.
14771         * modules/wctype-tests (Files): Add it and tests/signature.h.
14772         (Depends-on): Add ansi-c++-opt.
14773         (Makefile.am): Arrange to compile and run test-wctype-c++.
14774
14775         Tests of module 'wchar' in C++ mode.
14776         * tests/test-wchar-c++.cc: New file.
14777         * modules/wchar-tests (Files): Add it and tests/signature.h.
14778         (Depends-on): Add ansi-c++-opt.
14779         (Makefile.am): Arrange to compile and run test-wchar-c++.
14780         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14781         gl_MODULE_INDICATOR.
14782
14783         Tests of module 'unistd' in C++ mode.
14784         * tests/test-unistd-c++.cc: New file.
14785         * modules/unistd-tests (Files): Add it and tests/signature.h.
14786         (Depends-on): Add ansi-c++-opt.
14787         (Makefile.am): Arrange to compile and run test-unistd-c++.
14788         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14789         gl_MODULE_INDICATOR.
14790
14791         Tests of module 'time' in C++ mode.
14792         * tests/test-time-c++.cc: New file.
14793         * modules/time-tests (Files): Add it and tests/signature.h.
14794         (Depends-on): Add ansi-c++-opt.
14795         (Makefile.am): Arrange to compile and run test-time-c++.
14796         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14797
14798         Tests of module 'sys_time' in C++ mode.
14799         * tests/test-sys_time-c++.cc: New file.
14800         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14801         (Depends-on): Add ansi-c++-opt.
14802         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14803         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14804         gl_MODULE_INDICATOR.
14805
14806         Tests of module 'sys_stat' in C++ mode.
14807         * tests/test-sys_stat-c++.cc: New file.
14808         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14809         (Depends-on): Add ansi-c++-opt.
14810         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14811         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14812         gl_MODULE_INDICATOR.
14813
14814         Tests of module 'sys_socket' in C++ mode.
14815         * tests/test-sys_socket-c++.cc: New file.
14816         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14817         (Depends-on): Add ansi-c++-opt.
14818         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14819         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14820         gl_MODULE_INDICATOR.
14821
14822         Tests of module 'sys_select' in C++ mode.
14823         * tests/test-sys_select-c++.cc: New file.
14824         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14825         (Depends-on): Add ansi-c++-opt.
14826         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14827         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14828         gl_MODULE_INDICATOR.
14829
14830         Tests of module 'sys_ioctl' in C++ mode.
14831         * tests/test-sys_ioctl-c++.cc: New file.
14832         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14833         (Depends-on): Add ansi-c++-opt.
14834         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14835         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14836         gl_MODULE_INDICATOR.
14837
14838         Tests of module 'string' in C++ mode.
14839         * tests/test-string-c++.cc: New file.
14840         * modules/string-tests (Files): Add it and tests/signature.h.
14841         (Depends-on): Add ansi-c++-opt.
14842         (Makefile.am): Arrange to compile and run test-string-c++.
14843         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14844         gl_MODULE_INDICATOR.
14845
14846         Tests of module 'stdlib' in C++ mode.
14847         * tests/test-stdlib-c++.cc: New file.
14848         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14849         (Depends-on): Add ansi-c++-opt.
14850         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14851         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14852         gl_MODULE_INDICATOR.
14853
14854         Tests of module 'stdio' in C++ mode.
14855         * tests/test-stdio-c++.cc: New file.
14856         * modules/stdio-tests (Files): Add it and tests/signature.h.
14857         (Depends-on): Add ansi-c++-opt.
14858         (Makefile.am): Arrange to compile and run test-stdio-c++.
14859         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14860         gl_MODULE_INDICATOR.
14861
14862         Tests of module 'spawn' in C++ mode.
14863         * tests/test-spawn-c++.cc: New file.
14864         * modules/spawn-tests (Files): Add it and tests/signature.h.
14865         (Depends-on): Add ansi-c++-opt.
14866         (Makefile.am): Arrange to compile and run test-spawn-c++.
14867         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14868         gl_MODULE_INDICATOR.
14869
14870         Tests of module 'signal' in C++ mode.
14871         * tests/test-signal-c++.cc: New file.
14872         * modules/signal-tests (Files): Add it and tests/signature.h.
14873         (Depends-on): Add ansi-c++-opt.
14874         (Makefile.am): Arrange to compile and run test-signal-c++.
14875         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14876         gl_MODULE_INDICATOR.
14877
14878         Tests of module 'search' in C++ mode.
14879         * tests/test-search-c++.cc: New file.
14880         * modules/search-tests (Files): Add it and tests/signature.h.
14881         (Depends-on): Add ansi-c++-opt.
14882         (Makefile.am): Arrange to compile and run test-search-c++.
14883         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14884         gl_MODULE_INDICATOR.
14885
14886         Tests of module 'math' in C++ mode.
14887         * tests/test-math-c++.cc: New file.
14888         * modules/math-tests (Files): Add it and tests/signature.h.
14889         (Depends-on): Add ansi-c++-opt.
14890         (Makefile.am): Arrange to compile and run test-math-c++.
14891         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14892
14893         Tests of module 'locale' in C++ mode.
14894         * tests/test-locale-c++.cc: New file.
14895         * modules/locale-tests (Files): Add it and tests/signature.h.
14896         (Depends-on): Add ansi-c++-opt.
14897         (Makefile.am): Arrange to compile and run test-locale-c++.
14898         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14899         gl_MODULE_INDICATOR.
14900
14901         Tests of module 'langinfo' in C++ mode.
14902         * tests/test-langinfo-c++.cc: New file.
14903         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14904         (Depends-on): Add ansi-c++-opt.
14905         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14906         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14907         gl_MODULE_INDICATOR.
14908
14909         Tests of module 'iconv-h' in C++ mode.
14910         * tests/test-iconv-h-c++.cc: New file.
14911         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14912         (Depends-on): Add ansi-c++-opt.
14913         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14914
14915         Tests of module 'glob' in C++ mode.
14916         * tests/test-glob-c++.cc: New file.
14917         * modules/glob-tests (Files): Add it.
14918         (Depends-on): Add ansi-c++-opt.
14919         (Makefile.am): Arrange to compile and run test-glob-c++.
14920
14921         Tests of module 'fcntl-h' in C++ mode.
14922         * tests/test-fcntl-h-c++.cc: New file.
14923         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
14924         (Depends-on): Add ansi-c++-opt.
14925         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
14926         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
14927         gl_MODULE_INDICATOR.
14928
14929         Tests of module 'dirent' in C++ mode.
14930         * tests/test-dirent-c++.cc: New file.
14931         * modules/dirent-tests (Files): Add it and tests/signature.h.
14932         (Depends-on): Add ansi-c++-opt.
14933         (Makefile.am): Arrange to compile and run test-dirent-c++.
14934         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14935         gl_MODULE_INDICATOR.
14936
14937         New module 'ansi-c++-opt'.
14938         * modules/ansi-c++-opt: New file.
14939         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
14940
14941         Document C++ namespace mode.
14942         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
14943
14944         wctype: Avoid #define replacements in C++ mode.
14945         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
14946         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
14947         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
14948         In C++, define a namespaced alias symbol.
14949         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
14950         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
14951         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
14952         rule.
14953
14954         wchar: Avoid #define replacements in C++ mode.
14955         * lib/wchar.in.h: Include c++defs.h.
14956         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
14957         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
14958         symbol.
14959         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
14960         * modules/wchar (Depends-on): Add c++defs.
14961         (Makefile.am): Update wchar.h rule.
14962
14963         unistd: Avoid #define replacements in C++ mode.
14964         * lib/unistd.in.h: Include c++defs.h.
14965         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
14966         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
14967         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
14968         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
14969         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
14970         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
14971         symbol.
14972         (environ): Update.
14973         * modules/unistd (Depends-on): Add c++defs.
14974         (Makefile.am): Update unistd.h rule.
14975
14976         time: Avoid #define replacements in C++ mode.
14977         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
14978         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
14979         define a namespaced alias symbol.
14980         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
14981         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
14982         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
14983         * modules/time (Depends-on): Add c++defs, warn-on-use.
14984         (Makefile.am): Update time.h rule.
14985         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14986         * modules/nanosleep (configure.ac): Likewise.
14987         * modules/strptime (configure.ac): Likewise.
14988         * modules/timegm (configure.ac): Likewise.
14989
14990         sys_time: Avoid #define replacements in C++ mode.
14991         * lib/sys_time.in.h: Include c++defs.h.
14992         (gettimeofday): In C++, define a namespaced alias symbol.
14993         * modules/sys_time (Depends-on): Add c++defs.
14994         (Makefile.am): Update sys/time.h rule.
14995
14996         sys_stat: Avoid #define replacements in C++ mode.
14997         * lib/sys_stat.in.h: Include c++defs.h.
14998         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
14999         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
15000         namespaced alias symbol.
15001         In C++, define a namespaced alias symbol.
15002         * modules/sys_stat (Depends-on): Add c++defs.
15003         (Makefile.am): Update sys/stat.h rule.
15004
15005         sys_socket: Avoid #define replacements in C++ mode.
15006         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
15007         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
15008         definitions also when the system has a <sys/socket.h>.
15009         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15010         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
15011         In C++, define a namespaced alias symbol.
15012         * modules/sys_socket (Depends-on): Add c++defs.
15013         (Makefile.am): Update sys/socket.h rule.
15014
15015         sys_select: Avoid #define replacements in C++ mode.
15016         * lib/sys_select.in.h: Include c++defs.h. Enable the function
15017         definitions also when the system has a <sys/select.h>.
15018         (select): In C++, define a namespaced alias symbol.
15019         * modules/sys_select (Depends-on): Add c++defs.
15020         (Makefile.am): Update sys/select.h rule.
15021
15022         sys_ioctl: Avoid #define replacements in C++ mode.
15023         * lib/sys_ioctl.in.h: Include c++defs.h.
15024         (ioctl): In C++, define a namespaced alias symbol.
15025         * modules/sys_ioctl (Depends-on): Add c++defs.
15026         (Makefile.am): Update sys/ioctl.h rule.
15027
15028         string: Avoid #define replacements in C++ mode.
15029         * lib/string.in.h: Include c++defs.h.
15030         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
15031         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15032         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15033         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
15034         strsignal, strverscmp): In C++, define a namespaced alias symbol.
15035         * modules/string (Depends-on): Add c++defs.
15036         (Makefile.am): Update string.h rule.
15037
15038         stdlib: Avoid #define replacements in C++ mode.
15039         * lib/stdlib.in.h: Include c++defs.h.
15040         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
15041         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
15042         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
15043         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
15044         symbol.
15045         * modules/stdlib (Depends-on): Add c++defs.
15046         (Makefile.am): Update stdlib.h rule.
15047
15048         stdio: Avoid #define replacements in C++ mode.
15049         * lib/stdio.in.h: Include c++defs.h.
15050         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
15051         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
15052         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
15053         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
15054         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
15055         namespaced alias symbol.
15056         * modules/stdio (Depends-on): Add c++defs.
15057         (Makefile.am): Update stdio.h rule.
15058
15059         spawn: Avoid #define replacements in C++ mode.
15060         * lib/spawn.in.h: Include c++defs.h.
15061         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15062         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15063         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15064         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15065         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15066         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15067         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15068         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15069         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15070         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15071         In C++, define a namespaced alias symbol.
15072         * modules/spawn (Depends-on): Add c++defs.
15073         (Makefile.am): Update spawn.h rule.
15074
15075         signal: Avoid #define replacements in C++ mode.
15076         * lib/signal.in.h: Include c++defs.h.
15077         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15078         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
15079         namespaced alias symbol.
15080         * modules/signal (Depends-on): Add c++defs.
15081         (Makefile.am): Update signal.h rule.
15082
15083         search: Avoid #define replacements in C++ mode.
15084         * lib/search.in.h: Include c++defs.h.
15085         (_gl_search_compar_fn, _gl_search_action_fn): New types.
15086         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
15087         symbol.
15088         * modules/search (Depends-on): Add c++defs.
15089         (Makefile.am): Update search.h rule.
15090
15091         math: Avoid #define replacements in C++ mode.
15092         * lib/math.in.h: Include c++defs.h.
15093         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
15094         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
15095         trunc, truncl): In C++, define a namespaced alias symbol.
15096         * modules/math (Depends-on): Add c++defs.
15097         (Makefile.am): Update math.h rule.
15098
15099         locale: Avoid #define replacements in C++ mode.
15100         * lib/locale.in.h: Include c++defs.h.
15101         (duplocale): In C++, define a namespaced alias symbol.
15102         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
15103         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
15104         * modules/locale (Depends-on): Add c++defs.
15105         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
15106
15107         langinfo: Avoid #define replacements in C++ mode.
15108         * lib/langinfo.in.h: Include c++defs.h.
15109         (nl_langinfo): In C++, define a namespaced alias symbol.
15110         * modules/langinfo (Depends-on): Add c++defs.
15111         (Makefile.am): Update langinfo.h rule.
15112
15113         iconv-h: Avoid #define replacements in C++ mode.
15114         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
15115         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
15116         symbol.
15117         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
15118         whenever iconv is present.
15119         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
15120         (Makefile.am): Update iconv.h rule.
15121
15122         glob: Avoid #define replacements in C++ mode.
15123         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
15124         (_gl_glob_errfunc_fn): New type.
15125         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
15126         symbol.
15127         * modules/glob (Depends-on): Add c++defs, warn-on-use.
15128         (Makefile.am): Update glob.h rule.
15129
15130         fcntl-h: Avoid #define replacements in C++ mode.
15131         * lib/fcntl.in.h: Include c++defs.h.
15132         (fcntl, open, openat): In C++, define a namespaced alias symbol.
15133         * modules/fcntl-h (Depends-on): Add c++defs.
15134         (Makefile.am): Update fcntl.h rule.
15135
15136         dirent: Avoid #define replacements in C++ mode.
15137         * lib/dirent.in.h: Include c++defs.h.
15138         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
15139         namespaced alias symbol.
15140         (dirfd): Update declaration.
15141         * modules/dirent (Depends-on): Add c++defs.
15142         (Makefile.am): Update dirent.h rule.
15143
15144         ctype: Make it usable in C++ code.
15145         * lib/ctype.in.h: Include c++defs.h.
15146         (isblank): Declare as extern "C".
15147         * modules/ctype (Depends-on): Add c++defs.
15148         (Makefile.am): Update ctype.h rule.
15149
15150         New module 'c++defs'.
15151         * modules/c++defs: New file.
15152         * build-aux/c++defs.h: New file.
15153         Reported by John W. Eaton <jwe@gnu.org>.
15154
15155 2010-03-07  Bruno Haible  <bruno@clisp.org>
15156
15157         logb: Provide missing declaration for Cygwin.
15158         * lib/math.in.h (logb): New declaration.
15159         * m4/logb.m4: New file.
15160         * modules/logb (Files): Add m4/logb.m4.
15161         (Depends-on): Add math.
15162         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
15163         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
15164         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
15165         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
15166         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
15167
15168 2010-03-07  Bruno Haible  <bruno@clisp.org>
15169
15170         Fix test-cond link error.
15171         * tests/test-cond.c: Include <stdio.h>.
15172
15173 2010-03-07  Bruno Haible  <bruno@clisp.org>
15174
15175         Fix test-dirent-safer link error.
15176         * modules/dirent-safer-tests (Makefile.am): Define
15177         test_dirent_safer_LDADD.
15178
15179 2010-03-07  Bruno Haible  <bruno@clisp.org>
15180
15181         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
15182         among default module list.
15183
15184 2010-03-07  Bruno Haible  <bruno@clisp.org>
15185
15186         Fix link error on platforms with GNU libiconv.
15187         * modules/unistr/u8-strcoll-tests (Makefile): Define
15188         test_u8_strcoll_LDADD.
15189         * modules/unistr/u16-strcoll-tests (Makefile): Define
15190         test_u16_strcoll_LDADD.
15191         * modules/unistr/u32-strcoll-tests (Makefile): Define
15192         test_u32_strcoll_LDADD.
15193
15194 2010-03-07  Bruno Haible  <bruno@clisp.org>
15195
15196         Use POSIX declarations for socket functions.
15197         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
15198         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
15199         rpl_sendto): Change declaration to match POSIX.
15200         * lib/connect.c (rpl_connect): Likewise.
15201         * lib/accept.c (rpl_accept): Likewise.
15202         * lib/bind.c (rpl_bind): Likewise.
15203         * lib/getpeername.c (rpl_getpeername): Likewise.
15204         * lib/getsockname.c (rpl_getsockname): Likewise.
15205         * lib/recv.c (rpl_recv): Likewise.
15206         * lib/send.c (rpl_send): Likewise.
15207         * lib/recvfrom.c (rpl_recvfrom): Likewise.
15208         * lib/sendto.c (rpl_sendto): Likewise.
15209
15210 2010-03-06  Bruno Haible  <bruno@clisp.org>
15211
15212         Clarify access, euidaccess, faccessat.
15213         * doc/posix-functions/faccessat.texi: Mention security problem under
15214         "Other problems", not "Portability problems".
15215         * doc/posix-functions/access.texi: Likewise. Mention a related security
15216         problem.
15217         * doc/glibc-functions/euidaccess.texi: Mention security problems.
15218         * lib/euidaccess.c: Add comments about platforms.
15219         * lib/unistd.in.h (access, euidaccess): Add warnings.
15220
15221 2010-03-07  Bruno Haible  <bruno@clisp.org>
15222
15223         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
15224         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
15225         (POSIX_SPAWN_SETSCHEDULER): Likewise.
15226         (POSIX_SPAWN_USEVFORK): Define in a way that works when
15227         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15228         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
15229         declare when POSIX_SPAWN_SETSCHEDULER is zero.
15230         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
15231         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
15232         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
15233         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
15234         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
15235         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
15236         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
15237         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
15238         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
15239         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
15240         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
15241         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
15242         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
15243         Likewise.
15244         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
15245         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
15246         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
15247         Likewise.
15248         * tests/test-spawn.c (main): Make it work when
15249         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15250
15251 2010-03-07  Bruno Haible  <bruno@clisp.org>
15252
15253         Fix incorrect Makefile.am generation in German locale.
15254         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15255         Execute sed command with character range in C locale.
15256
15257 2010-03-06  Bruno Haible  <bruno@clisp.org>
15258
15259         Tests for module 'iconv-h'.
15260         * modules/iconv-h-tests: New file.
15261         * tests/test-iconv-h.c: New file.
15262
15263         New module 'iconv-h'.
15264         * modules/iconv-h: New file.
15265         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
15266         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
15267         (configure.ac): Remove gl_ICONV_H.
15268         (Makefile.am): Remove rule for iconv.h.
15269
15270 2010-03-06  Bruno Haible  <bruno@clisp.org>
15271
15272         More consistent naming of *.m4 files.
15273         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
15274         * modules/wctype (Files): Update.
15275
15276         More consistent naming of *.m4 files.
15277         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
15278         * modules/wchar (Files): Update.
15279
15280 2010-03-06  Jim Meyering  <meyering@redhat.com>
15281
15282         euidaccess: relax license to LGPLv2+
15283         * modules/euidaccess (License): Relax to LGPLv2+.
15284
15285 2010-03-06  Bruno Haible  <bruno@clisp.org>
15286
15287         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
15288         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
15289         (Makefile.am): Augment lib_SOURCES instead.
15290
15291 2010-03-04  Jim Meyering  <meyering@redhat.com>
15292
15293         utime: remove obsolete module
15294         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
15295         unnecessary for years, and has been marked as obsolete for 10 months.
15296         * modules/utime: Remove file.
15297         * lib/utime.c: Remove file.
15298         * m4/utime.m4: Remove file.
15299         * m4/utimes-null.m4: Remove file.
15300         * doc/posix-functions/utime.texi (utime): Remove reference to
15301         the module.  Move the sole "fixed by gnulib" item into the
15302         "problems not fixed by Gnulib" list.
15303         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
15304
15305 2010-03-05  Simon Josefsson  <simon@josefsson.org>
15306
15307         * modules/exit (License): Relax license to LGPLv2+.
15308         (Status): Mark as obsolete.
15309         * NEWS: Mention deprecated 'exit' module.
15310         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
15311         of now obsolete 'exit'.
15312
15313 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15314
15315         fts-lgpl: remove unused module
15316         * modules/fts-lgpl: Remove.
15317         * MODULES.html.sh (func_all_modules): Adjust.
15318         * check-module (find_included_lib_files): Adjust.
15319         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
15320
15321 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
15322
15323         copy-acl: enhance Solaris ACL error handling
15324         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
15325         * lib/set-mode-acl.c (qset_acl): Likewise.
15326
15327 2010-03-02  Bruno Haible  <bruno@clisp.org>
15328
15329         spawn: Don't override the system defined values on FreeBSD 8.
15330         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
15331         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
15332         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
15333         if HAVE_POSIX_SPAWN is 1.
15334         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
15335
15336 2010-03-01  Bruno Haible  <bruno@clisp.org>
15337
15338         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
15339         regarding Automake.
15340
15341 2010-02-25  Bruno Haible  <bruno@clisp.org>
15342
15343         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
15344         * gnulib-tool: Define 'echo' as a function only before the ksh alias
15345         setting, not afterwards.
15346         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
15347
15348 2010-02-24  Eric Blake  <eblake@redhat.com>
15349
15350         bootstrap, git-version-gen: use timestamp
15351         * build-aux/git-version-gen (scriptversion): Force UTC.
15352         * build-aux/bootstrap (scriptversion): New variable.
15353
15354         bootstrap: allow older git
15355         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
15356         older than 1.6.4.  Requested by the libvirt project.
15357
15358 2010-02-23  Eric Blake  <eblake@redhat.com>
15359
15360         warn-on-use: work with old autoconf
15361         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
15362         AS_VAR semantics of autoconf 2.60.
15363         Reported by Bruno Haible.
15364
15365         bootstrap: improve some comments
15366         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
15367         clarification comments.
15368
15369         gettimeofday: provide correct function
15370         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
15371         when replacement is declared, otherwise provide gettimeofday.
15372         Reported by Michael Goffioul.
15373
15374 2010-02-23  Jim Meyering  <meyering@redhat.com>
15375
15376         lib-ignore: relax license to "unlimited", not LGPLv2+
15377         * modules/lib-ignore (License): Relax to "unlimited".
15378
15379 2010-02-23  Jim Meyering  <meyering@redhat.com>
15380
15381         lib-ignore: relax license to LGPLv2+
15382         * modules/lib-ignore (License): Relax to LGPLv2+.
15383
15384 2010-02-22  Eric Blake  <eblake@redhat.com>
15385
15386         lseek: avoid bash 3.2 broken pipe bug
15387         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
15388         warning from bash 3.2.
15389         Reported by Ben Pfaff, with analysis from Bruno Haible.
15390
15391         bootstrap: support non-FSF copyright holder
15392         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
15393         bootstrap.conf override of COPYRIGHT_HOLDER.
15394         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
15395
15396         bootstrap: interoperate with gettext 0.14.1
15397         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
15398
15399         bootstrap: allow for alternate submodule location
15400         * build-aux/bootstrap (gnulib_path): New variable; use instead of
15401         hardcoding submodule location.
15402         (gnulib_mk): Allow direct use of Makefile.am.
15403
15404         bootstrap: use GNULIB_SRCDIR to reduce disk usage
15405         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
15406         rather than reconfiguring where the submodule points.
15407
15408         gettimeofday: restore support for platforms that lack function
15409         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
15410         replacement if function is missing.
15411         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
15412         * modules/sys_time (Makefile.am): Substitute it.
15413         * lib/sys_time.in.h (gettimeofday): Check it.
15414         Reported by Michael Goffioul.
15415
15416 2010-02-21  Bruno Haible  <bruno@clisp.org>
15417
15418         * lib/stdio.in.h (obstack_printf): Fix typo.
15419
15420 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
15421
15422         vc-list-files: use bzr ls's -R option
15423         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
15424         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
15425
15426 2010-02-21  Jim Meyering  <meyering@redhat.com>
15427
15428         init.sh: fix EXEEXT shims to work also for names like test-prog
15429         * tests/init.sh: Re-exec a better shell, when needed.
15430         If the current shell lacks support for posix $(...), an init.sh-using
15431         test will now try to find a shell that supports that.  If EXEEXT is
15432         nonempty, we also require support for hyphen-in-alias-name and shell
15433         substitutions like ${var#glob}.  Failure to find such a shell results
15434         in a skipped test.
15435
15436 2010-02-21  Bruno Haible  <bruno@clisp.org>
15437
15438         Really work around around "broken pipe" error message from bash 3.2.
15439         * gnulib-tool (func_reset_sigpipe): Remove function.
15440         (echo): In bash 3.2, define to a function that uses printf.
15441         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
15442
15443 2010-02-20  Bruno Haible  <bruno@clisp.org>
15444
15445         Restore support for automake 1.9.6 with autoconf 2.61.
15446         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
15447         Reported by James Youngman <jay@gnu.org>.
15448
15449 2010-02-20  Bruno Haible  <bruno@clisp.org>
15450
15451         Improve *printf warning condition.
15452         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
15453         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
15454         and the function is overridden due to SIGPIPE emulation.
15455
15456 2010-02-20  Bruno Haible  <bruno@clisp.org>
15457
15458         * lib/stdio.in.h: Tweak comments.
15459
15460 2010-02-19  Bruno Haible  <bruno@clisp.org>
15461
15462         Make it easier to find modules. New gnulib-tool option '--find'.
15463         * gnulib-tool: New option --find.
15464         (func_usage): Document it.
15465         (func_sanitize_modulelist): New function, extracted from
15466         func_all_modules.
15467         (func_all_modules): Invoke it.
15468         * doc/gnulib-tool.texi (Which modules?): New node.
15469
15470 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
15471
15472         * lib/sys_select.in.h: Provide select replacement even if
15473         sys/select.h exists on a system, for Interix.
15474
15475 2010-02-18  Jim Meyering  <meyering@redhat.com>
15476
15477         init.sh: don't use $(...) just yet
15478         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
15479         to accommodate e.g., Solaris' /bin/sh.
15480
15481 2010-02-17  Bruno Haible  <bruno@clisp.org>
15482
15483         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
15484         Reported by Ludovic Courtès <ludo@gnu.org>.
15485
15486 2010-02-16  Simon Josefsson  <simon@josefsson.org>
15487
15488         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
15489         linking with -lintl.
15490
15491 2010-02-17  Simon Josefsson  <simon@josefsson.org>
15492
15493         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
15494         if not provided by the system's netdb.h.  Reported by
15495         ludo@gnu.org (Ludovic Courtès).
15496
15497 2010-02-15  Jim Meyering  <meyering@redhat.com>
15498
15499         init.sh: improve portability and efficiency
15500         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
15501         "dummy" in a for loop.
15502         Use '!', not '^' to select the complement of a character set used
15503         in a "case" statement.
15504         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
15505         Suggestions from Eric Blake.
15506
15507         init.sh: automatically accommodate programs with the .exe suffix
15508         Automatically arrange for an invocation of "prog" to execute the
15509         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
15510         may use the simpler "prog", yet still work when built on a system
15511         that requires specifying the added suffix.
15512         Do this by constructing a function named "prog" that invokes
15513         "prog.exe" for each .exe file in selected directories.
15514         * tests/init.sh (find_exe_basenames_): New function.
15515         (create_exe_shim_functions_): New function.
15516         (path_prepend_): Use it.
15517
15518         maint.mk: mark syntax-check sc_*.m rules as .PHONY
15519         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
15520         "make -t syntax-check" doesn't create a ton of sc_*.m files.
15521
15522 2010-02-14  Jim Meyering  <meyering@redhat.com>
15523
15524         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
15525         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
15526         (sc_prohibit_hash_pjw_without_use): New rule.
15527
15528         maint.mk: allow the default upload destination dir to be overridden
15529         * top/maint.mk (upload_dest_dir_): Define with a default that
15530         preserves the status quo.
15531         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
15532         Reported by Peter Simons.
15533
15534         maint.mk: prohibit inclusion of "hash.h" without_use
15535         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
15536
15537 2010-02-10  Jim Meyering  <meyering@redhat.com>
15538
15539         maint.mk: prohibit inclusion of "ignore-value.h" without_use
15540         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
15541
15542 2010-02-09  Eric Blake  <ebb9@byu.net>
15543         and Bruno Haible  <bruno@clisp.org>
15544
15545         obstack-printf-posix: ensure declaration
15546         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
15547         extracted from gl_FUNC_OBSTACK_PRINTF.
15548         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
15549         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15550         Likewise.
15551         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
15552         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
15553         0.
15554
15555 2010-02-08  Bruno Haible  <bruno@clisp.org>
15556
15557         gnulib-tool: Fix typo in 2010-02-07 commit.
15558         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
15559         Reported by Eric Blake.
15560
15561 2010-02-07  Bruno Haible  <bruno@clisp.org>
15562
15563         gnulib-tool: Fix up caching patches.
15564         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
15565         option --no-cache. Use associative arrays when supported by the shell.
15566         (sed_comments): New variable.
15567         (modcache): Renamed from do_cache.
15568         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
15569         abbreviate unnecessarily.
15570         (have_associative): New variable.
15571         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
15572         way also for ksh and zsh.
15573         (func_init_sed_convert_to_cache_statements): New function, extracted
15574         from func_cache_lookup_module. Add support for associative arrays.
15575         Don't set the c_MODULE_cached variable here. Ignore all lines before
15576         the first field header. Remove only the final newline, not all trailing
15577         newlines. Support empty fields correctly. Limit the use of 'eval' to
15578         assignments.
15579         (func_get_description, func_get_status, func_get_notice,
15580         func_get_applicability, func_get_filelist, func_get_dependencies,
15581         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
15582         func_get_automake_snippet, func_get_include_directive,
15583         func_get_link_directive, func_get_license, func_get_maintainer):
15584         Update documentation. List the unoptimized code first. Add support for
15585         associative arrays. Limit the use of 'eval' to assignments.
15586         (func_get_applicability): Undo stylistic pessimisations.
15587         (func_get_automake_snippet, func_get_include_directive): Reduce code
15588         duplication.
15589         (func_modules_transitive_closure, func_modules_add_dummy,
15590         func_modules_notice, func_modules_to_filelist, func_add_file,
15591         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
15592         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
15593         func_create_testdir, func_create_megatestdir): Update documentation.
15594
15595 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15596
15597         * gnulib-tool (func_cache_lookup_module): Store the module name
15598         belonging to the cache variable; error out if two different
15599         module names map to the same cache variable name.
15600
15601 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15602
15603         gnulib-tool: Make caching optional.
15604         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
15605         Update matching short versions of --no-changelog.
15606         (func_usage): Update.
15607         (sed_extract_cache_prog): Renamed from ...
15608         (sed_extract_prog): ... this; revert to old extraction script.
15609         (func_get_description, func_get_status)
15610         (func_get_notice, func_get_applicability, func_get_filelist)
15611         (func_get_dependencies, func_get_autoconf_early_snippet)
15612         (func_get_autoconf_snippet, func_get_automake_snippet)
15613         (func_get_include_directive, func_get_link_directive)
15614         (func_get_license, func_get_maintainer): If $do_cache is false,
15615         use old, non-caching extraction scripts.
15616         Suggestion by Bruno Haible.
15617
15618 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15619
15620         gnulib-tool: cache module metainformation.
15621         * gnulib-tool (sed_extract_prog): Match newline before each
15622         header, and rewrite header to a shell variable suffix.
15623         (func_cache_var, func_cache_lookup_module): New functions,
15624         to turn a module name into a cache variable prefix, and to
15625         look up and cache module metainformation.
15626         (func_get_description, func_get_status)
15627         (func_get_notice, func_get_applicability, func_get_filelist)
15628         (func_get_dependencies, func_get_autoconf_early_snippet)
15629         (func_get_autoconf_snippet, func_get_automake_snippet)
15630         (func_get_include_directive, func_get_link_directive)
15631         (func_get_license, func_get_maintainer): Use
15632         func_cache_lookup_module.
15633
15634 2010-02-07  Bruno Haible  <bruno@clisp.org>
15635
15636         fnctl: Fix missing dependency.
15637         * modules/fcntl (Depends-on): Add getdtablesize.
15638         Reported by John W. Eaton <jwe@gnu.org>.
15639
15640 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15641
15642         Argp: fix recognition of short alias options.
15643
15644         * lib/argp-parse.c (convert_options): Fix improper use of
15645         `|' between character values.
15646         * tests/test-argp.c (group1_option): New alias option
15647         --read (-r).
15648         (group1_parser): Special handling for 'r'.
15649         (test15): New test case.
15650         (test_fun): Add test15.
15651         * tests/test-argp-2.sh: Update expected --help and --usage
15652         outputs.
15653
15654 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15655
15656         * tests/test-argp.c: Fix indentation.
15657
15658 2010-02-04  Eric Blake  <ebb9@byu.net>
15659
15660         gettimeofday: expose type of second argument
15661         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
15662         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
15663         * tests/test-gettimeofday.c: Use it to silence warning.
15664         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
15665         the issue.
15666
15667 2010-02-03  Jim Meyering  <meyering@redhat.com>
15668
15669         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
15670         * lib/regcomp.c (TYPE_SIGNED): Define.
15671         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
15672
15673         regcomp.c: avoid a new -Wshadow warning
15674         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
15675
15676 2010-02-01  Jim Meyering  <meyering@redhat.com>
15677
15678         removing useless parentheses in cpp #define directives
15679         For motivation, see commit c0221df4, "define STREQ(a,b)
15680         consistently, removing useless parentheses"
15681         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
15682         * lib/mountlist.c (MNT_IGNORE): Likewise.
15683         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
15684
15685 2010-02-01  Eric Blake  <ebb9@byu.net>
15686
15687         sys_time: use link-warning
15688         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15689         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15690         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15691         * modules/sys_time (Depends-on): Add warn-on-use.
15692         (Makefile.am): Always build replacement.
15693         (configure.ac): Update substitutions.
15694         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15695         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15696         bother with SYS_TIME_H.
15697         * modules/gettimeofday (configure.ac): Declare indicator.
15698         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15699         in use.
15700
15701         closein-tests: silence compiler warning
15702         * tests/test-closein.c (main): Ignore fread result.
15703         * modules/closein-tests (Depends-on): Add ignore-value.
15704
15705         tests: silence warning about system return
15706         * tests/test-areadlink-with-size.c (main): Ignore system result.
15707         * tests/test-areadlink.c (main): Likewise.
15708         * tests/test-areadlinkat-with-size.c (main): Likewise.
15709         * tests/test-areadlinkat.c (main): Likewise.
15710         * tests/test-canonicalize-lgpl.c (main): Likewise.
15711         * tests/test-canonicalize.c (main): Likewise.
15712         * tests/test-chown.c (main): Likewise.
15713         * tests/test-fchownat.c (main): Likewise.
15714         * tests/test-fdutimensat.c (main): Likewise.
15715         * tests/test-fstatat.c (main): Likewise.
15716         * tests/test-futimens.c (main): Likewise.
15717         * tests/test-lchown.c (main): Likewise.
15718         * tests/test-link.c (main): Likewise.
15719         * tests/test-linkat.c (main): Likewise.
15720         * tests/test-lstat.c (main): Likewise.
15721         * tests/test-mkdir.c (main): Likewise.
15722         * tests/test-mkdirat.c (main): Likewise.
15723         * tests/test-mkfifo.c (main): Likewise.
15724         * tests/test-mkfifoat.c (main): Likewise.
15725         * tests/test-mknod.c (main): Likewise.
15726         * tests/test-readlink.c (main): Likewise.
15727         * tests/test-remove.c (main): Likewise.
15728         * tests/test-rename.c (main): Likewise.
15729         * tests/test-renameat.c (main): Likewise.
15730         * tests/test-rmdir.c (main): Likewise.
15731         * tests/test-symlink.c (main): Likewise.
15732         * tests/test-symlinkat.c (main): Likewise.
15733         * tests/test-unlink.c (main): Likewise.
15734         * tests/test-unlinkat.c (main): Likewise.
15735         * tests/test-utimens.c (main): Likewise.
15736         * tests/test-utimensat.c (main): Likewise.
15737         * modules/areadlink-tests (Depends-on): Add ignore-value.
15738         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15739         * modules/areadlinkat-tests (Depends-on): Likewise.
15740         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15741         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15742         * modules/canonicalize-tests (Depends-on): Likewise.
15743         * modules/chown-tests (Depends-on): Likewise.
15744         * modules/fdutimensat-tests (Depends-on): Likewise.
15745         * modules/futimens-tests (Depends-on): Likewise.
15746         * modules/lchown-tests (Depends-on): Likewise.
15747         * modules/link-tests (Depends-on): Likewise.
15748         * modules/linkat-tests (Depends-on): Likewise.
15749         * modules/lstat-tests (Depends-on): Likewise.
15750         * modules/mkdir-tests (Depends-on): Likewise.
15751         * modules/mkfifo-tests (Depends-on): Likewise.
15752         * modules/mkfifoat-tests (Depends-on): Likewise.
15753         * modules/mknod-tests (Depends-on): Likewise.
15754         * modules/openat-tests (Depends-on): Likewise.
15755         * modules/readlink-tests (Depends-on): Likewise.
15756         * modules/remove-tests (Depends-on): Likewise.
15757         * modules/rename-tests (Depends-on): Likewise.
15758         * modules/renameat-tests (Depends-on): Likewise.
15759         * modules/rmdir-tests (Depends-on): Likewise.
15760         * modules/symlink-tests (Depends-on): Likewise.
15761         * modules/symlinkat-tests (Depends-on): Likewise.
15762         * modules/unlink-tests (Depends-on): Likewise.
15763         * modules/utimens-tests (Depends-on): Likewise.
15764         * modules/utimensat-tests (Depends-on): Likewise.
15765
15766 2010-01-31  Bruno Haible  <bruno@clisp.org>
15767
15768         Perform the same test for many <math.h> functions.
15769         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15770         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15771         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15772         of gl_MATHFUNC.
15773         * modules/acos (configure.ac): Likewise.
15774         * modules/asin (configure.ac): Likewise.
15775         * modules/atan (configure.ac): Likewise.
15776         * modules/atan2 (configure.ac): Likewise.
15777         * modules/cbrt (configure.ac): Likewise.
15778         * modules/copysign (configure.ac): Likewise.
15779         * modules/cos (configure.ac): Likewise.
15780         * modules/cosh (configure.ac): Likewise.
15781         * modules/erf (configure.ac): Likewise.
15782         * modules/erfc (configure.ac): Likewise.
15783         * modules/exp (configure.ac): Likewise.
15784         * modules/fmod (configure.ac): Likewise.
15785         * modules/hypot (configure.ac): Likewise.
15786         * modules/j0 (configure.ac): Likewise.
15787         * modules/j1 (configure.ac): Likewise.
15788         * modules/jn (configure.ac): Likewise.
15789         * modules/lgamma (configure.ac): Likewise.
15790         * modules/log (configure.ac): Likewise.
15791         * modules/log10 (configure.ac): Likewise.
15792         * modules/log1p (configure.ac): Likewise.
15793         * modules/pow (configure.ac): Likewise.
15794         * modules/remainder (configure.ac): Likewise.
15795         * modules/sin (configure.ac): Likewise.
15796         * modules/sinh (configure.ac): Likewise.
15797         * modules/tan (configure.ac): Likewise.
15798         * modules/tanh (configure.ac): Likewise.
15799         * modules/y0 (configure.ac): Likewise.
15800         * modules/y1 (configure.ac): Likewise.
15801         * modules/yn (configure.ac): Likewise.
15802         Suggested by Paolo Bonzini.
15803
15804 2010-01-31  Bruno Haible  <bruno@clisp.org>
15805
15806         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15807
15808 2010-01-31  Bruno Haible  <bruno@clisp.org>
15809
15810         Work around getdelim() bug on FreeBSD 8.0.
15811         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15812         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15813         not work.
15814         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15815         is 1.
15816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15817         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15818         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15819         a non-zero size.
15820         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15821
15822 2010-01-31  Bruno Haible  <bruno@clisp.org>
15823
15824         Work around getline() bug on FreeBSD 8.0.
15825         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15826         and a non-zero size.
15827         * tests/test-getline.c (main): Likewise.
15828         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15829         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15830
15831 2010-01-28  Eric Blake  <ebb9@byu.net>
15832
15833         regex: fix build failure
15834         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15835         platforms.
15836
15837 2010-01-28  Jim Meyering  <meyering@redhat.com>
15838
15839         regex: do not ignore memory allocation failure
15840         * lib/regex_internal.c (create_cd_newstate): Detect
15841         re_node_set_init_copy failure.   Extracted from glibc commit
15842         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15843
15844         regex: sync more white-space changes from libc
15845         * lib/regex_internal.c: White-space only changes.
15846         * lib/regexec.c: Likewise.
15847
15848         regex: add many uses of __attribute_warn_unused_result__
15849         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15850         * lib/regexec.c: Likewise.
15851         Extracted from a messy glibc commit.
15852
15853         regcomp.c: spelling and merge-artifact from glibc
15854         * lib/regcomp.c: Merge remainder of glibc's
15855         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15856
15857         regcomp.c: sync white-space changes from glibc
15858         * lib/regcomp.c: Merge to accommodate white space
15859         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15860
15861         regcomp.c: do not ignore internal return values
15862         * lib/regcomp.c: Do not ignore internal return values.
15863         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15864         but without its white-space changes and spelling fixes.
15865
15866         regex_internal.h: define __attribute_warn_unused_result__
15867         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15868
15869         maint: add a syntax-check rule to check for vulnerable Makefile.in
15870         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15871
15872 2010-01-27  Jim Meyering  <meyering@redhat.com>
15873
15874         ncftpput-ftp: clean up spaces
15875         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15876         Remove trailing blanks.
15877
15878 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15879
15880         * build-aux/git-version-gen: Fix copyright statement.
15881         * build-aux/gnupload: Likewise.
15882         * tests/test-arcfour.c: Likewise.
15883         * tests/test-arctwo.c: Likewise.
15884         * tests/test-count-one-bits.c: Likewise.
15885         * tests/test-crc.c: Likewise.
15886         * tests/test-des.c: Likewise.
15887         * tests/test-gc-arcfour.c: Likewise.
15888         * tests/test-gc-arctwo.c: Likewise.
15889         * tests/test-gc-des.c: Likewise.
15890         * tests/test-gc-hmac-md5.c: Likewise.
15891         * tests/test-gc-hmac-sha1.c: Likewise.
15892         * tests/test-gc-md2.c: Likewise.
15893         * tests/test-gc-md4.c: Likewise.
15894         * tests/test-gc-md5.c: Likewise.
15895         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15896         * tests/test-gc-rijndael.c: Likewise.
15897         * tests/test-gc-sha1.c: Likewise.
15898         * tests/test-gc.c: Likewise.
15899         * tests/test-gethostname.c: Likewise.
15900         * tests/test-gettimeofday.c: Likewise.
15901         * tests/test-hash.c: Likewise.
15902         * tests/test-hmac-md5.c: Likewise.
15903         * tests/test-hmac-sha1.c: Likewise.
15904         * tests/test-md2.c: Likewise.
15905         * tests/test-md4.c: Likewise.
15906         * tests/test-md5.c: Likewise.
15907         * tests/test-memchr.c: Likewise.
15908         * tests/test-memchr2.c: Likewise.
15909         * tests/test-memcmp.c: Likewise.
15910         * tests/test-memmem.c: Likewise.
15911         * tests/test-memrchr.c: Likewise.
15912         * tests/test-rawmemchr.c: Likewise.
15913         * tests/test-read-file.c: Likewise.
15914         * tests/test-rijndael.c: Likewise.
15915         * tests/test-sockets.c: Likewise.
15916         * tests/test-strchrnul.c: Likewise.
15917         * tests/test-strstr.c: Likewise.
15918         * tests/test-strtod.c: Likewise.
15919         * build-aux/ncftpput-ftp: Likewise.
15920
15921 2010-01-26  Eric Blake  <ebb9@byu.net>
15922
15923         ignore-value: update recommended header name
15924         * modules/ignore-value (Include): Only use <> for headers that
15925         exist in glibc.
15926
15927 2010-01-26  Jim Meyering  <meyering@redhat.com>
15928
15929         test-userspec.c: avoid compiler warnings
15930         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
15931         and "initialization discards qualifiers..." warnings.
15932         Put the first "uid" in its own scope, and make char* members "const".
15933
15934 2010-01-25  Bruno Haible  <bruno@clisp.org>
15935
15936         gnulib-tool: Make warning diagnostics consistent.
15937         * gnulib-tool (func_warning): New function.
15938         Use it everywhere where gnulib-tool produces output to stderr and it is
15939         not a fatal error.
15940
15941 2010-01-25  Bruno Haible  <bruno@clisp.org>
15942
15943         Fix test dependencies.
15944         * modules/xstrtol-tests (Depends-on): Add inttypes.
15945         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
15946
15947 2010-01-25 Pádraig Brady <P@draigBrady.com>
15948
15949         syntax-check: detect incorrect boolean macro values in config.h
15950         * modules/maintainer-makefile (configure.ac): Parameterize the location
15951         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
15952         The logic is from Eric Blake and the location indicated by Jim Meyering.
15953         Note the more natural CONFIG_HEADER name is prohibited by automake
15954         for backwards compatibility reasons.
15955         * top/maint.mk (sc_Wundef_boolean): New rule.
15956
15957 2010-01-25  Jim Meyering  <meyering@redhat.com>
15958
15959         bootstrap: detect MacOS 10.6's shasum, too
15960         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
15961         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
15962
15963 2010-01-23  Jim Meyering  <meyering@redhat.com>
15964
15965         xstrtoll: new module
15966         * modules/xstrtoll: New file.
15967         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
15968         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
15969         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
15970         ./configure fails if you use this module and lack "long long".
15971         * modules/xstrtoll-tests: New module.
15972         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
15973         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
15974         new init.sh-based test framework.
15975
15976 2010-01-24  Bruno Haible  <bruno@clisp.org>
15977
15978         Tests for module 'yn'.
15979         * modules/yn-tests: New file.
15980         * tests/test-yn.c: New file.
15981
15982         Tests for module 'y1'.
15983         * modules/y1-tests: New file.
15984         * tests/test-y1.c: New file.
15985
15986         Tests for module 'y0'.
15987         * modules/y0-tests: New file.
15988         * tests/test-y0.c: New file.
15989
15990         Tests for module 'tanh'.
15991         * modules/tanh-tests: New file.
15992         * tests/test-tanh.c: New file.
15993
15994         Tests for module 'tan'.
15995         * modules/tan-tests: New file.
15996         * tests/test-tan.c: New file.
15997
15998         Tests for module 'sqrt'.
15999         * modules/sqrt-tests: New file.
16000         * tests/test-sqrt.c: New file.
16001
16002         Tests for module 'sinh'.
16003         * modules/sinh-tests: New file.
16004         * tests/test-sinh.c: New file.
16005
16006         Tests for module 'sin'.
16007         * modules/sin-tests: New file.
16008         * tests/test-sin.c: New file.
16009
16010         Tests for module 'rint'.
16011         * modules/rint-tests: New file.
16012         * tests/test-rint.c: New file.
16013
16014         Tests for module 'remainder'.
16015         * modules/remainder-tests: New file.
16016         * tests/test-remainder.c: New file.
16017
16018         Tests for module 'pow'.
16019         * modules/pow-tests: New file.
16020         * tests/test-pow.c: New file.
16021
16022         Tests for module 'nextafter'.
16023         * modules/nextafter-tests: New file.
16024         * tests/test-nextafter.c: New file.
16025
16026         Tests for module 'modf'.
16027         * modules/modf-tests: New file.
16028         * tests/test-modf.c: New file.
16029
16030         Tests for module 'logb'.
16031         * modules/logb-tests: New file.
16032         * tests/test-logb.c: New file.
16033
16034         Tests for module 'log1p'.
16035         * modules/log1p-tests: New file.
16036         * tests/test-log1p.c: New file.
16037
16038         Tests for module 'log10'.
16039         * modules/log10-tests: New file.
16040         * tests/test-log10.c: New file.
16041
16042         Tests for module 'log'.
16043         * modules/log-tests: New file.
16044         * tests/test-log.c: New file.
16045
16046         Tests for module 'lgamma'.
16047         * modules/lgamma-tests: New file.
16048         * tests/test-lgamma.c: New file.
16049
16050         Tests for module 'ldexp'.
16051         * modules/ldexp-tests: New file.
16052         * tests/test-ldexp.c: New file.
16053
16054         Tests for module 'jn'.
16055         * modules/jn-tests: New file.
16056         * tests/test-jn.c: New file.
16057
16058         Tests for module 'j1'.
16059         * modules/j1-tests: New file.
16060         * tests/test-j1.c: New file.
16061
16062         Tests for module 'j0'.
16063         * modules/j0-tests: New file.
16064         * tests/test-j0.c: New file.
16065
16066         Tests for module 'hypot'.
16067         * modules/hypot-tests: New file.
16068         * tests/test-hypot.c: New file.
16069
16070         Tests for module 'fmod'.
16071         * modules/fmod-tests: New file.
16072         * tests/test-fmod.c: New file.
16073
16074         Tests for module 'fabs'.
16075         * modules/fabs-tests: New file.
16076         * tests/test-fabs.c: New file.
16077
16078         Tests for module 'exp'.
16079         * modules/exp-tests: New file.
16080         * tests/test-exp.c: New file.
16081
16082         Tests for module 'erfc'.
16083         * modules/erfc-tests: New file.
16084         * tests/test-erfc.c: New file.
16085
16086         Tests for module 'erf'.
16087         * modules/erf-tests: New file.
16088         * tests/test-erf.c: New file.
16089
16090         Tests for module 'cosh'.
16091         * modules/cosh-tests: New file.
16092         * tests/test-cosh.c: New file.
16093
16094         Tests for module 'cos'.
16095         * modules/cos-tests: New file.
16096         * tests/test-cos.c: New file.
16097
16098         Tests for module 'copysign'.
16099         * modules/copysign-tests: New file.
16100         * tests/test-copysign.c: New file.
16101
16102         Tests for module 'cbrt'.
16103         * modules/cbrt-tests: New file.
16104         * tests/test-cbrt.c: New file.
16105
16106         Tests for module 'atan2'.
16107         * modules/atan2-tests: New file.
16108         * tests/test-atan2.c: New file.
16109
16110         Tests for module 'atan'.
16111         * modules/atan-tests: New file.
16112         * tests/test-atan.c: New file.
16113
16114         Tests for module 'asin'.
16115         * modules/asin-tests: New file.
16116         * tests/test-asin.c: New file.
16117
16118         Tests for module 'acos'.
16119         * modules/acos-tests: New file.
16120         * tests/test-acos.c: New file.
16121
16122 2010-01-24  Bruno Haible  <bruno@clisp.org>
16123
16124         Fix tests for common <math.h> functions.
16125         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
16126         code snippet that references the function pointer, rather than merely
16127         calling the function. Substitute the FUNC_LIBM variable.
16128         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
16129         * modules/acos (configure.ac): Likewise.
16130         * modules/asin (configure.ac): Likewise.
16131         * modules/atan (configure.ac): Likewise.
16132         * modules/atan2 (configure.ac): Likewise.
16133         * modules/cbrt (configure.ac): Likewise.
16134         * modules/copysign (configure.ac): Likewise.
16135         * modules/cos (configure.ac): Likewise.
16136         * modules/cosh (configure.ac): Likewise.
16137         * modules/erf (configure.ac): Likewise.
16138         * modules/erfc (configure.ac): Likewise.
16139         * modules/exp (configure.ac): Likewise.
16140         * modules/fabs (configure.ac): Likewise.
16141         * modules/fmod (configure.ac): Likewise.
16142         * modules/hypot (configure.ac): Likewise.
16143         * modules/j0 (configure.ac): Likewise.
16144         * modules/j1 (configure.ac): Likewise.
16145         * modules/jn (configure.ac): Likewise.
16146         * modules/ldexp (configure.ac): Likewise.
16147         * modules/lgamma (configure.ac): Likewise.
16148         * modules/log (configure.ac): Likewise.
16149         * modules/log10 (configure.ac): Likewise.
16150         * modules/log1p (configure.ac): Likewise.
16151         * modules/logb (configure.ac): Likewise.
16152         * modules/modf (configure.ac): Likewise.
16153         * modules/nextafter (configure.ac): Likewise.
16154         * modules/pow (configure.ac): Likewise.
16155         * modules/remainder (configure.ac): Likewise.
16156         * modules/rint (configure.ac): Likewise.
16157         * modules/sin (configure.ac): Likewise.
16158         * modules/sinh (configure.ac): Likewise.
16159         * modules/tan (configure.ac): Likewise.
16160         * modules/tanh (configure.ac): Likewise.
16161         * modules/y0 (configure.ac): Likewise.
16162         * modules/y1 (configure.ac): Likewise.
16163         * modules/yn (configure.ac): Likewise.
16164
16165 2010-01-24  Bruno Haible  <bruno@clisp.org>
16166
16167         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
16168         * tests/test-acosl.c (x): New variable.
16169         (main): Store argument in x and fetch it from x.
16170         * tests/test-asinl.c (x): New variable.
16171         (main): Store argument in x and fetch it from x.
16172         * tests/test-atanl.c (x): New variable.
16173         (main): Store argument in x and fetch it from x.
16174         * tests/test-cosl.c (x): New variable.
16175         (main): Store argument in x and fetch it from x.
16176         * tests/test-expl.c (x): New variable.
16177         (main): Store argument in x and fetch it from x.
16178         * tests/test-logl.c (x): New variable.
16179         (main): Store argument in x and fetch it from x.
16180         * tests/test-sinl.c (x): New variable.
16181         (main): Store argument in x and fetch it from x.
16182         * tests/test-sqrtl.c (x): New variable.
16183         (main): Store argument in x and fetch it from x.
16184         * tests/test-tanl.c (x): New variable.
16185         (main): Store argument in x and fetch it from x.
16186
16187 2010-01-24  Bruno Haible  <bruno@clisp.org>
16188
16189         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
16190         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
16191         assignments to the initial TESTS_ENVIRONMENT.
16192         * doc/gnulib.texi (Unit test modules): Document it.
16193         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
16194         TESTS_ENVIRONMENT.
16195         * modules/btowc-tests (Makefile.am): Likewise.
16196         * modules/c-stack-tests (Makefile.am): Likewise.
16197         * modules/c-strcase-tests (Makefile.am): Likewise.
16198         * modules/copy-file-tests (Makefile.am): Likewise.
16199         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
16200         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
16201         * modules/mbrtowc-tests (Makefile.am): Likewise.
16202         * modules/mbscasecmp-tests (Makefile.am): Likewise.
16203         * modules/mbscasestr-tests (Makefile.am): Likewise.
16204         * modules/mbschr-tests (Makefile.am): Likewise.
16205         * modules/mbscspn-tests (Makefile.am): Likewise.
16206         * modules/mbsinit-tests (Makefile.am): Likewise.
16207         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
16208         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
16209         * modules/mbspbrk-tests (Makefile.am): Likewise.
16210         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
16211         * modules/mbsrchr-tests (Makefile.am): Likewise.
16212         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
16213         * modules/mbsspn-tests (Makefile.am): Likewise.
16214         * modules/mbsstr-tests (Makefile.am): Likewise.
16215         * modules/nl_langinfo-tests (Makefile.am): Likewise.
16216         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
16217         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
16218         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
16219         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
16220         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
16221         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
16222         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
16223         * modules/wcrtomb-tests (Makefile.am): Likewise.
16224         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
16225         * modules/wcsrtombs-tests (Makefile.am): Likewise.
16226         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
16227         assignments from TESTS_ENVIRONMENT.
16228         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
16229         augmentation.
16230         * modules/argp-version-etc-tests (Makefile.am): Likewise.
16231         * modules/atexit-tests (Makefile.am): Likewise.
16232         * modules/binary-io-tests (Makefile.am): Likewise.
16233         * modules/closein-tests (Makefile.am): Likewise.
16234         * modules/dprintf-posix-tests (Makefile.am): Likewise.
16235         * modules/exclude-tests (Makefile.am): Likewise.
16236         * modules/fflush-tests (Makefile.am): Likewise.
16237         * modules/fpending-tests (Makefile.am): Likewise.
16238         * modules/fprintf-posix-tests (Makefile.am): Likewise.
16239         * modules/freadahead-tests (Makefile.am): Likewise.
16240         * modules/freadptr-tests (Makefile.am): Likewise.
16241         * modules/freadseek-tests (Makefile.am): Likewise.
16242         * modules/fseek-tests (Makefile.am): Likewise.
16243         * modules/fseeko-tests (Makefile.am): Likewise.
16244         * modules/ftell-tests (Makefile.am): Likewise.
16245         * modules/ftello-tests (Makefile.am): Likewise.
16246         * modules/idpriv-drop-tests (Makefile.am): Likewise.
16247         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
16248         * modules/lseek-tests (Makefile.am): Likewise.
16249         * modules/parse-duration-tests (Makefile.am): Likewise.
16250         * modules/perror-tests (Makefile.am): Likewise.
16251         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
16252         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
16253         * modules/pipe-tests (Makefile.am): Likewise.
16254         * modules/pread-tests (Makefile.am): Likewise.
16255         * modules/printf-posix-tests (Makefile.am): Likewise.
16256         * modules/select-tests (Makefile.am): Likewise.
16257         * modules/sigpipe-tests (Makefile.am): Likewise.
16258         * modules/tsearch-tests (Makefile.am): Likewise.
16259         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
16260         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
16261         * modules/uniname/uniname-tests (Makefile.am): Likewise.
16262         * modules/uniwidth/width-tests (Makefile.am): Likewise.
16263         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
16264         * modules/version-etc-tests (Makefile.am): Likewise.
16265         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
16266         * modules/vprintf-posix-tests (Makefile.am): Likewise.
16267         * modules/xalloc-die-tests (Makefile.am): Likewise.
16268         * modules/xprintf-posix-tests (Makefile.am): Likewise.
16269         * modules/xstrtoimax-tests (Makefile.am): Likewise.
16270         * modules/xstrtol-tests (Makefile.am): Likewise.
16271         * modules/xstrtoumax-tests (Makefile.am): Likewise.
16272         * modules/yesno-tests (Makefile.am): Likewise.
16273         Suggested by Jim Meyering.
16274
16275 2010-01-24  Bruno Haible  <bruno@clisp.org>
16276
16277         More documentation.
16278         * doc/gnulib.texi (Writing modules): New chapter.
16279         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
16280         the new chapter.
16281
16282 2010-01-24  Jim Meyering  <meyering@redhat.com>
16283
16284         maint.mk: do not prepend "./" after filtering
16285         * top/maint.mk (_prepend_srcdir_prefix): New variable
16286         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
16287         "./" when $(srcdir) is ".".
16288
16289         define STREQ(a,b) consistently, removing useless parentheses
16290         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
16291         since the only risk is that "a" or "b" contains an unparenthesized
16292         comma, but if either did that, STREQ would have 3 or more arguments.
16293         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
16294         * lib/fts.c (STREQ): Remove unnecessary parentheses.
16295         * lib/hash-triple.c (STREQ): Likewise.
16296         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
16297         * lib/getugroups.c (STREQ): Likewise.
16298
16299 2010-01-23  Jim Meyering  <meyering@redhat.com>
16300
16301         maint.mk: fix syntax-check in a non-srcdir build directory
16302         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
16303         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
16304
16305 2010-01-22  Jim Meyering  <meyering@redhat.com>
16306
16307         userspec: add unit tests
16308         * tests/test-userspec.c: New file.
16309         * modules/userspec-tests: Likewise.
16310
16311 2010-01-21  Jim Meyering  <meyering@redhat.com>
16312
16313         maint.mk: handle source file names containing "." robustly
16314         * top/maint.mk (_dot_escaped_srcdir): Define.
16315         (VC_LIST): Use it in LHS of sed substitution.
16316
16317 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
16318
16319         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
16320         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
16321         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
16322         from a non-srcdir build.
16323
16324 2010-01-20  Eric Blake  <ebb9@byu.net>
16325
16326         warn-on-use: use instead of link-warning
16327         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
16328         * modules/unistd (Depends-on, Makefile.am): Likewise.
16329         * modules/arpa_inet (Depends-on): Replace link-warning with
16330         warn-on-use.
16331         (Makefile.am): Update rules accordingly.
16332         * modules/ctype (Depends-on, Makefile.am): Likewise.
16333         * modules/dirent (Depends-on, Makefile.am): Likewise.
16334         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
16335         * modules/inttypes (Depends-on, Makefile.am): Likewise.
16336         * modules/langinfo (Depends-on, Makefile.am): Likewise.
16337         * modules/locale (Depends-on, Makefile.am): Likewise.
16338         * modules/math (Depends-on, Makefile.am): Likewise.
16339         * modules/search (Depends-on, Makefile.am): Likewise.
16340         * modules/signal (Depends-on, Makefile.am): Likewise.
16341         * modules/spawn (Depends-on, Makefile.am): Likewise.
16342         * modules/stdlib (Depends-on, Makefile.am): Likewise.
16343         * modules/string (Depends-on, Makefile.am): Likewise.
16344         * modules/strings (Depends-on, Makefile.am): Likewise.
16345         * modules/sys_file (Depends-on, Makefile.am): Likewise.
16346         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
16347         * modules/sys_select (Depends-on, Makefile.am): Likewise.
16348         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
16349         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
16350         * modules/sys_times (Depends-on, Makefile.am): Likewise.
16351         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
16352         * modules/wchar (Depends-on, Makefile.am): Likewise.
16353         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
16354         should be poisoned.
16355         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
16356         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
16357         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
16358         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
16359         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16360         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16361         * m4/math_h.m4 (gl_MATH_H): Likewise.
16362         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16363         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
16364         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
16365         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
16366         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
16367         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
16368         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
16369         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
16370         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
16371         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16372         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
16373         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
16374         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16375         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16376         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
16377         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16378         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
16379         GL_LINK_WARNING.
16380         * lib/ctype.in.h: Likewise.
16381         * lib/dirent.in.h: Likewise.
16382         * lib/fcntl.in.h: Likewise.
16383         * lib/inttypes.in.h: Likewise.
16384         * lib/langinfo.in.h: Likewise.
16385         * lib/locale.in.h: Likewise.
16386         * lib/math.in.h: Likewise.
16387         * lib/search.in.h: Likewise.
16388         * lib/signal.in.h: Likewise.
16389         * lib/spawn.in.h: Likewise.
16390         * lib/stdio.in.h: Likewise.
16391         * lib/stdlib.in.h: Likewise.
16392         * lib/string.in.h: Likewise.
16393         * lib/strings.in.h: Likewise.
16394         * lib/sys_file.in.h: Likewise.
16395         * lib/sys_ioctl.in.h: Likewise.
16396         * lib/sys_select.in.h: Likewise.
16397         * lib/sys_socket.in.h: Likewise.
16398         * lib/sys_stat.in.h: Likewise.
16399         * lib/sys_times.in.h: Likewise.
16400         * lib/sys_utsname.in.h: Likewise.
16401         * lib/unistd.in.h: Likewise.
16402         * lib/wchar.in.h: Likewise.
16403
16404 2010-01-20  Bruno Haible  <bruno@clisp.org>
16405
16406         Avoid duplicate -lm.
16407         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
16408         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
16409         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
16410         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
16411         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
16412         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
16413         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
16414         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
16415         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
16416         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
16417         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
16418         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16419         Reported by Paolo Bonzini.
16420
16421 2010-01-19  Bruno Haible  <bruno@clisp.org>
16422
16423         langinfo, nl_langinfo: Relicense under LGPLv2+.
16424         * modules/langinfo (License): Change to LGPLv2+.
16425         * modules/nl_langinfo (License): Likewise.
16426         Patch by David Lutterkort <lutter@redhat.com>.
16427
16428 2010-01-19  Bruno Haible  <bruno@clisp.org>
16429
16430         Avoid compilation error with cc on OSF/1 5.1.
16431         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
16432         statement, not before.
16433         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16434
16435 2010-01-18  Bruno Haible  <bruno@clisp.org>
16436
16437         Avoid a link error due to the __printf__ symbol.
16438         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
16439         and 2.6.x.
16440         (__format__, __printf__): Remove definitions.
16441         * lib/argp-fmtstream.h: Likewise.
16442         * lib/argp.h: Likewise.
16443         * lib/error.h: Likewise.
16444         * lib/vasnprintf.h: Likewise.
16445         * lib/xprintf.h: Likewise.
16446         * lib/xvasprintf.h: Likewise.
16447         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16448
16449 2010-01-18  Bruno Haible  <bruno@clisp.org>
16450
16451         Tests for module 'tanl'.
16452         * modules/tanl-tests: New file.
16453         * tests/test-tanl.c: New file.
16454
16455         Tests for module 'sqrtl'.
16456         * modules/sqrtl-tests: New file.
16457         * tests/test-sqrtl.c: New file.
16458
16459         Tests for module 'sinl'.
16460         * modules/sinl-tests: New file.
16461         * tests/test-sinl.c: New file.
16462
16463         Tests for module 'logl'.
16464         * modules/logl-tests: New file.
16465         * tests/test-logl.c: New file.
16466
16467         Tests for module 'expl'.
16468         * modules/expl-tests: New file.
16469         * tests/test-expl.c: New file.
16470
16471         Tests for module 'cosl'.
16472         * modules/cosl-tests: New file.
16473         * tests/test-cosl.c: New file.
16474
16475         Tests for module 'atanl'.
16476         * modules/atanl-tests: New file.
16477         * tests/test-atanl.c: New file.
16478
16479         Tests for module 'asinl'.
16480         * modules/asinl-tests: New file.
16481         * tests/test-asinl.c: New file.
16482
16483         Tests for module 'acosl'.
16484         * modules/acosl-tests: New file.
16485         * tests/test-acosl.c: New file.
16486
16487         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16488         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
16489         tanl): Use the standard gnulib idiom.
16490         * lib/cosl.c: Don't include trigl.c and sincosl.c.
16491         * lib/sinl.c: Likewise.
16492         * lib/tanl.c: Don't include trigl.c.
16493         (kernel_tanl): Make static.
16494         * lib/sincosl.c: Include trigl.h first.
16495         * lib/trigl.c: Likewise.
16496         * m4/acosl.m4: New file.
16497         * m4/asinl.m4: New file.
16498         * m4/atanl.m4: New file.
16499         * m4/cosl.m4: New file.
16500         * m4/expl.m4: New file.
16501         * m4/logl.m4: New file.
16502         * m4/sinl.m4: New file.
16503         * m4/sqrtl.m4: New file.
16504         * m4/tanl.m4: New file.
16505         * m4/mathl.m4: Remove file.
16506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
16507         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16508         Don't initialize GNULIB_MATHL.
16509         * modules/acosl: New file.
16510         * modules/asinl: New file.
16511         * modules/atanl: New file.
16512         * modules/cosl: New file.
16513         * modules/expl: New file.
16514         * modules/logl: New file.
16515         * modules/sinl: New file.
16516         * modules/sqrtl: New file.
16517         * modules/tanl: New file.
16518         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
16519         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
16520         substitute GNULIB_MATHL.
16521         * modules/mathl: Rewritten.
16522         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
16523         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
16524         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
16525         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
16526         * doc/posix-functions/expl.texi: Mention the 'expl' module.
16527         * doc/posix-functions/logl.texi: Mention the 'logl' module.
16528         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
16529         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
16530         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
16531
16532 2010-01-18  Bruno Haible  <bruno@clisp.org>
16533
16534         sqrt: Make gl_FUNC_SQRT requirable.
16535         * m4/sqrt.m4: New file.
16536         * modules/sqrt (Files): Add it.
16537         (configure.ac): Invoke gl_FUNC_SQRT.
16538
16539 2010-01-18  Bruno Haible  <bruno@clisp.org>
16540
16541         New modules for common <math.h> functions.
16542         * m4/mathfunc.m4: New file.
16543         * modules/acos: New file.
16544         * modules/asin: New file.
16545         * modules/atan: New file.
16546         * modules/atan2: New file.
16547         * modules/cbrt: New file.
16548         * modules/copysign: New file.
16549         * modules/cos: New file.
16550         * modules/cosh: New file.
16551         * modules/erf: New file.
16552         * modules/erfc: New file.
16553         * modules/exp: New file.
16554         * modules/fabs: New file.
16555         * modules/fmod: New file.
16556         * modules/hypot: New file.
16557         * modules/j0: New file.
16558         * modules/j1: New file.
16559         * modules/jn: New file.
16560         * modules/ldexp: New file.
16561         * modules/lgamma: New file.
16562         * modules/log: New file.
16563         * modules/log10: New file.
16564         * modules/log1p: New file.
16565         * modules/logb: New file.
16566         * modules/modf: New file.
16567         * modules/nextafter: New file.
16568         * modules/pow: New file.
16569         * modules/remainder: New file.
16570         * modules/rint: New file.
16571         * modules/sin: New file.
16572         * modules/sinh: New file.
16573         * modules/sqrt: New file.
16574         * modules/tan: New file.
16575         * modules/tanh: New file.
16576         * modules/y0: New file.
16577         * modules/y1: New file.
16578         * modules/yn: New file.
16579         * doc/posix-functions/acos.texi: Mention the 'acos' module.
16580         * doc/posix-functions/asin.texi: Mention the 'asin' module.
16581         * doc/posix-functions/atan.texi: Mention the 'atan' module.
16582         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
16583         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
16584         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
16585         * doc/posix-functions/cos.texi: Mention the 'cos' module.
16586         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
16587         * doc/posix-functions/erf.texi: Mention the 'erf' module.
16588         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
16589         * doc/posix-functions/exp.texi: Mention the 'exp' module.
16590         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
16591         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
16592         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
16593         * doc/posix-functions/j0.texi: Mention the 'j0' module.
16594         * doc/posix-functions/j1.texi: Mention the 'j1' module.
16595         * doc/posix-functions/jn.texi: Mention the 'jn' module.
16596         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
16597         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
16598         * doc/posix-functions/log.texi: Mention the 'log' module.
16599         * doc/posix-functions/log10.texi: Mention the 'log10' module.
16600         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
16601         * doc/posix-functions/logb.texi: Mention the 'logb' module.
16602         * doc/posix-functions/modf.texi: Mention the 'modf' module.
16603         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
16604         * doc/posix-functions/pow.texi: Mention the 'pow' module.
16605         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
16606         * doc/posix-functions/rint.texi: Mention the 'rint' module.
16607         * doc/posix-functions/sin.texi: Mention the 'sin' module.
16608         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
16609         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
16610         * doc/posix-functions/tan.texi: Mention the 'tan' module.
16611         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
16612         * doc/posix-functions/y0.texi: Mention the 'y0' module.
16613         * doc/posix-functions/y1.texi: Mention the 'y1' module.
16614         * doc/posix-functions/yn.texi: Mention the 'yn' module.
16615
16616 2010-01-18  Jim Meyering  <meyering@redhat.com>
16617
16618         ignore-value: relax license to LGPLv2+
16619         * modules/ignore-value (License): Relax to LGPLv2+.
16620
16621         getdate: don't leak when TZ contains two or more '"'s
16622         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
16623         double quote in TZ after the first one.
16624
16625         readtokens: do not leak internal token_lengths buffer
16626         * lib/readtokens.c (readtokens): Free the local, lengths,
16627         when the supplied "token_lengths" parameter is NULL.
16628
16629 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16630
16631         Fix a couple of missing LIBTHREAD link failures on AIX.
16632         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
16633         $(LIBTHREAD).
16634         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
16635
16636         Link test-poll against INET_PTON_LIB.
16637         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
16638         for inet_pton on Solaris 10.
16639
16640 2010-01-17  Bruno Haible  <bruno@clisp.org>
16641
16642         unistdio/*-sprintf: Fix typo in module description.
16643         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
16644         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
16645         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
16646         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
16647         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
16648         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
16649         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
16650         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16651
16652 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16653
16654         gnulib-tool: fix filelist for AIX, HP-UX ksh.
16655         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
16656         variables in shell case patterns, for AIX and HP-UX ksh.
16657
16658         Split large sed scripts, for HP-UX sed.
16659         * modules/stdio: Split sed scripts around 50 sed commands,
16660         to avoid HP-UX limit of 99 commands, in the near future.
16661         * modules/string: Likewise.
16662         * modules/unistd: Likewise.
16663
16664         gnulib-tool: avoid writing in the current directory.
16665         * gnulib-tool (func_emit_lib_Makefile_am)
16666         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
16667         not in the current directory, so concurrent gnulib-tool
16668         instances do not interfere.
16669
16670 2010-01-16  Jim Meyering  <meyering@redhat.com>
16671
16672         doc: update users.txt
16673         * users.txt: Add grep.
16674         (diffutils, gzip): Update URLs.
16675
16676 2010-01-12  Bruno Haible  <bruno@clisp.org>
16677
16678         posix_spawn: Avoid test failure on Cygwin.
16679         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
16680         characters.
16681         Reported by Simon Josefsson.
16682
16683 2010-01-12  Bruno Haible  <bruno@clisp.org>
16684
16685         * tests/test-cond.c (main): When skipping the test, show the reason.
16686
16687 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16688
16689         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16690
16691 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16692
16693         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16694         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16695
16696 2010-01-12  Eric Blake  <ebb9@byu.net>
16697
16698         build: guarantee AS_VAR_IF
16699         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16700         (gl_AS_VAR_IF): Move...
16701         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16702         Reported by Simon Josefsson.
16703
16704 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16705
16706         * lib/stdio.in.h: Fix typo.
16707
16708 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16709
16710         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16711         libgpg-error.
16712
16713 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16714
16715         * tests/test-xalloc-die.sh: Use $EXEEXT.
16716
16717 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16718             Bruno Haible  <bruno@clisp.org>
16719
16720         getlogin, getlogin_r: Avoid test failure.
16721         * tests/test-getlogin.c: Include <stdio.h>.
16722         (main): Skip the test when the function fails because stdin is not a
16723         tty.
16724         * tests/test-getlogin_r.c: Include <stdio.h>.
16725         (main): Skip the test when the function fails because stdin is not a
16726         tty.
16727
16728 2010-01-11  Eric Blake  <ebb9@byu.net>
16729
16730         tests: avoid more large file warnings
16731         * tests/test-fflush.c: Avoid warning about ftell use.
16732         * tests/test-fseek.c: Avoid warning about fseek use.
16733
16734 2010-01-10  Bruno Haible  <bruno@clisp.org>
16735
16736         nproc: Work better on Linux when /proc and /sys are not mounted.
16737         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16738         as lower bound when, on glibc/Linux systems,
16739         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16740         Suggested by Pádraig Brady <P@draigbrady.com>.
16741         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16742
16743         nproc: Refactor.
16744         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16745         extracted from num_processors.
16746         (num_processors): Call it.
16747
16748 2010-01-11  Jim Meyering  <meyering@redhat.com>
16749
16750         utimecmp: avoid new warning from upcoming gcc-4.5.0
16751         * lib/utimecmp.c (BILLION): Define using #define rather than an
16752         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16753
16754 2010-01-11  Eric Blake  <ebb9@byu.net>
16755
16756         math: add portability warnings for classification macros
16757         * modules/math (Depends-on): Add warn-on-use.
16758         (Makefile.am): Provide new substitutions.
16759         * m4/math_h.m4 (gl_MATH_H): Require inline.
16760         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16761         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16762         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16763         implement warnings.
16764
16765         unistd: warn on use of environ without module
16766         * modules/unistd (Depends-on): Add warn-on-use.
16767         (Makefile.am): Provide new substitutions.
16768         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16769         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16770
16771         stdio: warn on suspicious uses
16772         * modules/stdio (Depends-on): Add warn-on-use.
16773         (Makefile.am): Provide new substitutions.
16774         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16775         fseeko.
16776         * lib/stdio.in.h (gets): Always warn on use.
16777         (fseek, ftell): Adjust when warnings are issued, and honor
16778         _GL_NO_LARGE_FILES as a way to silence the warning.
16779         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16780         any warning about large file offsets.
16781         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16782         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16783         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16784         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16785         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16786         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16787         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16788         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16789
16790         warn-on-use: new module
16791         * modules/warn-on-use: New file.
16792         * build-aux/warn-on-use.h: Likewise.
16793         * m4/warn-on-use.m4: Likewise.
16794         * MODULES.html.sh (Support for building): Mention it.
16795
16796 2010-01-10  Bruno Haible  <bruno@clisp.org>
16797
16798         Tests for module 'unistr/u32-strdup'.
16799         * modules/unistr/u32-strdup-tests: New file.
16800         * tests/unistr/test-u32-strdup.c: New file.
16801
16802         Tests for module 'unistr/u16-strdup'.
16803         * modules/unistr/u16-strdup-tests: New file.
16804         * tests/unistr/test-u16-strdup.c: New file.
16805
16806         Tests for module 'unistr/u8-strdup'.
16807         * modules/unistr/u8-strdup-tests: New file.
16808         * tests/unistr/test-u8-strdup.c: New file.
16809         * tests/unistr/test-strdup.h: New file.
16810
16811         Tests for module 'unistr/u32-strncmp'.
16812         * modules/unistr/u32-strncmp-tests: New file.
16813         * tests/unistr/test-u32-strncmp.c: New file.
16814
16815         Tests for module 'unistr/u16-strncmp'.
16816         * modules/unistr/u16-strncmp-tests: New file.
16817         * tests/unistr/test-u16-strncmp.c: New file.
16818
16819         Tests for module 'unistr/u8-strncmp'.
16820         * modules/unistr/u8-strncmp-tests: New file.
16821         * tests/unistr/test-u8-strncmp.c: New file.
16822         * tests/unistr/test-strncmp.h: New file.
16823
16824         Tests for module 'unistr/u32-strcoll'.
16825         * modules/unistr/u32-strcoll-tests: New file.
16826         * tests/unistr/test-u32-strcoll.c: New file.
16827
16828         Tests for module 'unistr/u16-strcoll'.
16829         * modules/unistr/u16-strcoll-tests: New file.
16830         * tests/unistr/test-u16-strcoll.c: New file.
16831
16832         Tests for module 'unistr/u8-strcoll'.
16833         * modules/unistr/u8-strcoll-tests: New file.
16834         * tests/unistr/test-u8-strcoll.c: New file.
16835
16836         Tests for module 'unistr/u32-strcmp'.
16837         * modules/unistr/u32-strcmp-tests: New file.
16838         * tests/unistr/test-u32-strcmp.c: New file.
16839         * tests/unistr/test-u32-strcmp.h: New file.
16840
16841         Tests for module 'unistr/u16-strcmp'.
16842         * modules/unistr/u16-strcmp-tests: New file.
16843         * tests/unistr/test-u16-strcmp.c: New file.
16844         * tests/unistr/test-u16-strcmp.h: New file.
16845
16846         Tests for module 'unistr/u8-strcmp'.
16847         * modules/unistr/u8-strcmp-tests: New file.
16848         * tests/unistr/test-u8-strcmp.c: New file.
16849         * tests/unistr/test-u8-strcmp.h: New file.
16850         * tests/unistr/test-strcmp.h: New file.
16851
16852         Tests for module 'unistr/u32-strncat'.
16853         * modules/unistr/u32-strncat-tests: New file.
16854         * tests/unistr/test-u32-strncat.c: New file.
16855
16856         Tests for module 'unistr/u16-strncat'.
16857         * modules/unistr/u16-strncat-tests: New file.
16858         * tests/unistr/test-u16-strncat.c: New file.
16859
16860         Tests for module 'unistr/u8-strncat'.
16861         * modules/unistr/u8-strncat-tests: New file.
16862         * tests/unistr/test-u8-strncat.c: New file.
16863         * tests/unistr/test-strncat.h: New file.
16864
16865         Tests for module 'unistr/u32-strcat'.
16866         * modules/unistr/u32-strcat-tests: New file.
16867         * tests/unistr/test-u32-strcat.c: New file.
16868
16869         Tests for module 'unistr/u16-strcat'.
16870         * modules/unistr/u16-strcat-tests: New file.
16871         * tests/unistr/test-u16-strcat.c: New file.
16872
16873         Tests for module 'unistr/u8-strcat'.
16874         * modules/unistr/u8-strcat-tests: New file.
16875         * tests/unistr/test-u8-strcat.c: New file.
16876         * tests/unistr/test-strcat.h: New file.
16877
16878         Tests for module 'unistr/u32-stpncpy'.
16879         * modules/unistr/u32-stpncpy-tests: New file.
16880         * tests/unistr/test-u32-stpncpy.c: New file.
16881
16882         Tests for module 'unistr/u16-stpncpy'.
16883         * modules/unistr/u16-stpncpy-tests: New file.
16884         * tests/unistr/test-u16-stpncpy.c: New file.
16885
16886         Tests for module 'unistr/u8-stpncpy'.
16887         * modules/unistr/u8-stpncpy-tests: New file.
16888         * tests/unistr/test-u8-stpncpy.c: New file.
16889         * tests/unistr/test-stpncpy.h: New file.
16890
16891         Tests for module 'unistr/u32-strncpy'.
16892         * modules/unistr/u32-strncpy-tests: New file.
16893         * tests/unistr/test-u32-strncpy.c: New file.
16894
16895         Tests for module 'unistr/u16-strncpy'.
16896         * modules/unistr/u16-strncpy-tests: New file.
16897         * tests/unistr/test-u16-strncpy.c: New file.
16898
16899         Tests for module 'unistr/u8-strncpy'.
16900         * modules/unistr/u8-strncpy-tests: New file.
16901         * tests/unistr/test-u8-strncpy.c: New file.
16902         * tests/unistr/test-strncpy.h: New file.
16903
16904         Tests for module 'unistr/u32-stpcpy'.
16905         * modules/unistr/u32-stpcpy-tests: New file.
16906         * tests/unistr/test-u32-stpcpy.c: New file.
16907
16908         Tests for module 'unistr/u16-stpcpy'.
16909         * modules/unistr/u16-stpcpy-tests: New file.
16910         * tests/unistr/test-u16-stpcpy.c: New file.
16911
16912         Tests for module 'unistr/u8-stpcpy'.
16913         * modules/unistr/u8-stpcpy-tests: New file.
16914         * tests/unistr/test-u8-stpcpy.c: New file.
16915         * tests/unistr/test-stpcpy.h: New file.
16916
16917         Tests for module 'unistr/u32-strcpy'.
16918         * modules/unistr/u32-strcpy-tests: New file.
16919         * tests/unistr/test-u32-strcpy.c: New file.
16920
16921         Tests for module 'unistr/u16-strcpy'.
16922         * modules/unistr/u16-strcpy-tests: New file.
16923         * tests/unistr/test-u16-strcpy.c: New file.
16924
16925         Tests for module 'unistr/u8-strcpy'.
16926         * modules/unistr/u8-strcpy-tests: New file.
16927         * tests/unistr/test-u8-strcpy.c: New file.
16928         * tests/unistr/test-strcpy.h: New file.
16929
16930         Tests for module 'unistr/u32-strnlen'.
16931         * modules/unistr/u32-strnlen-tests: New file.
16932         * tests/unistr/test-u32-strnlen.c: New file.
16933
16934         Tests for module 'unistr/u16-strnlen'.
16935         * modules/unistr/u16-strnlen-tests: New file.
16936         * tests/unistr/test-u16-strnlen.c: New file.
16937
16938         Tests for module 'unistr/u8-strnlen'.
16939         * modules/unistr/u8-strnlen-tests: New file.
16940         * tests/unistr/test-u8-strnlen.c: New file.
16941         * tests/unistr/test-strnlen.h: New file.
16942
16943         Tests for module 'unistr/u32-strlen'.
16944         * modules/unistr/u32-strlen-tests: New file.
16945         * tests/unistr/test-u32-strlen.c: New file.
16946
16947         Tests for module 'unistr/u16-strlen'.
16948         * modules/unistr/u16-strlen-tests: New file.
16949         * tests/unistr/test-u16-strlen.c: New file.
16950
16951         Tests for module 'unistr/u8-strlen'.
16952         * modules/unistr/u8-strlen-tests: New file.
16953         * tests/unistr/test-u8-strlen.c: New file.
16954
16955         Tests for module 'unistr/u32-prev'.
16956         * modules/unistr/u32-prev-tests: New file.
16957         * tests/unistr/test-u32-prev.c: New file.
16958
16959         Tests for module 'unistr/u16-prev'.
16960         * modules/unistr/u16-prev-tests: New file.
16961         * tests/unistr/test-u16-prev.c: New file.
16962
16963         Tests for module 'unistr/u8-prev'.
16964         * modules/unistr/u8-prev-tests: New file.
16965         * tests/unistr/test-u8-prev.c: New file.
16966
16967         Tests for module 'unistr/u32-next'.
16968         * modules/unistr/u32-next-tests: New file.
16969         * tests/unistr/test-u32-next.c: New file.
16970
16971         Tests for module 'unistr/u16-next'.
16972         * modules/unistr/u16-next-tests: New file.
16973         * tests/unistr/test-u16-next.c: New file.
16974
16975         Tests for module 'unistr/u8-next'.
16976         * modules/unistr/u8-next-tests: New file.
16977         * tests/unistr/test-u8-next.c: New file.
16978
16979         Tests for module 'unistr/u32-strmbtouc'.
16980         * modules/unistr/u32-strmbtouc-tests: New file.
16981         * tests/unistr/test-u32-strmbtouc.c: New file.
16982
16983         Tests for module 'unistr/u16-strmbtouc'.
16984         * modules/unistr/u16-strmbtouc-tests: New file.
16985         * tests/unistr/test-u16-strmbtouc.c: New file.
16986
16987         Tests for module 'unistr/u8-strmbtouc'.
16988         * modules/unistr/u8-strmbtouc-tests: New file.
16989         * tests/unistr/test-u8-strmbtouc.c: New file.
16990
16991         Tests for module 'unistr/u32-strmblen'.
16992         * modules/unistr/u32-strmblen-tests: New file.
16993         * tests/unistr/test-u32-strmblen.c: New file.
16994
16995         Tests for module 'unistr/u16-strmblen'.
16996         * modules/unistr/u16-strmblen-tests: New file.
16997         * tests/unistr/test-u16-strmblen.c: New file.
16998
16999         Tests for module 'unistr/u8-strmblen'.
17000         * modules/unistr/u8-strmblen-tests: New file.
17001         * tests/unistr/test-u8-strmblen.c: New file.
17002
17003         Tests for module 'unistr/u32-cpy-alloc'.
17004         * modules/unistr/u32-cpy-alloc-tests: New file.
17005         * tests/unistr/test-u32-cpy-alloc.c: New file.
17006
17007         Tests for module 'unistr/u16-cpy-alloc'.
17008         * modules/unistr/u16-cpy-alloc-tests: New file.
17009         * tests/unistr/test-u16-cpy-alloc.c: New file.
17010
17011         Tests for module 'unistr/u8-cpy-alloc'.
17012         * modules/unistr/u8-cpy-alloc-tests: New file.
17013         * tests/unistr/test-u8-cpy-alloc.c: New file.
17014         * tests/unistr/test-cpy-alloc.h: New file.
17015
17016         Tests for module 'unistr/u32-mbsnlen'.
17017         * modules/unistr/u32-mbsnlen-tests: New file.
17018         * tests/unistr/test-u32-mbsnlen.c: New file.
17019
17020         Tests for module 'unistr/u16-mbsnlen'.
17021         * modules/unistr/u16-mbsnlen-tests: New file.
17022         * tests/unistr/test-u16-mbsnlen.c: New file.
17023
17024         Tests for module 'unistr/u8-mbsnlen'.
17025         * modules/unistr/u8-mbsnlen-tests: New file.
17026         * tests/unistr/test-u8-mbsnlen.c: New file.
17027
17028         Tests for module 'unistr/u32-chr'.
17029         * modules/unistr/u32-chr-tests: New file.
17030         * tests/unistr/test-u32-chr.c: New file.
17031
17032         Tests for module 'unistr/u16-chr'.
17033         * modules/unistr/u16-chr-tests: New file.
17034         * tests/unistr/test-u16-chr.c: New file.
17035
17036         Tests for module 'unistr/u8-chr'.
17037         * modules/unistr/u8-chr-tests: New file.
17038         * tests/unistr/test-u8-chr.c: New file.
17039         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
17040
17041         Tests for module 'unistr/u32-cmp2'.
17042         * modules/unistr/u32-cmp2-tests: New file.
17043         * tests/unistr/test-u32-cmp2.c: New file.
17044
17045         Tests for module 'unistr/u16-cmp2'.
17046         * modules/unistr/u16-cmp2-tests: New file.
17047         * tests/unistr/test-u16-cmp2.c: New file.
17048
17049         Tests for module 'unistr/u8-cmp2'.
17050         * modules/unistr/u8-cmp2-tests: New file.
17051         * tests/unistr/test-u8-cmp2.c: New file.
17052         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
17053
17054         Tests for module 'unistr/u32-cmp'.
17055         * modules/unistr/u32-cmp-tests: New file.
17056         * tests/unistr/test-u32-cmp.c: New file.
17057
17058         Tests for module 'unistr/u16-cmp'.
17059         * modules/unistr/u16-cmp-tests: New file.
17060         * tests/unistr/test-u16-cmp.c: New file.
17061
17062         Tests for module 'unistr/u8-cmp'.
17063         * modules/unistr/u8-cmp-tests: New file.
17064         * tests/unistr/test-u8-cmp.c: New file.
17065         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
17066
17067         Tests for module 'unistr/u32-set'.
17068         * modules/unistr/u32-set-tests: New file.
17069         * tests/unistr/test-u32-set.c: New file.
17070
17071         Tests for module 'unistr/u16-set'.
17072         * modules/unistr/u16-set-tests: New file.
17073         * tests/unistr/test-u16-set.c: New file.
17074
17075         Tests for module 'unistr/u8-set'.
17076         * modules/unistr/u8-set-tests: New file.
17077         * tests/unistr/test-u8-set.c: New file.
17078         * tests/unistr/test-set.h: New file.
17079
17080         Tests for module 'unistr/u32-move'.
17081         * modules/unistr/u32-move-tests: New file.
17082         * tests/unistr/test-u32-move.c: New file.
17083
17084         Tests for module 'unistr/u16-move'.
17085         * modules/unistr/u16-move-tests: New file.
17086         * tests/unistr/test-u16-move.c: New file.
17087
17088         Tests for module 'unistr/u8-move'.
17089         * modules/unistr/u8-move-tests: New file.
17090         * tests/unistr/test-u8-move.c: New file.
17091         * tests/unistr/test-move.h: New file.
17092
17093         Tests for module 'unistr/u32-cpy'.
17094         * modules/unistr/u32-cpy-tests: New file.
17095         * tests/unistr/test-u32-cpy.c: New file.
17096
17097         Tests for module 'unistr/u16-cpy'.
17098         * modules/unistr/u16-cpy-tests: New file.
17099         * tests/unistr/test-u16-cpy.c: New file.
17100
17101         Tests for module 'unistr/u8-cpy'.
17102         * modules/unistr/u8-cpy-tests: New file.
17103         * tests/unistr/test-u8-cpy.c: New file.
17104         * tests/unistr/test-cpy.h: New file.
17105
17106 2010-01-09  Bruno Haible  <bruno@clisp.org>
17107
17108         Tests for module 'unistr/u32-uctomb'.
17109         * modules/unistr/u32-uctomb-tests: New file.
17110         * tests/unistr/test-u32-uctomb.c: New file.
17111
17112         Tests for module 'unistr/u16-uctomb'.
17113         * modules/unistr/u16-uctomb-tests: New file.
17114         * tests/unistr/test-u16-uctomb.c: New file.
17115
17116         Tests for module 'unistr/u8-uctomb'.
17117         * modules/unistr/u8-uctomb-tests: New file.
17118         * tests/unistr/test-u8-uctomb.c: New file.
17119
17120         Tests for module 'unistr/u32-mbtoucr'.
17121         * modules/unistr/u32-mbtoucr-tests: New file.
17122         * tests/unistr/test-u32-mbtoucr.c: New file.
17123
17124         Tests for module 'unistr/u16-mbtoucr'.
17125         * modules/unistr/u16-mbtoucr-tests: New file.
17126         * tests/unistr/test-u16-mbtoucr.c: New file.
17127
17128         Tests for module 'unistr/u8-mbtoucr'.
17129         * modules/unistr/u8-mbtoucr-tests: New file.
17130         * tests/unistr/test-u8-mbtoucr.c: New file.
17131
17132         Tests for module 'unistr/u32-mbtouc'.
17133         * modules/unistr/u32-mbtouc-tests: New file.
17134         * tests/unistr/test-u32-mbtouc.c: New file.
17135
17136         Tests for module 'unistr/u16-mbtouc'.
17137         * modules/unistr/u16-mbtouc-tests: New file.
17138         * tests/unistr/test-u16-mbtouc.c: New file.
17139
17140         Tests for module 'unistr/u8-mbtouc'.
17141         * modules/unistr/u8-mbtouc-tests: New file.
17142         * tests/unistr/test-u8-mbtouc.c: New file.
17143
17144         Tests for module 'unistr/u32-mbtouc-unsafe'.
17145         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
17146         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
17147         * tests/unistr/test-u32-mbtouc.h: New file.
17148
17149         Tests for module 'unistr/u16-mbtouc-unsafe'.
17150         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
17151         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
17152         * tests/unistr/test-u16-mbtouc.h: New file.
17153
17154         Tests for module 'unistr/u8-mbtouc-unsafe'.
17155         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
17156         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
17157         * tests/unistr/test-u8-mbtouc.h: New file.
17158
17159         Tests for module 'unistr/u32-mblen'.
17160         * modules/unistr/u32-mblen-tests: New file.
17161         * tests/unistr/test-u32-mblen.c: New file.
17162
17163         Tests for module 'unistr/u16-mblen'.
17164         * modules/unistr/u16-mblen-tests: New file.
17165         * tests/unistr/test-u16-mblen.c: New file.
17166
17167         Tests for module 'unistr/u8-mblen'.
17168         * modules/unistr/u8-mblen-tests: New file.
17169         * tests/unistr/test-u8-mblen.c: New file.
17170
17171         Tests for module 'unistr/u32-to-u16'.
17172         * modules/unistr/u32-to-u16-tests: New file.
17173         * tests/unistr/test-u32-to-u16.c: New file.
17174
17175         Tests for module 'unistr/u32-to-u8'.
17176         * modules/unistr/u32-to-u8-tests: New file.
17177         * tests/unistr/test-u32-to-u8.c: New file.
17178
17179         Tests for module 'unistr/u16-to-u32'.
17180         * modules/unistr/u16-to-u32-tests: New file.
17181         * tests/unistr/test-u16-to-u32.c: New file.
17182
17183         Tests for module 'unistr/u16-to-u8'.
17184         * modules/unistr/u16-to-u8-tests: New file.
17185         * tests/unistr/test-u16-to-u8.c: New file.
17186
17187         Tests for module 'unistr/u8-to-u32'.
17188         * modules/unistr/u8-to-u32-tests: New file.
17189         * tests/unistr/test-u8-to-u32.c: New file.
17190
17191         Tests for module 'unistr/u8-to-u16'.
17192         * modules/unistr/u8-to-u16-tests: New file.
17193         * tests/unistr/test-u8-to-u16.c: New file.
17194
17195         Tests for module 'unistr/u32-check'.
17196         * modules/unistr/u32-check-tests: New file.
17197         * tests/unistr/test-u32-check.c: New file.
17198
17199         Tests for module 'unistr/u16-check'.
17200         * modules/unistr/u16-check-tests: New file.
17201         * tests/unistr/test-u16-check.c: New file.
17202
17203         Tests for module 'unistr/u8-check'.
17204         * modules/unistr/u8-check-tests: New file.
17205         * tests/unistr/test-u8-check.c: New file.
17206
17207         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
17208         (category_equals): New function.
17209         (main): Add more tests.
17210         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
17211
17212         * tests/unictype/test-bidi_byname.c (main): Add more tests.
17213
17214 2010-01-10  Bruno Haible  <bruno@clisp.org>
17215
17216         unistr/u*-strcoll: Try harder to distinguish different strings.
17217         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
17218         compare s1 and s2 to see if they are different.
17219
17220 2010-01-10  Bruno Haible  <bruno@clisp.org>
17221
17222         unistr/u*-stpncpy: Fix the return value.
17223         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
17224         description of the return value consistent with stpncpy in glibc.
17225         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
17226         written non-NUL unit.
17227
17228 2010-01-10  Bruno Haible  <bruno@clisp.org>
17229
17230         unistr/u*-next: Add missing dependencies.
17231         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
17232         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
17233         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
17234
17235 2010-01-10  Bruno Haible  <bruno@clisp.org>
17236
17237         unistr/u8-mbsnlen: Fix return value for incomplete character.
17238         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
17239         u8_mblen.
17240         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
17241         Remove unistr/u8-mblen.
17242         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
17243         u16_mblen.
17244         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
17245         Remove unistr/u16-mblen.
17246
17247 2010-01-10  Bruno Haible  <bruno@clisp.org>
17248
17249         wchar: Fix compilation error when <wchar.h> is used from coreutils.
17250         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
17251         Reported by Brian Gough <bjg@gnu.org> and
17252         Chris Clayton <chris2553@googlemail.com> via
17253         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
17254
17255 2010-01-09  Bruno Haible  <bruno@clisp.org>
17256
17257         unistr/u16-to-u32: Reject invalid input.
17258         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
17259         u16_mbtouc.
17260         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
17261         Remove unistr/u16-mbtouc.
17262
17263         unistr/u16-to-u8: Reject invalid input.
17264         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
17265         u16_mbtouc.
17266         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
17267         Remove unistr/u16-mbtouc.
17268
17269         unistr/u8-to-u32: Reject invalid input.
17270         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
17271         u8_mbtouc.
17272         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
17273         Remove unistr/u8-mbtouc.
17274
17275         unistr/u8-to-u16: Reject invalid input.
17276         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
17277         u8_mbtouc.
17278         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
17279         Remove unistr/u8-mbtouc.
17280
17281 2010-01-09  Bruno Haible  <bruno@clisp.org>
17282
17283         Tests for module 'getlogin'.
17284         * modules/getlogin-tests: New file.
17285         * tests/test-getlogin.c: New file.
17286
17287         New module 'getlogin'.
17288         * lib/unistd.in.h (getlogin): New declaration.
17289         * lib/getlogin.c: New file.
17290         * m4/getlogin.m4: New file.
17291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
17292         HAVE_GETLOGIN.
17293         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
17294         HAVE_GETLOGIN.
17295         * modules/getlogin: New file.
17296         * doc/posix-functions/getlogin.texi: Mention the new module.
17297         Reported by John W. Eaton <jwe@gnu.org>.
17298
17299 2010-01-09  Bruno Haible  <bruno@clisp.org>
17300
17301         getlogin_r: Support for native Windows.
17302         * lib/getlogin_r.c: Include <windows.h>
17303         (getlogin_r): Implement for native Windows.
17304         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
17305         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
17306         via John W. Eaton <jwe@gnu.org>.
17307
17308 2010-01-09  Bruno Haible  <bruno@clisp.org>
17309
17310         getlogin_r: Small fixes.
17311         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
17312         succeeds.
17313         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
17314         before testing whether getlogin_r is declared. No need to set
17315         HAVE_DECL_GETLOGIN_R to 1.
17316         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
17317
17318 2010-01-09  Bruno Haible  <bruno@clisp.org>
17319
17320         * lib/unistd.in.h (getlogin_r): Add comment.
17321
17322 2010-01-09  Bruno Haible  <bruno@clisp.org>
17323
17324         Tests for module 'getlogin_r'.
17325         * modules/getlogin_r-tests: New file.
17326         * tests/test-getlogin_r.c: New file.
17327
17328 2010-01-09  Jim Meyering  <meyering@redhat.com>
17329
17330         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
17331         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
17332         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
17333
17334 2010-01-08  Simon Josefsson  <simon@josefsson.org>
17335
17336         * lib/dup2.c (rpl_dup2): Improve comment.
17337
17338 2010-01-08  Eric Blake  <ebb9@byu.net>
17339
17340         maint.mk: allow packages to add makefile @@ exceptions
17341         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
17342         (sc_makefile_check): Rename...
17343         (sc_makefile_at_at_check): ...to this, and use hook.
17344
17345         dup2: work around mingw bug
17346         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
17347         Reported by Simon Josefsson.
17348
17349 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
17350
17351         glob: Fix C++ compilation.
17352         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
17353         C++.
17354
17355 2010-01-07  Bruno Haible  <bruno@clisp.org>
17356
17357         Fix indentation of wctype.in.h, broken since 2007-01-06.
17358         * lib/wctype.in.h: Fix indentation of preprocessor directives.
17359
17360 2010-01-07  Bruno Haible  <bruno@clisp.org>
17361
17362         mbslen: Avoid collision with system function.
17363         * lib/string.in.h [MirBSD]: Include <wchar.h>.
17364         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
17365         * m4/mbslen.m4: New file.
17366         * modules/mbslen (Files): Add it.
17367         (configure.ac): Invoke gl_MBSLEN.
17368         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
17369         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
17370         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
17371         via Ian Beckwith <ianb@erislabs.net>.
17372
17373 2010-01-07  Bruno Haible  <bruno@clisp.org>
17374
17375         dirent: Document the last fix.
17376         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
17377
17378 2010-01-07  Bruno Haible  <bruno@clisp.org>
17379
17380         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
17381         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
17382         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
17383         va_list are defined.
17384         * doc/posix-headers/stdio.texi: Document the bug of missing types.
17385         Reported by Eric Blake.
17386
17387 2010-01-07  Bruno Haible  <bruno@clisp.org>
17388
17389         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
17390         * modules/xlist (Depends-on): Add 'list',
17391         * modules/xoset (Depends-on): Add 'oset'.
17392         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17393
17394 2010-01-07  Bruno Haible  <bruno@clisp.org>
17395
17396         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
17397         * doc/posix-functions/strncasecmp.texi: Likewise.
17398
17399 2010-01-07  Bruno Haible  <bruno@clisp.org>
17400
17401         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
17402
17403 2010-01-07  John W. Eaton  <jwe@octave.org>
17404
17405         wctype: allow C++ use
17406         * lib/wctype.in.h: Add extern "C" block for C++.
17407
17408 2010-01-06  Eric Blake  <ebb9@byu.net>
17409
17410         maint.mk: detect incorrect GFDL usage
17411         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
17412
17413 2010-01-06  Jim Meyering  <meyering@redhat.com>
17414         and Eric Blake  <ebb9@byu.net>
17415
17416         maint.mk: ignore multi-line copyright in NEWS
17417         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
17418
17419 2010-01-06  Eric Blake  <ebb9@byu.net>
17420
17421         select: add missing dependency
17422         * modules/select-tests (Depends-on): Move sockets dependency...
17423         * modules/select (Depends-on): ...here.
17424         Reported by Ian Beckwith.
17425
17426         doc: regenerate INSTALL
17427         * doc/INSTALL: Reflect recent autoconf update.
17428         * doc/INSTALL.ISO: Likewise.
17429         * doc/INSTALL.UTF-8: Likewise.
17430
17431         pread: fix compilation on glibc
17432         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
17433         Reported by Ralf Wildenhues.
17434
17435         dirent: fix test failure
17436         * lib/dirent.in.h (includes): Guarantee ino_t.
17437         Reported by Ralf Wildenhues.
17438
17439 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
17440
17441         linkat, renameat: avoid bad free
17442         * lib/at-func2.c (at_func2): Fix typo.
17443         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
17444
17445 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17446
17447         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
17448         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
17449         to avoid failure of symlink test later.
17450
17451 2010-01-06  Eric Blake  <ebb9@byu.net>
17452
17453         stdio, unistd: guarantee ssize_t
17454         * lib/unistd.in.h (includes): Ensure that types required by POSIX
17455         2008 are exposed when needed.
17456         * lib/stdio.in.h (includes): Likewise.
17457         Reported by Ralf Wildenhues.
17458
17459 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
17460
17461         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
17462         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
17463         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
17464
17465 2010-01-06  Jim Meyering  <meyering@redhat.com>
17466
17467         readtokens: this module *does* require xalloc.h
17468         It uses only functions that were omitted by the old syntax-check rule.
17469         * lib/readtokens.c: Include "xalloc.h" once again.
17470         * modules/readtokens (Depends-on): Add xalloc.
17471         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
17472
17473 2010-01-05  Eric Blake  <ebb9@byu.net>
17474
17475         maint: support 'make announcement' from a VPATH build
17476         * top/maint.mk (announcement): Look for correct NEWS file.
17477
17478 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
17479
17480         utimens (fdutimens): ignore a negative FD, per contract
17481         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
17482         when we have a valid file descriptor.  Otherwise, using a brand
17483         new glibc (with just-patched futimens that now fails with EBADF)
17484         would cause this function to fail with ENOSYS.
17485         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
17486         See also http://bugzilla.redhat.com/552320.
17487
17488 2010-01-05  Eric Blake  <ebb9@byu.net>
17489
17490         strcase: document what it provides
17491         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
17492         gnulib module.
17493         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
17494         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
17495
17496 2010-01-05  Jim Meyering  <meyering@redhat.com>
17497
17498         maint: remove useless inclusions of "xalloc.h"
17499         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
17500         * lib/readtokens.c: Likewise.
17501         * lib/same.c: Likewise.
17502         * modules/getloadavg (Depends-on): Remove xalloc.
17503         * modules/readtokens: Likewise.
17504         * modules/same: Likewise.
17505
17506         maint.mk: include 4 more function names in alloca.h-checking regexp
17507         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
17508         regexp.  Before, we would give a false-positive (saying alloca.h
17509         is included unnecessarily) when the only uses involved omitted symbols.
17510
17511         xalloc.h: use consistent formatting
17512         * lib/xalloc.h: Move declarations to start in the first column.
17513
17514 2010-01-05  Eric Blake  <ebb9@byu.net>
17515
17516         mkdir: avoid xalloc
17517         * lib/mkdir.c (includes): Drop unused header.
17518         Reported by John W. Eaton.
17519
17520 2010-01-04  Jim Meyering  <meyering@redhat.com>
17521
17522         nl_langinfo: avoid configure-time syntax error
17523         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
17524         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
17525         the empty string.  Don't let that provoke a shell syntax error.
17526
17527         regcomp, regexec, fnmatch: avoid array bounds read error
17528         * lib/regcomp.c (build_equiv_class): From glibc:
17529         Use only the low 24 bits of a findidx return value as an index
17530         into the weights array.  Patch by Ulrich Drepper:
17531         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
17532         * lib/regexec.c (check_node_accept_bytes): Likewise.
17533         * lib/fnmatch_loop.c (FCT): Likewise.
17534
17535         regcomp: skip collseq lookup when there are no rules
17536         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
17537         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
17538
17539         regcomp: recognize ill-formed { } expressions
17540         * lib/regcomp.c (parse_dup_op): From glibc:
17541         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
17542
17543         regcomp: fix typo in comment
17544         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
17545         s/satisfy/satisfies/.
17546
17547         regcomp: sync from glibc: remove dead store
17548         * lib/regcomp.c (duplicate_node_closure): Remove useless
17549         search_duplicated_node call and dead store.
17550
17551         regcomp: sync from glibc; always use nl_langinfo
17552         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
17553         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
17554         * modules/regex (Depends-on): Add nl_langinfo.
17555
17556 2010-01-04  Eric Blake  <ebb9@byu.net>
17557
17558         fdopendir: fix configure test
17559         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
17560
17561 2010-01-01  Bruno Haible  <bruno@clisp.org>
17562
17563         wchar: Remove unused configure check.
17564         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
17565
17566 2010-01-01  Eric Blake  <ebb9@byu.net>
17567
17568         headers: make check of system header explicit
17569         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
17570         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
17571         ourselves.
17572         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17574         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
17575         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
17576         internals.
17577         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
17578         missing.
17579         Suggested by Bruno Haible.
17580
17581 2010-01-01  Jim Meyering  <meyering@redhat.com>
17582
17583         ChangeLog: tweak to eliminate unnecessary copyright line
17584         * ChangeLog: Remove a copyright line that was mistakenly updated
17585         by today's update-copyright run.  Reported by Eric Blake.
17586
17587         test-update-copyright: don't let envvar setting cause test failure
17588         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17589
17590 2010-01-01  Bruno Haible  <bruno@clisp.org>
17591
17592         localename: Avoid gcc warning.
17593         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
17594         function if it is not used.
17595
17596 2010-01-01  Jim Meyering  <meyering@redhat.com>
17597
17598         update nearly all FSF copyright year lists to include 2010
17599         Use the same procedure as for 2009, outlined in
17600         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
17601
17602         version-etc: set COPYRIGHT_YEAR to 2010
17603         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
17604
17605 2009-12-31  Eric Blake  <ebb9@byu.net>
17606
17607         doc: correct availability of cygwin 1.5.x getopt
17608         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
17609         variables.
17610         * doc/posix-functions/opterr.texi (opterr): Likewise.
17611         * doc/posix-functions/optind.texi (optind): Likewise.
17612         * doc/posix-functions/optopt.texi (optopt): Likewise.
17613         * doc/posix-functions/tzname.texi (tzname): Likewise.
17614
17615         openat: update maintainer
17616         * modules/openat (Maintainer): Add myself.
17617
17618         utimens: avoid shadowing warning
17619         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
17620         buffers into one, to avoid shadowing, as well as avoiding a
17621         redundant stat.
17622         Reported by Jim Meyering.
17623
17624         test-dup2: avoid compiler warning
17625         * tests/test-dup2.c (is_inheritable): Only define if used.
17626
17627 2010-01-01  Bruno Haible  <bruno@clisp.org>
17628
17629         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
17630         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
17631         defined, use wctomb instead of wcrtomb.
17632
17633 2010-01-01  Bruno Haible  <bruno@clisp.org>
17634
17635         iconv: Reject native Solaris iconv.
17636         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
17637         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
17638
17639 2009-12-31  Bruno Haible  <bruno@clisp.org>
17640
17641         * tests/test-signal.c (main): Remove test of 'SIG'.
17642
17643 2009-12-31  Bruno Haible  <bruno@clisp.org>
17644
17645         spawn: Fix incomplete fix.
17646         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17647         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17648         warnings for GNULIB_POSIXCHECK again.
17649         Reported by Eric Blake.
17650
17651 2009-12-31  Bruno Haible  <bruno@clisp.org>
17652
17653         Avoid namespace pollution on glibc systems.
17654         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
17655         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
17656         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
17657         glibc systems.
17658
17659 2009-12-31  Bruno Haible  <bruno@clisp.org>
17660
17661         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
17662         (gl_REPLACE_WCHAR_H): Turn into a no-op.
17663         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
17664         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17665         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17666         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17667         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17668
17669 2009-12-31  Bruno Haible  <bruno@clisp.org>
17670
17671         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17672         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
17673         afterwards.
17674
17675 2009-12-31  Bruno Haible  <bruno@clisp.org>
17676
17677         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
17678         SYS_UTSNAME_H.
17679
17680 2009-12-31  Bruno Haible  <bruno@clisp.org>
17681
17682         spawn: Fix misapplied patch.
17683         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17684         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17685         warnings for GNULIB_POSIXCHECK.
17686
17687 2009-12-31  Bruno Haible  <bruno@clisp.org>
17688
17689         times: Update after sys_times changed.
17690         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17691         * modules/times (Files): Add it.
17692         (configure.ac): Invoke gl_FUNC_TIMES.
17693
17694 2009-12-31  Bruno Haible  <bruno@clisp.org>
17695
17696         Use AC_C_INLINE where necessary.
17697         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17698         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17699         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17700         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17701         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17702         * m4/mbiter.m4 (gl_MBITER): Likewise.
17703         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17704         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17705         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17706         * modules/u64 (configure.ac): Likewise.
17707
17708 2009-12-31  Bruno Haible  <bruno@clisp.org>
17709
17710         Use AC_C_INLINE instead of module 'inline' where possible.
17711         * modules/inline (Description): Clarify purpose.
17712         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17713         * modules/count-one-bits (Depends-on): Remove inline.
17714         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17715         * modules/openat (Depends-on): Remove inline.
17716         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17717         instead of depending on module 'inline'.
17718         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17719         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17720         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17721         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17722         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17723         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17724         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17725         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17726         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17727         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17728         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17729         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17730         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17731         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17732         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17733         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17734         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17735         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17736         Likewise.
17737         * modules/unictype/property-ascii-hex-digit (Depends-on,
17738         configure.ac): Likewise.
17739         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17740         configure.ac): Likewise.
17741         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17742         configure.ac): Likewise.
17743         * modules/unictype/property-bidi-block-separator (Depends-on,
17744         configure.ac): Likewise.
17745         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17746         configure.ac): Likewise.
17747         * modules/unictype/property-bidi-common-separator (Depends-on,
17748         configure.ac): Likewise.
17749         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17750         Likewise.
17751         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17752         configure.ac): Likewise.
17753         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17754         configure.ac): Likewise.
17755         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17756         configure.ac): Likewise.
17757         * modules/unictype/property-bidi-european-digit (Depends-on,
17758         configure.ac): Likewise.
17759         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17760         configure.ac): Likewise.
17761         * modules/unictype/property-bidi-left-to-right (Depends-on,
17762         configure.ac): Likewise.
17763         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17764         configure.ac): Likewise.
17765         * modules/unictype/property-bidi-other-neutral (Depends-on,
17766         configure.ac): Likewise.
17767         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17768         Likewise.
17769         * modules/unictype/property-bidi-segment-separator (Depends-on,
17770         configure.ac): Likewise.
17771         * modules/unictype/property-bidi-whitespace (Depends-on,
17772         configure.ac): Likewise.
17773         * modules/unictype/property-combining (Depends-on, configure.ac):
17774         Likewise.
17775         * modules/unictype/property-composite (Depends-on, configure.ac):
17776         Likewise.
17777         * modules/unictype/property-currency-symbol (Depends-on,
17778         configure.ac): Likewise.
17779         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17780         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17781         Likewise.
17782         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17783         configure.ac): Likewise.
17784         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17785         Likewise.
17786         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17787         Likewise.
17788         * modules/unictype/property-extender (Depends-on, configure.ac):
17789         Likewise.
17790         * modules/unictype/property-format-control (Depends-on, configure.ac):
17791         Likewise.
17792         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17793         Likewise.
17794         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17795         Likewise.
17796         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17797         Likewise.
17798         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17799         Likewise.
17800         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17801         Likewise.
17802         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17803         Likewise.
17804         * modules/unictype/property-id-start (Depends-on, configure.ac):
17805         Likewise.
17806         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17807         Likewise.
17808         * modules/unictype/property-ids-binary-operator (Depends-on,
17809         configure.ac): Likewise.
17810         * modules/unictype/property-ids-trinary-operator (Depends-on,
17811         configure.ac): Likewise.
17812         * modules/unictype/property-ignorable-control (Depends-on,
17813         configure.ac): Likewise.
17814         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17815         Likewise.
17816         * modules/unictype/property-join-control (Depends-on, configure.ac):
17817         Likewise.
17818         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17819         Likewise.
17820         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17821         Likewise.
17822         * modules/unictype/property-logical-order-exception (Depends-on,
17823         configure.ac): Likewise.
17824         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17825         Likewise.
17826         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17827         * modules/unictype/property-non-break (Depends-on, configure.ac):
17828         Likewise.
17829         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17830         Likewise.
17831         * modules/unictype/property-numeric (Depends-on, configure.ac):
17832         Likewise.
17833         * modules/unictype/property-other-alphabetic (Depends-on,
17834         configure.ac): Likewise.
17835         * modules/unictype/property-other-default-ignorable-code-point
17836         (Depends-on, configure.ac): Likewise.
17837         * modules/unictype/property-other-grapheme-extend (Depends-on,
17838         configure.ac): Likewise.
17839         * modules/unictype/property-other-id-continue (Depends-on,
17840         configure.ac): Likewise.
17841         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17842         Likewise.
17843         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17844         Likewise.
17845         * modules/unictype/property-other-math (Depends-on, configure.ac):
17846         Likewise.
17847         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17848         Likewise.
17849         * modules/unictype/property-paired-punctuation (Depends-on,
17850         configure.ac): Likewise.
17851         * modules/unictype/property-paragraph-separator (Depends-on,
17852         configure.ac): Likewise.
17853         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17854         Likewise.
17855         * modules/unictype/property-pattern-white-space (Depends-on,
17856         configure.ac): Likewise.
17857         * modules/unictype/property-private-use (Depends-on, configure.ac):
17858         Likewise.
17859         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17860         Likewise.
17861         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17862         Likewise.
17863         * modules/unictype/property-radical (Depends-on, configure.ac):
17864         Likewise.
17865         * modules/unictype/property-sentence-terminal (Depends-on,
17866         configure.ac): Likewise.
17867         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17868         Likewise.
17869         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17870         * modules/unictype/property-terminal-punctuation (Depends-on,
17871         configure.ac): Likewise.
17872         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17873         Likewise.
17874         * modules/unictype/property-unassigned-code-value (Depends-on,
17875         configure.ac): Likewise.
17876         * modules/unictype/property-unified-ideograph (Depends-on,
17877         configure.ac): Likewise.
17878         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17879         Likewise.
17880         * modules/unictype/property-variation-selector (Depends-on,
17881         configure.ac): Likewise.
17882         * modules/unictype/property-white-space (Depends-on, configure.ac):
17883         Likewise.
17884         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17885         Likewise.
17886         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17887         Likewise.
17888         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17889         Likewise.
17890         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17891         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17892         Likewise.
17893
17894 2009-12-31  Bruno Haible  <bruno@clisp.org>
17895
17896         Remove unnecessary AC_C_INLINE invocation.
17897         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17898         since 2009-08-21.
17899
17900 2009-12-31  Jim Meyering  <meyering@redhat.com>
17901
17902         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17903         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17904         With this change, we can all remove the gpg_key_ID = ... definition
17905         from our respective cfg.mk files.
17906
17907         maint.mk: create announcement template in ~/, not in /tmp
17908         * top/maint.mk (emit_upload_commands): Adjust.
17909         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17910         Remove temporary file, .ci-msg.
17911
17912 2009-12-31  Eric Blake  <ebb9@byu.net>
17913
17914         link-warning: always build headers with link warnings
17915         * modules/arpa_inet (Makefile.am): Always build replacement
17916         header.
17917         * modules/ctype (Makefile.am): Likewise.
17918         * modules/dirent (Makefile.am): Likewise.
17919         * modules/inttypes (Makefile.am): Likewise.
17920         * modules/langinfo (Makefile.am): Likewise.
17921         * modules/locale (Makefile.am): Likewise.
17922         * modules/spawn (Makefile.am): Likewise.
17923         * modules/sys_file (Makefile.am): Likewise.
17924         * modules/sys_ioctl (Makefile.am): Likewise.
17925         * modules/sys_select (Makefile.am): Likewise.
17926         * modules/sys_socket (Makefile.am): Likewise.
17927         * modules/sys_times (Makefile.am): Likewise.
17928         * modules/sys_utsname (Makefile.am): Likewise.
17929         * modules/sys_wait (Makefile.am): Likewise.
17930         * modules/wchar (Makefile.am): Likewise.
17931         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
17932         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
17933         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
17934         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
17935         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
17936         Likewise.
17937         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17938         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17939         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
17940         Likewise.
17941         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
17942         Likewise.
17943         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17944         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
17945         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
17946         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17947         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17948         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17949         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17950         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
17951         (gl_WCHAR_H_DEFAULTS): Likewise.
17952
17953 2009-12-31  Eric Blake  <ebb9@byu.net>
17954
17955         signal, spawn: use link warnings
17956         * lib/signal.in.h (sigset_t): Make unconditional.
17957         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
17958         (sigpending, sigprocmask, sigaction): Add link warnings.
17959         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
17960         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
17961         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
17962         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
17963         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
17964         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
17965         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
17966         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
17967         (posix_spawn_file_actions_destroy)
17968         (posix_spawn_file_actions_addopen)
17969         (posix_spawn_file_actions_addclose)
17970         (posix_spawn_file_actions_adddup2): Likewise.
17971         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
17972         * tests/test-signal.c (main): Enhance test.
17973
17974         spawn: improve wrapper support
17975         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
17976         (gl_SPAWN_H_DEFAULTS): New defaults.
17977         * modules/spawn (Makefile.am): Substitute them.
17978         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
17979         Only declare if missing or broken.
17980
17981         sys_times, sys_utsname: use include_next
17982         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
17983         header.
17984         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
17985         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17986         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17987         * modules/sys_times (Depends-on): Add include_next.
17988         (Makefile.am): Substitute additional values.
17989         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17990         * lib/sys_times.in.h (includes): Include native header, if
17991         available.
17992         * lib/sys_utsname.in.h (includes): Likewise.
17993         * tests/test-sys_times.c (main): Enhance test.
17994
17995         fdutimensat: revert prior patch
17996         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
17997         utimens.h.
17998         Reported by Bruno Haible.
17999
18000 2009-12-30  Eric Blake  <ebb9@byu.net>
18001
18002         sys_wait: drop link-warning dependency
18003         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
18004         link-warning efforts.
18005         * lib/sys_wait.in.h: Likewise.
18006
18007         fdutimensat: remove bogus dependency
18008         * modules/fdutimensat (Depends-on): Drop inline.
18009
18010         unistd: fix typo
18011         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
18012
18013 2009-12-30  Bruno Haible  <bruno@clisp.org>
18014
18015         Fix compilation error with Solaris cc.
18016         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
18017         * lib/unicase/u16-is-invariant.c: Likewise.
18018         * lib/unicase/u32-is-invariant.c: Likewise.
18019         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18020
18021 2009-12-30  Bruno Haible  <bruno@clisp.org>
18022
18023         Fix test crash.
18024         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
18025         locales.
18026         Reported by Simon Josefsson <simon@josefsson.org>.
18027
18028 2009-12-30  Bruno Haible  <bruno@clisp.org>
18029
18030         Fix compilation error on most platforms.
18031         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
18032         Reported by Simon Josefsson <simon@josefsson.org>
18033         and Nelson H. F. Beebe <beebe@math.utah.edu>.
18034
18035 2009-12-30  Eric Blake  <ebb9@byu.net>
18036
18037         futimens, utimensat: work around ntfs-3g bug
18038         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
18039         a ctime bug is present, and expand workaround to cover ntfs-3g.
18040         * lib/utimens.c (fdutimens, lutimens): Likewise.
18041         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
18042         (validate_timespec): Adjust return value.
18043         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
18044         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18045         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
18046
18047 2009-12-29  Eric Blake  <ebb9@byu.net>
18048
18049         link-warning: make usage consistent
18050         * modules/ctype (Depends-on): Add link-warning.
18051         (Makefile.am): Update rules accordingly.
18052         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18053         * modules/locale (Depends-on, Makefile.am): Likewise.
18054         * modules/sys_file (Makefile.am): Likewise.
18055         * modules/getopt-posix (Makefile.am): Delete unused link warning
18056         efforts.
18057         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
18058         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
18059         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
18060         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
18061
18062         stdio: remove unused variables
18063         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
18064         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
18065         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18066
18067         tests: test more substitute headers
18068         * modules/ctype-tests: New file.
18069         * modules/dirent-tests: Likewise.
18070         * modules/spawn-tests: Likewise.
18071         * modules/sys_file-tests: Likewise.
18072         * modules/sys_ioctl-tests: Likewise.
18073         * modules/sys_wait-tests: Likewise.
18074         * tests/test-ctype.c: Likewise.
18075         * tests/test-dirent.c: Likewise.
18076         * tests/test-spawn.c: Likewise.
18077         * tests/test-sys_file.c: Likewise.
18078         * tests/test-sys_ioctl.c: Likewise.
18079         * tests/test-sys_wait.c: Likewise.
18080         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
18081         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
18082         whether or not flock is in use.
18083
18084         tests: remove License section from module
18085         * modules/arpa_inet-tests: Remove unneeded section.
18086         * modules/byteswap-tests: Likewise.
18087         * modules/ceilf-tests: Likewise.
18088         * modules/ceill-tests: Likewise.
18089         * modules/crypto/des-tests: Likewise.
18090         * modules/crypto/gc-arcfour-tests: Likewise.
18091         * modules/crypto/gc-arctwo-tests: Likewise.
18092         * modules/crypto/gc-des-tests: Likewise.
18093         * modules/crypto/gc-hmac-md5-tests: Likewise.
18094         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18095         * modules/crypto/gc-md2-tests: Likewise.
18096         * modules/crypto/gc-md4-tests: Likewise.
18097         * modules/crypto/gc-md5-tests: Likewise.
18098         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18099         * modules/crypto/gc-rijndael-tests: Likewise.
18100         * modules/crypto/gc-sha1-tests: Likewise.
18101         * modules/crypto/gc-tests: Likewise.
18102         * modules/crypto/md2-tests: Likewise.
18103         * modules/crypto/md4-tests: Likewise.
18104         * modules/fcntl-h-tests: Likewise.
18105         * modules/floorf-tests: Likewise.
18106         * modules/floorl-tests: Likewise.
18107         * modules/frexp-nolibm-tests: Likewise.
18108         * modules/frexp-tests: Likewise.
18109         * modules/frexpl-nolibm-tests: Likewise.
18110         * modules/frexpl-tests: Likewise.
18111         * modules/getaddrinfo-tests: Likewise.
18112         * modules/inttypes-tests: Likewise.
18113         * modules/isfinite-tests: Likewise.
18114         * modules/isinf-tests: Likewise.
18115         * modules/ldexpl-tests: Likewise.
18116         * modules/locale-tests: Likewise.
18117         * modules/math-tests: Likewise.
18118         * modules/netdb-tests: Likewise.
18119         * modules/netinet_in-tests: Likewise.
18120         * modules/printf-frexp-tests: Likewise.
18121         * modules/printf-frexpl-tests: Likewise.
18122         * modules/priv-set-tests: Likewise.
18123         * modules/random_r-tests: Likewise.
18124         * modules/round-tests: Likewise.
18125         * modules/roundf-tests: Likewise.
18126         * modules/roundl-tests: Likewise.
18127         * modules/search-tests: Likewise.
18128         * modules/select-tests: Likewise.
18129         * modules/signal-tests: Likewise.
18130         * modules/stdbool-tests: Likewise.
18131         * modules/stddef-tests: Likewise.
18132         * modules/stdint-tests: Likewise.
18133         * modules/stdio-tests: Likewise.
18134         * modules/stdlib-tests: Likewise.
18135         * modules/string-tests: Likewise.
18136         * modules/strings-tests: Likewise.
18137         * modules/sys_select-tests: Likewise.
18138         * modules/sys_socket-tests: Likewise.
18139         * modules/sys_stat-tests: Likewise.
18140         * modules/sys_time-tests: Likewise.
18141         * modules/sys_utsname-tests: Likewise.
18142         * modules/sysexits-tests: Likewise.
18143         * modules/time-tests: Likewise.
18144         * modules/trunc-tests: Likewise.
18145         * modules/truncf-tests: Likewise.
18146         * modules/truncl-tests: Likewise.
18147         * modules/tsearch-tests: Likewise.
18148         * modules/unistd-tests: Likewise.
18149         * modules/wchar-tests: Likewise.
18150         * modules/wctype-tests: Likewise.
18151
18152         tests: fix license on several tests
18153         * tests/test-des.c: Update to GPLv3+.
18154         * tests/test-flock.c: Likewise.
18155         * tests/test-fsync.c: Likewise.
18156         * tests/test-futimens.h: Likewise.
18157         * tests/test-gc-arcfour.c: Likewise.
18158         * tests/test-gc-arctwo.c: Likewise.
18159         * tests/test-gc-des.c: Likewise.
18160         * tests/test-gc-hmac-md5.c: Likewise.
18161         * tests/test-gc-hmac-sha1.c: Likewise.
18162         * tests/test-gc-md2.c: Likewise.
18163         * tests/test-gc-md4.c: Likewise.
18164         * tests/test-gc-md5.c: Likewise.
18165         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18166         * tests/test-gc-rijndael.c: Likewise.
18167         * tests/test-gc-sha1.c: Likewise.
18168         * tests/test-gc.c: Likewise.
18169         * tests/test-getcwd.c: Likewise.
18170         * tests/test-link.c: Likewise.
18171         * tests/test-link.h: Likewise.
18172         * tests/test-lutimens.h: Likewise.
18173         * tests/test-md2.c: Likewise.
18174         * tests/test-md4.c: Likewise.
18175         * tests/test-mkdir.h: Likewise.
18176         * tests/test-rename.c: Likewise.
18177         * tests/test-rename.h: Likewise.
18178         * tests/test-safe-alloc.c: Likewise.
18179         * tests/test-utimens-common.h: Likewise.
18180         * tests/test-utimens.h: Likewise.
18181
18182         maint: sync license texts
18183         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
18184         * doc/gpl-3.0.texi: Revert copyright year update.
18185         * doc/lgpl-3.0.texi: Likewise.
18186
18187 2009-12-29  Jim Meyering  <meyering@redhat.com>
18188
18189         update nearly all FSF copyright year lists to include 2009
18190         The files named by the following are exempted:
18191             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
18192               test -f "$dst" && { echo "$dst"; continue; }
18193               test -d "$dst" || continue
18194               echo "$dst"/$(basename "$src")
18195             done > exempt
18196             git ls-files tests/unictype >> exempt
18197         In the remaining files, convert to all-interval notation if
18198         - there is already at least one year interval like 2000-2003
18199         - the file is maintained by me
18200         - the file is in lib/uni*/, where that style already prevails
18201         Otherwise, use update-copyright's default.
18202
18203 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18204         and Eric Blake  <ebb9@byu.net>
18205
18206         tests: don't require debug system() to pass
18207         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
18208         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18209         * tests/test-unlink.h (test_unlink_func): Likewise.
18210         * tests/test-fstatat.c (main): ...into callers.
18211         * tests/test-lstat.c (main): Likewise.
18212         * tests/test-rmdir.c (main): Likewise.
18213         * tests/test-unlink.c (main): Likewise.
18214         * tests/test-unlinkat.c (main): Likewise.
18215         * tests/test-areadlink-with-size.c (main): Don't require a
18216         debug-only system call to pass, aiding cross-testing to mingw.
18217         * tests/test-areadlink.c (main): Likewise.
18218         * tests/test-areadlinkat-with-size.c (main): Likewise.
18219         * tests/test-areadlinkat.c (main): Likewise.
18220         * tests/test-canonicalize-lgpl.c (main): Likewise.
18221         * tests/test-canonicalize.c (main): Likewise.
18222         * tests/test-chown.c (main): Likewise.
18223         * tests/test-fchownat.c (main): Likewise.
18224         * tests/test-lchown.c (main): Likewise.
18225         * tests/test-fdutimensat.c (main): Likewise.
18226         * tests/test-futimens.c (main): Likewise.
18227         * tests/test-link.c (main): Likewise.
18228         * tests/test-linkat.c (main): Likewise.
18229         * tests/test-mkdir.c (main): Likewise.
18230         * tests/test-mkdirat.c (main): Likewise.
18231         * tests/test-mkfifo.c (main): Likewise.
18232         * tests/test-mkfifoat.c (main): Likewise.
18233         * tests/test-mknod.c (main): Likewise.
18234         * tests/test-readlink.c (main): Likewise.
18235         * tests/test-remove.c (main): Likewise.
18236         * tests/test-rename.c (main): Likewise.
18237         * tests/test-renameat.c (main): Likewise.
18238         * tests/test-symlink.c (main): Likewise.
18239         * tests/test-symlinkat.c (main): Likewise.
18240         * tests/test-utimens.c (main): Likewise.
18241         * tests/test-utimensat.c (main): Likewise.
18242
18243 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18244
18245         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
18246         on $(UNUSED_PARAMETER_H) to avoid build failure.
18247
18248 2009-12-28  Jim Meyering  <meyering@redhat.com>
18249
18250         update-copyright: you may specify a max. line length other than 72
18251         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18252
18253         maint: use consistent FSF copyright line syntax
18254         * lib/posixtm.c: Add missing comma in FSF copyright line.
18255         * lib/posixtm.h: Likewise.
18256         * lib/getugroups.c: Add missing ", Inc.".
18257
18258         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
18259         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
18260         FSF copyright line.  Remove trailing blanks.
18261
18262 2009-12-28  Eric Blake  <ebb9@byu.net>
18263
18264         test-dup2: reduce dependencies
18265         * modules/cloexec (Configure.ac): Set witness.
18266         * modules/dup2-tests (Depends-on): Drop cloexec.
18267         * tests/test-dup2.c (main): Skip portion of test if cloexec module
18268         not present.
18269         Suggested by Bruno Haible.
18270
18271 2009-12-26  Bruno Haible  <bruno@clisp.org>
18272
18273         Remove an unneeded dependency.
18274         * modules/fseterr (Depends-on): Remove dup2.
18275
18276 2009-12-26  Eric Blake  <ebb9@byu.net>
18277
18278         tests: use macros.h in more places
18279         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
18280         (ASSERT_STREAM): Provide default of stderr.
18281         * tests/test-dirent-safer.c: Include macros.h, using alternate
18282         stream for assertions.
18283         * tests/test-dup-safer.c: Likewise.
18284         * tests/test-freopen-safer.c: Likewise.
18285         * tests/test-getopt.c: Likewise.
18286         * tests/test-openat-safer.c: Likewise.
18287         * tests/test-pipe.c: Likewise.
18288         * tests/test-popen-safer.c: Likewise.
18289         * modules/dirent-safer-tests (Files): Include macros.h.
18290         * modules/unistd-safer-tests (Files): Likewise.
18291         * modules/freopen-safer-tests (Files): Likewise.
18292         * modules/getopt-posix-tests (Files): Likewise.
18293         * modules/openat-safer-tests (Files): Likewise.
18294         * modules/pipe-tests (Files): Likewise.
18295
18296 2009-12-26  Bruno Haible  <bruno@clisp.org>
18297
18298         javacomp: Portability fix.
18299         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
18300         that it also works on Solaris.
18301
18302 2009-12-26  Bruno Haible  <bruno@clisp.org>
18303
18304         localename: Fix storage allocation of gl_locale_name_thread's result.
18305         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
18306         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
18307         all platforms that have 'uselocale'.
18308         (gl_locale_name_thread_unsafe): New function, extracted from
18309         gl_locale_name_thread.
18310         (gl_locale_name_thread): Call struniq on all platforms that have
18311         'uselocale'.
18312         * tests/test-localename.c (test_locale_name_thread): Check that the
18313         resulting strings are permanently allocated.
18314         * modules/localename-tests (Depends-on): Add strdup.
18315
18316 2009-12-26  Bruno Haible  <bruno@clisp.org>
18317
18318         * tests/test-localename.c (categories): Fill in the strings.
18319
18320 2009-12-26  Jim Meyering  <meyering@redhat.com>
18321
18322         isdir: complete the removal of m4/isdir.m4
18323         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
18324
18325         isdir: clean up, since at least grep still uses it
18326         * lib/isdir.c: Include "isdir.h".
18327         (S_ISDIR): Remove now-unneeded definition.
18328         * modules/isdir (Files): Add lib/isdir.h.
18329         * lib/isdir.h: New file, with declaration.
18330         * m4/isdir.m4: Remove file -- unneeded.
18331
18332 2009-12-25  Bruno Haible  <bruno@clisp.org>
18333
18334         selinux-h: Make generated .h files standalone.
18335         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
18336         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
18337         * lib/se-selinux.in.h: Likewise.
18338         * modules/selinux-h (Depends-on): Add unused-parameter.
18339         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
18340         selinux/selinux.h and selinux/context.h.
18341         Suggested by Eric Blake.
18342
18343 2009-12-25  Bruno Haible  <bruno@clisp.org>
18344
18345         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
18346         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
18347         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
18348         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
18349         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
18350
18351 2009-12-24  Bruno Haible  <bruno@clisp.org>
18352
18353         openat: Fix warning.
18354         * lib/openat-proc.c: Include <unistd.h>.
18355
18356 2009-12-24  Bruno Haible  <bruno@clisp.org>
18357
18358         New module 'unused-parameter'.
18359         * build-aux/unused-parameter.h: New file, extracted from earlier
18360         gnulib-common.m4.
18361         * modules/unused-parameter: New file.
18362         * lib/unistr.h: Include unused-parameter.h.
18363         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
18364         _GL_UNUSED.
18365         * modules/unistr/base (Depends-on): Add unused-parameter.
18366
18367 2009-12-24  Bruno Haible  <bruno@clisp.org>
18368
18369         Add missing dependencies to 'extensions' module.
18370         * m4/extensions.m4: Add comment.
18371         * modules/accept4 (Depends-on): Add extensions.
18372         * modules/dup3 (Depends-on): Likewise.
18373         * modules/fcntl (Depends-on): Likewise.
18374         * modules/futimens (Depends-on): Likewise.
18375         * modules/mknod (Depends-on): Likewise.
18376         * modules/pipe2 (Depends-on): Likewise.
18377         * modules/stat-time (Depends-on): Likewise.
18378         * modules/strcasestr-simple (Depends-on): Likewise.
18379         * modules/strsignal (Depends-on): Likewise.
18380         * modules/utimensat (Depends-on): Likewise.
18381         * modules/localcharset (Depends-on): Likewise. Needed because of
18382         gl_FCNTL_O_FLAGS.
18383         * modules/wcrtomb (Depends-on): Likewise. Needed because of
18384         AC_TYPE_MBSTATE_T.
18385         * modules/wcsnrtombs (Depends-on): Likewise.
18386         * modules/wcsrtombs (Depends-on): Likewise.
18387
18388 2009-12-24  Bruno Haible  <bruno@clisp.org>
18389
18390         binary-io: Avoid gcc warning due to SET_BINARY.
18391         * lib/binary-io.h (SET_BINARY): Cast the result to void.
18392         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
18393
18394 2009-12-24  Bruno Haible  <bruno@clisp.org>
18395
18396         Avoid future namespace pollution on glibc systems.
18397         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
18398         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
18399         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
18400         glibc systems.
18401
18402 2009-12-24  Bruno Haible  <bruno@clisp.org>
18403
18404         Refactor common macros used in tests.
18405         * tests/macros.h: New file.
18406         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
18407         and/or <stdlib.h>, if appropriate.
18408         (ASSERT, SIZEOF): Remove macros.
18409         * tests/test-areadlink-with-size.c: Likewise.
18410         * tests/test-areadlinkat.c: Likewise.
18411         * tests/test-areadlinkat-with-size.c: Likewise.
18412         * tests/test-argmatch.c: Likewise.
18413         * tests/test-argv-iter.c: Likewise.
18414         * tests/test-array-mergesort.c: Likewise.
18415         * tests/test-array_list.c: Likewise.
18416         * tests/test-array_oset.c: Likewise.
18417         * tests/test-avltree_list.c: Likewise.
18418         * tests/test-avltree_oset.c: Likewise.
18419         * tests/test-avltreehash_list.c: Likewise.
18420         * tests/test-base64.c: Likewise.
18421         * tests/test-binary-io.c: Likewise.
18422         * tests/test-bitrotate.c: Likewise.
18423         * tests/test-btowc.c: Likewise.
18424         * tests/test-byteswap.c: Likewise.
18425         * tests/test-c-ctype.c: Likewise.
18426         * tests/test-c-stack.c: Likewise.
18427         * tests/test-c-strcasecmp.c: Likewise.
18428         * tests/test-c-strcasestr.c: Likewise.
18429         * tests/test-c-strncasecmp.c: Likewise.
18430         * tests/test-c-strstr.c: Likewise.
18431         * tests/test-canonicalize-lgpl.c: Likewise.
18432         * tests/test-canonicalize.c: Likewise.
18433         * tests/test-carray_list.c: Likewise.
18434         * tests/test-ceilf1.c: Likewise.
18435         * tests/test-ceilf2.c: Likewise.
18436         * tests/test-ceill.c: Likewise.
18437         * tests/test-chown.c: Likewise.
18438         * tests/test-cloexec.c: Likewise.
18439         * tests/test-copy-acl.c: Likewise.
18440         * tests/test-copy-file.c: Likewise.
18441         * tests/test-count-one-bits.c: Likewise.
18442         * tests/test-dprintf-posix.c: Likewise.
18443         * tests/test-dup2.c: Likewise.
18444         * tests/test-dup3.c: Likewise.
18445         * tests/test-duplocale.c: Likewise.
18446         * tests/test-fbufmode.c: Likewise.
18447         * tests/test-fchdir.c: Likewise.
18448         * tests/test-fchownat.c: Likewise.
18449         * tests/test-fcntl-safer.c: Likewise.
18450         * tests/test-fcntl.c: Likewise.
18451         * tests/test-fdopendir.c: Likewise.
18452         * tests/test-fdutimensat.c: Likewise.
18453         * tests/test-fflush2.c: Likewise.
18454         * tests/test-file-has-acl.c: Likewise.
18455         * tests/test-filevercmp.c: Likewise.
18456         * tests/test-flock.c: Likewise.
18457         * tests/test-floorf1.c: Likewise.
18458         * tests/test-floorf2.c: Likewise.
18459         * tests/test-floorl.c: Likewise.
18460         * tests/test-fnmatch.c: Likewise.
18461         * tests/test-fopen.h: Likewise.
18462         * tests/test-fpending.c: Likewise.
18463         * tests/test-fprintf-posix.c: Likewise.
18464         * tests/test-fpurge.c: Likewise.
18465         * tests/test-freadable.c: Likewise.
18466         * tests/test-freadahead.c: Likewise.
18467         * tests/test-freading.c: Likewise.
18468         * tests/test-freadptr.c: Likewise.
18469         * tests/test-freadptr2.c: Likewise.
18470         * tests/test-freadseek.c: Likewise.
18471         * tests/test-freopen.c: Likewise.
18472         * tests/test-frexp.c: Likewise.
18473         * tests/test-frexpl.c: Likewise.
18474         * tests/test-fseek.c: Likewise.
18475         * tests/test-fseeko.c: Likewise.
18476         * tests/test-fstatat.c: Likewise.
18477         * tests/test-fstrcmp.c: Likewise.
18478         * tests/test-fsync.c: Likewise.
18479         * tests/test-ftell.c: Likewise.
18480         * tests/test-ftello.c: Likewise.
18481         * tests/test-func.c: Likewise.
18482         * tests/test-futimens.c: Likewise.
18483         * tests/test-fwritable.c: Likewise.
18484         * tests/test-fwriting.c: Likewise.
18485         * tests/test-getcwd.c: Likewise.
18486         * tests/test-getdate.c: Likewise.
18487         * tests/test-getdelim.c: Likewise.
18488         * tests/test-getdtablesize.c: Likewise.
18489         * tests/test-getgroups.c: Likewise.
18490         * tests/test-getline.c: Likewise.
18491         * tests/test-getndelim2.c: Likewise.
18492         * tests/test-glob.c: Likewise.
18493         * tests/test-hash.c: Likewise.
18494         * tests/test-i-ring.c: Likewise.
18495         * tests/test-iconv-utf.c: Likewise.
18496         * tests/test-iconv.c: Likewise.
18497         * tests/test-idpriv-drop.c: Likewise.
18498         * tests/test-idpriv-droptemp.c: Likewise.
18499         * tests/test-inet_ntop.c: Likewise.
18500         * tests/test-inet_pton.c: Likewise.
18501         * tests/test-isblank.c: Likewise.
18502         * tests/test-isfinite.c: Likewise.
18503         * tests/test-isinf.c: Likewise.
18504         * tests/test-isnan.c: Likewise.
18505         * tests/test-isnand.h: Likewise.
18506         * tests/test-isnanf.h: Likewise.
18507         * tests/test-isnanl.h: Likewise.
18508         * tests/test-lchown.c: Likewise.
18509         * tests/test-ldexpl.c: Likewise.
18510         * tests/test-link.c: Likewise.
18511         * tests/test-linkat.c: Likewise.
18512         * tests/test-linked_list.c: Likewise.
18513         * tests/test-linkedhash_list.c: Likewise.
18514         * tests/test-localename.c: Likewise.
18515         * tests/test-lseek.c: Likewise.
18516         * tests/test-lstat.c: Likewise.
18517         * tests/test-mbmemcasecmp.c: Likewise.
18518         * tests/test-mbmemcasecoll.c: Likewise.
18519         * tests/test-mbrtowc.c: Likewise.
18520         * tests/test-mbscasecmp.c: Likewise.
18521         * tests/test-mbscasestr1.c: Likewise.
18522         * tests/test-mbscasestr2.c: Likewise.
18523         * tests/test-mbscasestr3.c: Likewise.
18524         * tests/test-mbscasestr4.c: Likewise.
18525         * tests/test-mbschr.c: Likewise.
18526         * tests/test-mbscspn.c: Likewise.
18527         * tests/test-mbsinit.c: Likewise.
18528         * tests/test-mbsncasecmp.c: Likewise.
18529         * tests/test-mbsnrtowcs.c: Likewise.
18530         * tests/test-mbspbrk.c: Likewise.
18531         * tests/test-mbspcasecmp.c: Likewise.
18532         * tests/test-mbsrchr.c: Likewise.
18533         * tests/test-mbsrtowcs.c: Likewise.
18534         * tests/test-mbsspn.c: Likewise.
18535         * tests/test-mbsstr1.c: Likewise.
18536         * tests/test-mbsstr2.c: Likewise.
18537         * tests/test-mbsstr3.c: Likewise.
18538         * tests/test-memchr.c: Likewise.
18539         * tests/test-memchr2.c: Likewise.
18540         * tests/test-memcmp.c: Likewise.
18541         * tests/test-memmem.c: Likewise.
18542         * tests/test-memrchr.c: Likewise.
18543         * tests/test-mkdir.c: Likewise.
18544         * tests/test-mkdirat.c: Likewise.
18545         * tests/test-mkfifo.c: Likewise.
18546         * tests/test-mkfifoat.c: Likewise.
18547         * tests/test-mknod.c: Likewise.
18548         * tests/test-nanosleep.c: Likewise.
18549         * tests/test-nl_langinfo.c: Likewise.
18550         * tests/test-obstack-printf.c: Likewise.
18551         * tests/test-open.c: Likewise.
18552         * tests/test-openat.c: Likewise.
18553         * tests/test-pipe-filter-gi1.c: Likewise.
18554         * tests/test-pipe-filter-gi2-main.c: Likewise.
18555         * tests/test-pipe-filter-ii1.c: Likewise.
18556         * tests/test-pipe-filter-ii2-main.c: Likewise.
18557         * tests/test-pipe2.c: Likewise.
18558         * tests/test-popen.h: Likewise.
18559         * tests/test-posixtm.c: Likewise.
18560         * tests/test-pread.c: Likewise.
18561         * tests/test-printf-frexp.c: Likewise.
18562         * tests/test-printf-frexpl.c: Likewise.
18563         * tests/test-printf-posix.c: Likewise.
18564         * tests/test-priv-set.c: Likewise.
18565         * tests/test-quotearg.c: Likewise.
18566         * tests/test-random_r.c: Likewise.
18567         * tests/test-rawmemchr.c: Likewise.
18568         * tests/test-rbtree_list.c: Likewise.
18569         * tests/test-rbtree_oset.c: Likewise.
18570         * tests/test-rbtreehash_list.c: Likewise.
18571         * tests/test-readlink.c: Likewise.
18572         * tests/test-remove.c: Likewise.
18573         * tests/test-rename.c: Likewise.
18574         * tests/test-renameat.c: Likewise.
18575         * tests/test-rmdir.c: Likewise.
18576         * tests/test-round1.c: Likewise.
18577         * tests/test-roundf1.c: Likewise.
18578         * tests/test-roundl.c: Likewise.
18579         * tests/test-safe-alloc.c: Likewise.
18580         * tests/test-sameacls.c: Likewise.
18581         * tests/test-set-mode-acl.c: Likewise.
18582         * tests/test-setenv.c: Likewise.
18583         * tests/test-sigaction.c: Likewise.
18584         * tests/test-signbit.c: Likewise.
18585         * tests/test-sleep.c: Likewise.
18586         * tests/test-snprintf-posix.c: Likewise.
18587         * tests/test-snprintf.c: Likewise.
18588         * tests/test-sprintf-posix.c: Likewise.
18589         * tests/test-stat-time.c: Likewise.
18590         * tests/test-stat.c: Likewise.
18591         * tests/test-strcasestr.c: Likewise.
18592         * tests/test-strchrnul.c: Likewise.
18593         * tests/test-strerror.c: Likewise.
18594         * tests/test-striconv.c: Likewise.
18595         * tests/test-striconveh.c: Likewise.
18596         * tests/test-striconveha.c: Likewise.
18597         * tests/test-strsignal.c: Likewise.
18598         * tests/test-strstr.c: Likewise.
18599         * tests/test-strtod.c: Likewise.
18600         * tests/test-strverscmp.c: Likewise.
18601         * tests/test-symlink.c: Likewise.
18602         * tests/test-symlinkat.c: Likewise.
18603         * tests/test-trunc1.c: Likewise.
18604         * tests/test-trunc2.c: Likewise.
18605         * tests/test-truncf1.c: Likewise.
18606         * tests/test-truncf2.c: Likewise.
18607         * tests/test-truncl.c: Likewise.
18608         * tests/test-uname.c: Likewise.
18609         * tests/test-unlink.c: Likewise.
18610         * tests/test-unlinkat.c: Likewise.
18611         * tests/test-unsetenv.c: Likewise.
18612         * tests/test-usleep.c: Likewise.
18613         * tests/test-utimens.c: Likewise.
18614         * tests/test-utimensat.c: Likewise.
18615         * tests/test-vasnprintf-posix.c: Likewise.
18616         * tests/test-vasnprintf-posix2.c: Likewise.
18617         * tests/test-vasnprintf.c: Likewise.
18618         * tests/test-vasprintf-posix.c: Likewise.
18619         * tests/test-vasprintf.c: Likewise.
18620         * tests/test-vdprintf-posix.c: Likewise.
18621         * tests/test-vfprintf-posix.c: Likewise.
18622         * tests/test-vprintf-posix.c: Likewise.
18623         * tests/test-vsnprintf-posix.c: Likewise.
18624         * tests/test-vsnprintf.c: Likewise.
18625         * tests/test-vsprintf-posix.c: Likewise.
18626         * tests/test-wcrtomb.c: Likewise.
18627         * tests/test-wcsnrtombs.c: Likewise.
18628         * tests/test-wcsrtombs.c: Likewise.
18629         * tests/test-wctype.c: Likewise.
18630         * tests/test-wcwidth.c: Likewise.
18631         * tests/test-xfprintf-posix.c: Likewise.
18632         * tests/test-xmemdup0.c: Likewise.
18633         * tests/test-xprintf-posix.c: Likewise.
18634         * tests/test-xvasprintf.c: Likewise.
18635         * tests/unicase/test-locale-language.c: Likewise.
18636         * tests/unicase/test-mapping-part1.h: Likewise.
18637         * tests/unicase/test-predicate-part1.h: Likewise.
18638         * tests/unicase/test-u8-casecmp.c: Likewise.
18639         * tests/unicase/test-u8-casecoll.c: Likewise.
18640         * tests/unicase/test-u8-casefold.c: Likewise.
18641         * tests/unicase/test-u8-is-cased.c: Likewise.
18642         * tests/unicase/test-u8-is-casefolded.c: Likewise.
18643         * tests/unicase/test-u8-is-lowercase.c: Likewise.
18644         * tests/unicase/test-u8-is-titlecase.c: Likewise.
18645         * tests/unicase/test-u8-is-uppercase.c: Likewise.
18646         * tests/unicase/test-u8-tolower.c: Likewise.
18647         * tests/unicase/test-u8-totitle.c: Likewise.
18648         * tests/unicase/test-u8-toupper.c: Likewise.
18649         * tests/unicase/test-u16-casecmp.c: Likewise.
18650         * tests/unicase/test-u16-casecoll.c: Likewise.
18651         * tests/unicase/test-u16-casefold.c: Likewise.
18652         * tests/unicase/test-u16-is-cased.c: Likewise.
18653         * tests/unicase/test-u16-is-casefolded.c: Likewise.
18654         * tests/unicase/test-u16-is-lowercase.c: Likewise.
18655         * tests/unicase/test-u16-is-titlecase.c: Likewise.
18656         * tests/unicase/test-u16-is-uppercase.c: Likewise.
18657         * tests/unicase/test-u16-tolower.c: Likewise.
18658         * tests/unicase/test-u16-totitle.c: Likewise.
18659         * tests/unicase/test-u16-toupper.c: Likewise.
18660         * tests/unicase/test-u32-casecmp.c: Likewise.
18661         * tests/unicase/test-u32-casecoll.c: Likewise.
18662         * tests/unicase/test-u32-casefold.c: Likewise.
18663         * tests/unicase/test-u32-is-cased.c: Likewise.
18664         * tests/unicase/test-u32-is-casefolded.c: Likewise.
18665         * tests/unicase/test-u32-is-lowercase.c: Likewise.
18666         * tests/unicase/test-u32-is-titlecase.c: Likewise.
18667         * tests/unicase/test-u32-is-uppercase.c: Likewise.
18668         * tests/unicase/test-u32-tolower.c: Likewise.
18669         * tests/unicase/test-u32-totitle.c: Likewise.
18670         * tests/unicase/test-u32-toupper.c: Likewise.
18671         * tests/unicase/test-ulc-casecmp.c: Likewise.
18672         * tests/unicase/test-ulc-casecoll.c: Likewise.
18673         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18674         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18675         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18676         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18677         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18678         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18679         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18680         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18681         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18682         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18683         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18684         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18685         * tests/unictype/test-bidi_byname.c: Likewise.
18686         * tests/unictype/test-bidi_name.c: Likewise.
18687         * tests/unictype/test-bidi_of.c: Likewise.
18688         * tests/unictype/test-bidi_test.c: Likewise.
18689         * tests/unictype/test-block_list.c: Likewise.
18690         * tests/unictype/test-block_of.c: Likewise.
18691         * tests/unictype/test-block_test.c: Likewise.
18692         * tests/unictype/test-categ_and.c: Likewise.
18693         * tests/unictype/test-categ_and_not.c: Likewise.
18694         * tests/unictype/test-categ_byname.c: Likewise.
18695         * tests/unictype/test-categ_name.c: Likewise.
18696         * tests/unictype/test-categ_none.c: Likewise.
18697         * tests/unictype/test-categ_of.c: Likewise.
18698         * tests/unictype/test-categ_or.c: Likewise.
18699         * tests/unictype/test-categ_test_withtable.c: Likewise.
18700         * tests/unictype/test-combining.c: Likewise.
18701         * tests/unictype/test-decdigit.c: Likewise.
18702         * tests/unictype/test-digit.c: Likewise.
18703         * tests/unictype/test-mirror.c: Likewise.
18704         * tests/unictype/test-numeric.c: Likewise.
18705         * tests/unictype/test-pr_byname.c: Likewise.
18706         * tests/unictype/test-pr_test.c: Likewise.
18707         * tests/unictype/test-predicate-part1.h: Likewise.
18708         * tests/unictype/test-scripts.c: Likewise.
18709         * tests/unictype/test-sy_c_ident.c: Likewise.
18710         * tests/unictype/test-sy_java_ident.c: Likewise.
18711         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18712         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18713         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18714         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18715         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18716         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18717         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18718         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18719         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18720         * tests/uninorm/test-compat-decomposition.c: Likewise.
18721         * tests/uninorm/test-composition.c: Likewise.
18722         * tests/uninorm/test-decomposing-form.c: Likewise.
18723         * tests/uninorm/test-decomposition.c: Likewise.
18724         * tests/uninorm/test-u8-nfc.c: Likewise.
18725         * tests/uninorm/test-u8-nfd.c: Likewise.
18726         * tests/uninorm/test-u8-nfkc.c: Likewise.
18727         * tests/uninorm/test-u8-nfkd.c: Likewise.
18728         * tests/uninorm/test-u8-normcmp.c: Likewise.
18729         * tests/uninorm/test-u8-normcoll.c: Likewise.
18730         * tests/uninorm/test-u16-nfc.c: Likewise.
18731         * tests/uninorm/test-u16-nfd.c: Likewise.
18732         * tests/uninorm/test-u16-nfkc.c: Likewise.
18733         * tests/uninorm/test-u16-nfkd.c: Likewise.
18734         * tests/uninorm/test-u16-normcmp.c: Likewise.
18735         * tests/uninorm/test-u16-normcoll.c: Likewise.
18736         * tests/uninorm/test-u32-nfc.c: Likewise.
18737         * tests/uninorm/test-u32-nfd.c: Likewise.
18738         * tests/uninorm/test-u32-nfkc.c: Likewise.
18739         * tests/uninorm/test-u32-nfkd.c: Likewise.
18740         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18741         * tests/uninorm/test-u32-normcmp.c: Likewise.
18742         * tests/uninorm/test-u32-normcoll.c: Likewise.
18743         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18744         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18745         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18746         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18747         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18748         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18749         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18750         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18751         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18752         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18753         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18754         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18755         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18756         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18757         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18758         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18759         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18760         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18761         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18762         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18763         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18764         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18765         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18766         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18767         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18768         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18769         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18770         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18771         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18772         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18773         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18774         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18775         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18776         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18777         * tests/uniwidth/test-u8-width.c: Likewise.
18778         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18779         * tests/uniwidth/test-u16-width.c: Likewise.
18780         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18781         * tests/uniwidth/test-u32-width.c: Likewise.
18782         * tests/uniwidth/test-uc_width.c: Likewise.
18783         * tests/uniwidth/test-uc_width2.c: Likewise.
18784         * modules/acl-tests (Files): Add tests/macros.h.
18785         * modules/areadlink-tests (Files): Likewise.
18786         * modules/areadlink-with-size-tests (Files): Likewise.
18787         * modules/areadlinkat-tests (Files): Likewise.
18788         * modules/areadlinkat-with-size-tests (Files): Likewise.
18789         * modules/argmatch-tests (Files): Likewise.
18790         * modules/argv-iter-tests (Files): Likewise.
18791         * modules/array-list-tests (Files): Likewise.
18792         * modules/array-mergesort-tests (Files): Likewise.
18793         * modules/array-oset-tests (Files): Likewise.
18794         * modules/avltree-list-tests (Files): Likewise.
18795         * modules/avltree-oset-tests (Files): Likewise.
18796         * modules/avltreehash-list-tests (Files): Likewise.
18797         * modules/base64-tests (Files): Likewise.
18798         * modules/binary-io-tests (Files): Likewise.
18799         * modules/bitrotate-tests (Files): Likewise.
18800         * modules/btowc-tests (Files): Likewise.
18801         * modules/byteswap-tests (Files): Likewise.
18802         * modules/c-ctype-tests (Files): Likewise.
18803         * modules/c-stack-tests (Files): Likewise.
18804         * modules/c-strcase-tests (Files): Likewise.
18805         * modules/c-strcasestr-tests (Files): Likewise.
18806         * modules/c-strstr-tests (Files): Likewise.
18807         * modules/canonicalize-lgpl-tests (Files): Likewise.
18808         * modules/canonicalize-tests (Files): Likewise.
18809         * modules/carray-list-tests (Files): Likewise.
18810         * modules/ceilf-tests (Files): Likewise.
18811         * modules/ceill-tests (Files): Likewise.
18812         * modules/chown-tests (Files): Likewise.
18813         * modules/cloexec-tests (Files): Likewise.
18814         * modules/copy-file-tests (Files): Likewise.
18815         * modules/count-one-bits-tests (Files): Likewise.
18816         * modules/dprintf-posix-tests (Files): Likewise.
18817         * modules/dup2-tests (Files): Likewise.
18818         * modules/dup3-tests (Files): Likewise.
18819         * modules/duplocale-tests (Files): Likewise.
18820         * modules/fbufmode-tests (Files): Likewise.
18821         * modules/fchdir-tests (Files): Likewise.
18822         * modules/fcntl-safer-tests (Files): Likewise.
18823         * modules/fcntl-tests (Files): Likewise.
18824         * modules/fdopendir-tests (Files): Likewise.
18825         * modules/fdutimensat-tests (Files): Likewise.
18826         * modules/fflush-tests (Files): Likewise.
18827         * modules/filevercmp-tests (Files): Likewise.
18828         * modules/flock-tests (Files): Likewise.
18829         * modules/floorf-tests (Files): Likewise.
18830         * modules/floorl-tests (Files): Likewise.
18831         * modules/fnmatch-tests (Files): Likewise.
18832         * modules/fopen-safer-tests (Files): Likewise.
18833         * modules/fopen-tests (Files): Likewise.
18834         * modules/fpending-tests (Files): Likewise.
18835         * modules/fprintf-posix-tests (Files): Likewise.
18836         * modules/fpurge-tests (Files): Likewise.
18837         * modules/freadable-tests (Files): Likewise.
18838         * modules/freadahead-tests (Files): Likewise.
18839         * modules/freading-tests (Files): Likewise.
18840         * modules/freadptr-tests (Files): Likewise.
18841         * modules/freadseek-tests (Files): Likewise.
18842         * modules/freopen-tests (Files): Likewise.
18843         * modules/frexp-nolibm-tests (Files): Likewise.
18844         * modules/frexp-tests (Files): Likewise.
18845         * modules/frexpl-nolibm-tests (Files): Likewise.
18846         * modules/frexpl-tests (Files): Likewise.
18847         * modules/fseek-tests (Files): Likewise.
18848         * modules/fseeko-tests (Files): Likewise.
18849         * modules/fstrcmp-tests (Files): Likewise.
18850         * modules/fsync-tests (Files): Likewise.
18851         * modules/ftell-tests (Files): Likewise.
18852         * modules/ftello-tests (Files): Likewise.
18853         * modules/func-tests (Files): Likewise.
18854         * modules/futimens-tests (Files): Likewise.
18855         * modules/fwritable-tests (Files): Likewise.
18856         * modules/fwriting-tests (Files): Likewise.
18857         * modules/getcwd-tests (Files): Likewise.
18858         * modules/getdate-tests (Files): Likewise.
18859         * modules/getdelim-tests (Files): Likewise.
18860         * modules/getdtablesize-tests (Files): Likewise.
18861         * modules/getgroups-tests (Files): Likewise.
18862         * modules/getline-tests (Files): Likewise.
18863         * modules/getndelim2-tests (Files): Likewise.
18864         * modules/glob-tests (Files): Likewise.
18865         * modules/hash-tests (Files): Likewise.
18866         * modules/i-ring-tests (Files): Likewise.
18867         * modules/iconv-tests (Files): Likewise.
18868         * modules/iconv_open-utf-tests (Files): Likewise.
18869         * modules/idpriv-drop-tests (Files): Likewise.
18870         * modules/idpriv-droptemp-tests (Files): Likewise.
18871         * modules/inet_ntop-tests (Files): Likewise.
18872         * modules/inet_pton-tests (Files): Likewise.
18873         * modules/isblank-tests (Files): Likewise.
18874         * modules/isfinite-tests (Files): Likewise.
18875         * modules/isinf-tests (Files): Likewise.
18876         * modules/isnan-tests (Files): Likewise.
18877         * modules/isnand-nolibm-tests (Files): Likewise.
18878         * modules/isnand-tests (Files): Likewise.
18879         * modules/isnanf-nolibm-tests (Files): Likewise.
18880         * modules/isnanf-tests (Files): Likewise.
18881         * modules/isnanl-nolibm-tests (Files): Likewise.
18882         * modules/isnanl-tests (Files): Likewise.
18883         * modules/lchown-tests (Files): Likewise.
18884         * modules/ldexpl-tests (Files): Likewise.
18885         * modules/link-tests (Files): Likewise.
18886         * modules/linkat-tests (Files): Likewise.
18887         * modules/linked-list-tests (Files): Likewise.
18888         * modules/linkedhash-list-tests (Files): Likewise.
18889         * modules/localename-tests (Files): Likewise.
18890         * modules/lseek-tests (Files): Likewise.
18891         * modules/lstat-tests (Files): Likewise.
18892         * modules/mbmemcasecmp-tests (Files): Likewise.
18893         * modules/mbmemcasecoll-tests (Files): Likewise.
18894         * modules/mbrtowc-tests (Files): Likewise.
18895         * modules/mbscasecmp-tests (Files): Likewise.
18896         * modules/mbscasestr-tests (Files): Likewise.
18897         * modules/mbschr-tests (Files): Likewise.
18898         * modules/mbscspn-tests (Files): Likewise.
18899         * modules/mbsinit-tests (Files): Likewise.
18900         * modules/mbsncasecmp-tests (Files): Likewise.
18901         * modules/mbsnrtowcs-tests (Files): Likewise.
18902         * modules/mbspbrk-tests (Files): Likewise.
18903         * modules/mbspcasecmp-tests (Files): Likewise.
18904         * modules/mbsrchr-tests (Files): Likewise.
18905         * modules/mbsrtowcs-tests (Files): Likewise.
18906         * modules/mbsspn-tests (Files): Likewise.
18907         * modules/mbsstr-tests (Files): Likewise.
18908         * modules/memchr-tests (Files): Likewise.
18909         * modules/memchr2-tests (Files): Likewise.
18910         * modules/memcmp-tests (Files): Likewise.
18911         * modules/memmem-tests (Files): Likewise.
18912         * modules/memrchr-tests (Files): Likewise.
18913         * modules/mkdir-tests (Files): Likewise.
18914         * modules/mkfifo-tests (Files): Likewise.
18915         * modules/mkfifoat-tests (Files): Likewise.
18916         * modules/mknod-tests (Files): Likewise.
18917         * modules/nanosleep-tests (Files): Likewise.
18918         * modules/nl_langinfo-tests (Files): Likewise.
18919         * modules/obstack-printf-tests (Files): Likewise.
18920         * modules/open-tests (Files): Likewise.
18921         * modules/openat-tests (Files): Likewise.
18922         * modules/pipe-filter-gi-tests (Files): Likewise.
18923         * modules/pipe-filter-ii-tests (Files): Likewise.
18924         * modules/pipe2-tests (Files): Likewise.
18925         * modules/popen-safer-tests (Files): Likewise.
18926         * modules/popen-tests (Files): Likewise.
18927         * modules/posixtm-tests (Files): Likewise.
18928         * modules/pread-tests (Files): Likewise.
18929         * modules/printf-frexp-tests (Files): Likewise.
18930         * modules/printf-frexpl-tests (Files): Likewise.
18931         * modules/printf-posix-tests (Files): Likewise.
18932         * modules/priv-set-tests (Files): Likewise.
18933         * modules/quotearg-tests (Files): Likewise.
18934         * modules/random_r-tests (Files): Likewise.
18935         * modules/rawmemchr-tests (Files): Likewise.
18936         * modules/rbtree-list-tests (Files): Likewise.
18937         * modules/rbtree-oset-tests (Files): Likewise.
18938         * modules/rbtreehash-list-tests (Files): Likewise.
18939         * modules/readlink-tests (Files): Likewise.
18940         * modules/remove-tests (Files): Likewise.
18941         * modules/rename-tests (Files): Likewise.
18942         * modules/renameat-tests (Files): Likewise.
18943         * modules/rmdir-tests (Files): Likewise.
18944         * modules/round-tests (Files): Likewise.
18945         * modules/roundf-tests (Files): Likewise.
18946         * modules/roundl-tests (Files): Likewise.
18947         * modules/safe-alloc-tests (Files): Likewise.
18948         * modules/setenv-tests (Files): Likewise.
18949         * modules/sigaction-tests (Files): Likewise.
18950         * modules/signbit-tests (Files): Likewise.
18951         * modules/sleep-tests (Files): Likewise.
18952         * modules/snprintf-posix-tests (Files): Likewise.
18953         * modules/snprintf-tests (Files): Likewise.
18954         * modules/sprintf-posix-tests (Files): Likewise.
18955         * modules/stat-tests (Files): Likewise.
18956         * modules/stat-time-tests (Files): Likewise.
18957         * modules/strcasestr-tests (Files): Likewise.
18958         * modules/strchrnul-tests (Files): Likewise.
18959         * modules/strerror-tests (Files): Likewise.
18960         * modules/striconv-tests (Files): Likewise.
18961         * modules/striconveh-tests (Files): Likewise.
18962         * modules/striconveha-tests (Files): Likewise.
18963         * modules/strsignal-tests (Files): Likewise.
18964         * modules/strstr-tests (Files): Likewise.
18965         * modules/strtod-tests (Files): Likewise.
18966         * modules/strverscmp-tests (Files): Likewise.
18967         * modules/symlink-tests (Files): Likewise.
18968         * modules/symlinkat-tests (Files): Likewise.
18969         * modules/trunc-tests (Files): Likewise.
18970         * modules/truncf-tests (Files): Likewise.
18971         * modules/truncl-tests (Files): Likewise.
18972         * modules/uname-tests (Files): Likewise.
18973         * modules/unicase/cased-tests (Files): Likewise.
18974         * modules/unicase/ignorable-tests (Files): Likewise.
18975         * modules/unicase/locale-language-tests (Files): Likewise.
18976         * modules/unicase/tolower-tests (Files): Likewise.
18977         * modules/unicase/totitle-tests (Files): Likewise.
18978         * modules/unicase/toupper-tests (Files): Likewise.
18979         * modules/unicase/u8-casecmp-tests (Files): Likewise.
18980         * modules/unicase/u8-casecoll-tests (Files): Likewise.
18981         * modules/unicase/u8-casefold-tests (Files): Likewise.
18982         * modules/unicase/u8-is-cased-tests (Files): Likewise.
18983         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
18984         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
18985         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
18986         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
18987         * modules/unicase/u8-tolower-tests (Files): Likewise.
18988         * modules/unicase/u8-totitle-tests (Files): Likewise.
18989         * modules/unicase/u8-toupper-tests (Files): Likewise.
18990         * modules/unicase/u16-casecmp-tests (Files): Likewise.
18991         * modules/unicase/u16-casecoll-tests (Files): Likewise.
18992         * modules/unicase/u16-casefold-tests (Files): Likewise.
18993         * modules/unicase/u16-is-cased-tests (Files): Likewise.
18994         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
18995         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
18996         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
18997         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
18998         * modules/unicase/u16-tolower-tests (Files): Likewise.
18999         * modules/unicase/u16-totitle-tests (Files): Likewise.
19000         * modules/unicase/u16-toupper-tests (Files): Likewise.
19001         * modules/unicase/u32-casecmp-tests (Files): Likewise.
19002         * modules/unicase/u32-casecoll-tests (Files): Likewise.
19003         * modules/unicase/u32-casefold-tests (Files): Likewise.
19004         * modules/unicase/u32-is-cased-tests (Files): Likewise.
19005         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
19006         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
19007         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
19008         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
19009         * modules/unicase/u32-tolower-tests (Files): Likewise.
19010         * modules/unicase/u32-totitle-tests (Files): Likewise.
19011         * modules/unicase/u32-toupper-tests (Files): Likewise.
19012         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
19013         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
19014         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
19015         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
19016         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
19017         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
19018         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
19019         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
19020         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
19021         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
19022         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
19023         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
19024         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
19025         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
19026         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
19027         * modules/unictype/bidicategory-name-tests (Files): Likewise.
19028         * modules/unictype/bidicategory-of-tests (Files): Likewise.
19029         * modules/unictype/bidicategory-test-tests (Files): Likewise.
19030         * modules/unictype/block-list-tests (Files): Likewise.
19031         * modules/unictype/block-of-tests (Files): Likewise.
19032         * modules/unictype/block-test-tests (Files): Likewise.
19033         * modules/unictype/category-C-tests (Files): Likewise.
19034         * modules/unictype/category-Cc-tests (Files): Likewise.
19035         * modules/unictype/category-Cf-tests (Files): Likewise.
19036         * modules/unictype/category-Cn-tests (Files): Likewise.
19037         * modules/unictype/category-Co-tests (Files): Likewise.
19038         * modules/unictype/category-Cs-tests (Files): Likewise.
19039         * modules/unictype/category-L-tests (Files): Likewise.
19040         * modules/unictype/category-Ll-tests (Files): Likewise.
19041         * modules/unictype/category-Lm-tests (Files): Likewise.
19042         * modules/unictype/category-Lo-tests (Files): Likewise.
19043         * modules/unictype/category-Lt-tests (Files): Likewise.
19044         * modules/unictype/category-Lu-tests (Files): Likewise.
19045         * modules/unictype/category-M-tests (Files): Likewise.
19046         * modules/unictype/category-Mc-tests (Files): Likewise.
19047         * modules/unictype/category-Me-tests (Files): Likewise.
19048         * modules/unictype/category-Mn-tests (Files): Likewise.
19049         * modules/unictype/category-N-tests (Files): Likewise.
19050         * modules/unictype/category-Nd-tests (Files): Likewise.
19051         * modules/unictype/category-Nl-tests (Files): Likewise.
19052         * modules/unictype/category-No-tests (Files): Likewise.
19053         * modules/unictype/category-P-tests (Files): Likewise.
19054         * modules/unictype/category-Pc-tests (Files): Likewise.
19055         * modules/unictype/category-Pd-tests (Files): Likewise.
19056         * modules/unictype/category-Pe-tests (Files): Likewise.
19057         * modules/unictype/category-Pf-tests (Files): Likewise.
19058         * modules/unictype/category-Pi-tests (Files): Likewise.
19059         * modules/unictype/category-Po-tests (Files): Likewise.
19060         * modules/unictype/category-Ps-tests (Files): Likewise.
19061         * modules/unictype/category-S-tests (Files): Likewise.
19062         * modules/unictype/category-Sc-tests (Files): Likewise.
19063         * modules/unictype/category-Sk-tests (Files): Likewise.
19064         * modules/unictype/category-Sm-tests (Files): Likewise.
19065         * modules/unictype/category-So-tests (Files): Likewise.
19066         * modules/unictype/category-Z-tests (Files): Likewise.
19067         * modules/unictype/category-Zl-tests (Files): Likewise.
19068         * modules/unictype/category-Zp-tests (Files): Likewise.
19069         * modules/unictype/category-Zs-tests (Files): Likewise.
19070         * modules/unictype/category-and-not-tests (Files): Likewise.
19071         * modules/unictype/category-and-tests (Files): Likewise.
19072         * modules/unictype/category-byname-tests (Files): Likewise.
19073         * modules/unictype/category-name-tests (Files): Likewise.
19074         * modules/unictype/category-none-tests (Files): Likewise.
19075         * modules/unictype/category-of-tests (Files): Likewise.
19076         * modules/unictype/category-or-tests (Files): Likewise.
19077         * modules/unictype/category-test-withtable-tests (Files): Likewise.
19078         * modules/unictype/combining-class-tests (Files): Likewise.
19079         * modules/unictype/ctype-alnum-tests (Files): Likewise.
19080         * modules/unictype/ctype-alpha-tests (Files): Likewise.
19081         * modules/unictype/ctype-blank-tests (Files): Likewise.
19082         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
19083         * modules/unictype/ctype-digit-tests (Files): Likewise.
19084         * modules/unictype/ctype-graph-tests (Files): Likewise.
19085         * modules/unictype/ctype-lower-tests (Files): Likewise.
19086         * modules/unictype/ctype-print-tests (Files): Likewise.
19087         * modules/unictype/ctype-punct-tests (Files): Likewise.
19088         * modules/unictype/ctype-space-tests (Files): Likewise.
19089         * modules/unictype/ctype-upper-tests (Files): Likewise.
19090         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
19091         * modules/unictype/decimal-digit-tests (Files): Likewise.
19092         * modules/unictype/digit-tests (Files): Likewise.
19093         * modules/unictype/mirror-tests (Files): Likewise.
19094         * modules/unictype/numeric-tests (Files): Likewise.
19095         * modules/unictype/property-alphabetic-tests (Files): Likewise.
19096         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
19097         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
19098         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
19099         Likewise.
19100         * modules/unictype/property-bidi-block-separator-tests (Files):
19101         Likewise.
19102         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
19103         Likewise.
19104         * modules/unictype/property-bidi-common-separator-tests (Files):
19105         Likewise.
19106         * modules/unictype/property-bidi-control-tests (Files): Likewise.
19107         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
19108         Likewise.
19109         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
19110         Likewise.
19111         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
19112         Likewise.
19113         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
19114         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
19115         Likewise.
19116         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
19117         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
19118         Likewise.
19119         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
19120         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
19121         * modules/unictype/property-bidi-segment-separator-tests (Files):
19122         Likewise.
19123         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
19124         * modules/unictype/property-byname-tests (Files): Likewise.
19125         * modules/unictype/property-combining-tests (Files): Likewise.
19126         * modules/unictype/property-composite-tests (Files): Likewise.
19127         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
19128         * modules/unictype/property-dash-tests (Files): Likewise.
19129         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
19130         * modules/unictype/property-default-ignorable-code-point-tests (Files):
19131         Likewise.
19132         * modules/unictype/property-deprecated-tests (Files): Likewise.
19133         * modules/unictype/property-diacritic-tests (Files): Likewise.
19134         * modules/unictype/property-extender-tests (Files): Likewise.
19135         * modules/unictype/property-format-control-tests (Files): Likewise.
19136         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
19137         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
19138         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
19139         * modules/unictype/property-hex-digit-tests (Files): Likewise.
19140         * modules/unictype/property-hyphen-tests (Files): Likewise.
19141         * modules/unictype/property-id-continue-tests (Files): Likewise.
19142         * modules/unictype/property-id-start-tests (Files): Likewise.
19143         * modules/unictype/property-ideographic-tests (Files): Likewise.
19144         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
19145         * modules/unictype/property-ids-trinary-operator-tests (Files):
19146         Likewise.
19147         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
19148         * modules/unictype/property-iso-control-tests (Files): Likewise.
19149         * modules/unictype/property-join-control-tests (Files): Likewise.
19150         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
19151         * modules/unictype/property-line-separator-tests (Files): Likewise.
19152         * modules/unictype/property-logical-order-exception-tests (Files):
19153         Likewise.
19154         * modules/unictype/property-lowercase-tests (Files): Likewise.
19155         * modules/unictype/property-math-tests (Files): Likewise.
19156         * modules/unictype/property-non-break-tests (Files): Likewise.
19157         * modules/unictype/property-not-a-character-tests (Files): Likewise.
19158         * modules/unictype/property-numeric-tests (Files): Likewise.
19159         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
19160         * modules/unictype/property-other-default-ignorable-code-point-tests
19161         (Files): Likewise.
19162         * modules/unictype/property-other-grapheme-extend-tests (Files):
19163         Likewise.
19164         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
19165         * modules/unictype/property-other-id-start-tests (Files): Likewise.
19166         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
19167         * modules/unictype/property-other-math-tests (Files): Likewise.
19168         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
19169         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
19170         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
19171         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
19172         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
19173         * modules/unictype/property-private-use-tests (Files): Likewise.
19174         * modules/unictype/property-punctuation-tests (Files): Likewise.
19175         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
19176         * modules/unictype/property-radical-tests (Files): Likewise.
19177         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
19178         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
19179         * modules/unictype/property-space-tests (Files): Likewise.
19180         * modules/unictype/property-terminal-punctuation-tests (Files):
19181         Likewise.
19182         * modules/unictype/property-test-tests (Files): Likewise.
19183         * modules/unictype/property-titlecase-tests (Files): Likewise.
19184         * modules/unictype/property-unassigned-code-value-tests (Files):
19185         Likewise.
19186         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
19187         * modules/unictype/property-uppercase-tests (Files): Likewise.
19188         * modules/unictype/property-variation-selector-tests (Files): Likewise.
19189         * modules/unictype/property-white-space-tests (Files): Likewise.
19190         * modules/unictype/property-xid-continue-tests (Files): Likewise.
19191         * modules/unictype/property-xid-start-tests (Files): Likewise.
19192         * modules/unictype/property-zero-width-tests (Files): Likewise.
19193         * modules/unictype/scripts-tests (Files): Likewise.
19194         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
19195         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
19196         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
19197         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
19198         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
19199         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
19200         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
19201         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
19202         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
19203         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
19204         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
19205         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
19206         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
19207         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
19208         * modules/uninorm/composition-tests (Files): Likewise.
19209         * modules/uninorm/decomposing-form-tests (Files): Likewise.
19210         * modules/uninorm/decomposition-tests (Files): Likewise.
19211         * modules/uninorm/filter-tests (Files): Likewise.
19212         * modules/uninorm/nfc-tests (Files): Likewise.
19213         * modules/uninorm/nfd-tests (Files): Likewise.
19214         * modules/uninorm/nfkc-tests (Files): Likewise.
19215         * modules/uninorm/nfkd-tests (Files): Likewise.
19216         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
19217         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
19218         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
19219         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
19220         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
19221         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
19222         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
19223         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19224         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
19225         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
19226         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
19227         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
19228         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19229         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
19230         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
19231         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
19232         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
19233         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19234         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
19235         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
19236         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
19237         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
19238         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19239         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
19240         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
19241         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
19242         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
19243         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
19244         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
19245         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
19246         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
19247         * modules/uniwidth/u8-width-tests (Files): Likewise.
19248         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
19249         * modules/uniwidth/u16-width-tests (Files): Likewise.
19250         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
19251         * modules/uniwidth/u32-width-tests (Files): Likewise.
19252         * modules/uniwidth/width-tests (Files): Likewise.
19253         * modules/unlink-tests (Files): Likewise.
19254         * modules/unsetenv-tests (Files): Likewise.
19255         * modules/usleep-tests (Files): Likewise.
19256         * modules/utimens-tests (Files): Likewise.
19257         * modules/utimensat-tests (Files): Likewise.
19258         * modules/vasnprintf-posix-tests (Files): Likewise.
19259         * modules/vasnprintf-tests (Files): Likewise.
19260         * modules/vasprintf-posix-tests (Files): Likewise.
19261         * modules/vasprintf-tests (Files): Likewise.
19262         * modules/vdprintf-posix-tests (Files): Likewise.
19263         * modules/vfprintf-posix-tests (Files): Likewise.
19264         * modules/vprintf-posix-tests (Files): Likewise.
19265         * modules/vsnprintf-posix-tests (Files): Likewise.
19266         * modules/vsnprintf-tests (Files): Likewise.
19267         * modules/vsprintf-posix-tests (Files): Likewise.
19268         * modules/wcrtomb-tests (Files): Likewise.
19269         * modules/wcsnrtombs-tests (Files): Likewise.
19270         * modules/wcsrtombs-tests (Files): Likewise.
19271         * modules/wctype-tests (Files): Likewise.
19272         * modules/wcwidth-tests (Files): Likewise.
19273         * modules/xmemdup0-tests (Files): Likewise.
19274         * modules/xprintf-posix-tests (Files): Likewise.
19275         * modules/xvasprintf-tests (Files): Likewise.
19276
19277 2009-12-24  Eric Blake  <ebb9@byu.net>
19278
19279         test-nanosleep: fix typo
19280         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
19281         patch.
19282         Reported by Bruno Haible.
19283
19284 2009-12-24  Bruno Haible  <bruno@clisp.org>
19285
19286         Reduce namespace pollution on glibc systems.
19287         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
19288         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
19289         systems.
19290         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
19291         <getopt.h> on glibc systems.
19292         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
19293         systems.
19294         * lib/fcntl.c: Include <unistd.h> here instead.
19295
19296 2009-12-24  Bruno Haible  <bruno@clisp.org>
19297
19298         * lib/stdlib.in.h (includes): Fix typo in today's commit.
19299
19300 2009-12-24  Eric Blake  <ebb9@byu.net>
19301
19302         tests: add signature checks
19303         * tests/signature.h (SIGNATURE_CHECK): New file.
19304         * modules/atexit-tests (Files): Use it.
19305         * modules/btowc-tests (Files): Likewise.
19306         * modules/canonicalize-lgpl-tests (Files): Likewise.
19307         * modules/ceilf-tests (Files): Likewise.
19308         * modules/ceill-tests (Files): Likewise.
19309         * modules/chown-tests (Files): Likewise.
19310         * modules/dprintf-posix-tests (Files): Likewise.
19311         * modules/dup2-tests (Files): Likewise.
19312         * modules/dup3-tests (Files): Likewise.
19313         * modules/duplocale-tests (Files): Likewise.
19314         * modules/fchdir-tests (Files): Likewise.
19315         * modules/fcntl-tests (Files): Likewise.
19316         * modules/fdopendir-tests (Files): Likewise.
19317         * modules/fflush-tests (Files): Likewise.
19318         * modules/flock-tests (Files): Likewise.
19319         * modules/floorf-tests (Files): Likewise.
19320         * modules/floorl-tests (Files): Likewise.
19321         * modules/fnmatch-tests (Files): Likewise.
19322         * modules/fopen-tests (Files): Likewise.
19323         * modules/fprintf-posix-tests (Files): Likewise.
19324         * modules/freopen-tests (Files): Likewise.
19325         * modules/frexp-nolibm-tests (Files): Likewise.
19326         * modules/frexp-tests (Files): Likewise.
19327         * modules/frexpl-nolibm-tests (Files): Likewise.
19328         * modules/frexpl-tests (Files): Likewise.
19329         * modules/fseek-tests (Files): Likewise.
19330         * modules/fseeko-tests (Files): Likewise.
19331         * modules/fsync-tests (Files): Likewise.
19332         * modules/ftell-tests (Files): Likewise.
19333         * modules/ftello-tests (Files): Likewise.
19334         * modules/futimens-tests (Files): Likewise.
19335         * modules/getaddrinfo-tests (Files): Likewise.
19336         * modules/getcwd-tests (Files): Likewise.
19337         * modules/getdelim-tests (Files): Likewise.
19338         * modules/getdtablesize-tests (Files): Likewise.
19339         * modules/getgroups-tests (Files): Likewise.
19340         * modules/gethostname-tests (Files): Likewise.
19341         * modules/getline-tests (Files): Likewise.
19342         * modules/getopt-posix-tests (Files): Likewise.
19343         * modules/gettimeofday-tests (Files): Likewise.
19344         * modules/glob-tests (Files): Likewise.
19345         * modules/iconv-tests (Files): Likewise.
19346         * modules/inet_ntop-tests (Files): Likewise.
19347         * modules/inet_pton-tests (Files): Likewise.
19348         * modules/isblank-tests (Files): Likewise.
19349         * modules/lchown-tests (Files): Likewise.
19350         * modules/ldexpl-tests (Files): Likewise.
19351         * modules/link-tests (Files): Likewise.
19352         * modules/linkat-tests (Files): Likewise.
19353         * modules/lseek-tests (Files): Likewise.
19354         * modules/lstat-tests (Files): Likewise.
19355         * modules/mbrtowc-tests (Files): Likewise.
19356         * modules/mbsinit-tests (Files): Likewise.
19357         * modules/mbsnrtowcs-tests (Files): Likewise.
19358         * modules/mbsrtowcs-tests (Files): Likewise.
19359         * modules/memchr-tests (Files): Likewise.
19360         * modules/memcmp-tests (Files): Likewise.
19361         * modules/memmem-tests (Files): Likewise.
19362         * modules/memrchr-tests (Files): Likewise.
19363         * modules/mkdir-tests (Files): Likewise.
19364         * modules/mkfifo-tests (Files): Likewise.
19365         * modules/mkfifoat-tests (Files): Likewise.
19366         * modules/mknod-tests (Files): Likewise.
19367         * modules/nanosleep-tests (Files): Likewise.
19368         * modules/nl_langinfo-tests (Files): Likewise.
19369         * modules/obstack-printf-tests (Files): Likewise.
19370         * modules/open-tests (Files): Likewise.
19371         * modules/openat-tests (Files): Likewise.
19372         * modules/perror-tests (Files): Likewise.
19373         * modules/pipe2-tests (Files): Likewise.
19374         * modules/poll-tests (Files): Likewise.
19375         * modules/popen-tests (Files): Likewise.
19376         * modules/posix_spawn-tests (Files): Likewise.
19377         * modules/posix_spawnp-tests (Files): Likewise.
19378         * modules/pread-tests (Files): Likewise.
19379         * modules/printf-posix-tests (Files): Likewise.
19380         * modules/pty-tests (Files): Likewise.
19381         * modules/random_r-tests (Files): Likewise.
19382         * modules/rawmemchr-tests (Files): Likewise.
19383         * modules/readlink-tests (Files): Likewise.
19384         * modules/remove-tests (Files): Likewise.
19385         * modules/rename-tests (Files): Likewise.
19386         * modules/renameat-tests (Files): Likewise.
19387         * modules/rmdir-tests (Files): Likewise.
19388         * modules/round-tests (Files): Likewise.
19389         * modules/roundf-tests (Files): Likewise.
19390         * modules/roundl-tests (Files): Likewise.
19391         * modules/select-tests (Files): Likewise.
19392         * modules/setenv-tests (Files): Likewise.
19393         * modules/sigaction-tests (Files): Likewise.
19394         * modules/sleep-tests (Files): Likewise.
19395         * modules/snprintf-posix-tests (Files): Likewise.
19396         * modules/snprintf-tests (Files): Likewise.
19397         * modules/sprintf-posix-tests (Files): Likewise.
19398         * modules/stat-tests (Files): Likewise.
19399         * modules/strcasestr-tests (Files): Likewise.
19400         * modules/strchrnul-tests (Files): Likewise.
19401         * modules/strerror-tests (Files): Likewise.
19402         * modules/strsignal-tests (Files): Likewise.
19403         * modules/strstr-tests (Files): Likewise.
19404         * modules/strtod-tests (Files): Likewise.
19405         * modules/strverscmp-tests (Files): Likewise.
19406         * modules/symlink-tests (Files): Likewise.
19407         * modules/symlinkat-tests (Files): Likewise.
19408         * modules/times-tests (Files): Likewise.
19409         * modules/trunc-tests (Files): Likewise.
19410         * modules/truncf-tests (Files): Likewise.
19411         * modules/truncl-tests (Files): Likewise.
19412         * modules/tsearch-tests (Files): Likewise.
19413         * modules/uname-tests (Files): Likewise.
19414         * modules/unlink-tests (Files): Likewise.
19415         * modules/unsetenv-tests (Files): Likewise.
19416         * modules/usleep-tests (Files): Likewise.
19417         * modules/utimensat-tests (Files): Likewise.
19418         * modules/vasprintf-tests (Files): Likewise.
19419         * modules/vdprintf-posix-tests (Files): Likewise.
19420         * modules/vfprintf-posix-tests (Files): Likewise.
19421         * modules/vprintf-posix-tests (Files): Likewise.
19422         * modules/vsnprintf-posix-tests (Files): Likewise.
19423         * modules/vsnprintf-tests (Files): Likewise.
19424         * modules/vsprintf-posix-tests (Files): Likewise.
19425         * modules/wcrtomb-tests (Files): Likewise.
19426         * modules/wcsnrtombs-tests (Files): Likewise.
19427         * modules/wcsrtombs-tests (Files): Likewise.
19428         * modules/wcwidth-tests (Files): Likewise.
19429         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
19430         * tests/test-isinf.c (isinf): Likewise.
19431         * tests/test-isnan.c (isnan): Likewise.
19432         * tests/test-signbit.c (signbit): Likewise.
19433         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
19434         declaration, either as macro or with correct signature.
19435         (select): Ensure function under test is declared with correct
19436         signature in correct header.
19437         * tests/test-atexit.c (atexit): Likewise.
19438         * tests/test-btowc.c (btowc): Likewise.
19439         * tests/test-canonicalize-lgpl.c (realpath)
19440         (canonicalize_file_name): Likewise.
19441         * tests/test-ceilf1.c (ceilf): Likewise.
19442         * tests/test-ceill.c (ceill): Likewise.
19443         * tests/test-chown.c (chown): Likewise.
19444         * tests/test-dprintf-posix.c (dprintf): Likewise.
19445         * tests/test-dup2.c (dup2): Likewise.
19446         * tests/test-dup3.c (dup3): Likewise.
19447         * tests/test-duplocale.c (duplocale): Likewise.
19448         * tests/test-fchdir.c (fchdir): Likewise.
19449         * tests/test-fchownat.c (fchownat): Likewise.
19450         * tests/test-fcntl.c (fcntl): Likewise.
19451         * tests/test-fdopendir.c (fdopendir): Likewise.
19452         * tests/test-fflush.c (fflush): Likewise.
19453         * tests/test-flock.c (flock): Likewise.
19454         * tests/test-floorf1.c (floorf): Likewise.
19455         * tests/test-floorl.c (floorl): Likewise.
19456         * tests/test-fnmatch.c (fnmatch): Likewise.
19457         * tests/test-fopen.c (fopen): Likewise.
19458         * tests/test-fprintf-posix.c (fprintf): Likewise.
19459         * tests/test-freopen.c (freopen): Likewise.
19460         * tests/test-frexp.c (frexp): Likewise.
19461         * tests/test-frexpl.c (frexpl): Likewise.
19462         * tests/test-fseek.c (fseek): Likewise.
19463         * tests/test-fseeko.c (fseeko): Likewise.
19464         * tests/test-fstatat.c (fstatat): Likewise.
19465         * tests/test-fsync.c (fsync): Likewise.
19466         * tests/test-ftell.c (ftell): Likewise.
19467         * tests/test-ftello.c (ftello): Likewise.
19468         * tests/test-futimens.c (futimens): Likewise.
19469         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
19470         (gai_strerror): Likewise.
19471         * tests/test-getcwd.c (getcwd): Likewise.
19472         * tests/test-getdelim.c (getdelim): Likewise.
19473         * tests/test-getdtablesize.c (getdtablesize): Likewise.
19474         * tests/test-getgroups.c (getgroups): Likewise.
19475         * tests/test-gethostname.c (gethostname): Likewise.
19476         * tests/test-getline.c (getline): Likewise.
19477         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
19478         Likewise.
19479         * tests/test-gettimeofday.c (gettimeofday): Likewise.
19480         * tests/test-glob.c (glob, globfree): Likewise.
19481         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
19482         * tests/test-inet_ntop.c (inet_ntop): Likewise.
19483         * tests/test-inet_pton.c (inet_pton): Likewise.
19484         * tests/test-isblank.c (isblank): Likewise.
19485         * tests/test-lchown.c (lchown): Likewise.
19486         * tests/test-ldexpl.c (ldexpl): Likewise.
19487         * tests/test-link.c (link): Likewise.
19488         * tests/test-linkat.c (linkat): Likewise.
19489         * tests/test-lseek.c (lseek): Likewise.
19490         * tests/test-lstat.c (lstat): Likewise.
19491         * tests/test-mbrtowc.c (mbrtowc): Likewise.
19492         * tests/test-mbsinit.c (mbsinit): Likewise.
19493         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
19494         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
19495         * tests/test-memchr.c (memchr): Likewise.
19496         * tests/test-memcmp.c (memcmp): Likewise.
19497         * tests/test-memmem.c (memmem): Likewise.
19498         * tests/test-memrchr.c (memrchr): Likewise.
19499         * tests/test-mkdir.c (mkdir): Likewise.
19500         * tests/test-mkdirat.c (mkdirat): Likewise.
19501         * tests/test-mkfifo.c (mkfifo): Likewise.
19502         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
19503         * tests/test-mknod.c (mknod): Likewise.
19504         * tests/test-nanosleep.c (nanosleep): Likewise.
19505         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
19506         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
19507         Likewise.
19508         * tests/test-open.c (open): Likewise.
19509         * tests/test-openat.c (openat): Likewise.
19510         * tests/test-perror.c (perror): Likewise.
19511         * tests/test-pipe2.c (pipe2): Likewise.
19512         * tests/test-poll.c (poll): Likewise.
19513         * tests/test-popen.c (popen, pclose): Likewise.
19514         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
19515         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
19516         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
19517         (posix_spawn_file_actions_destroy)
19518         (posix_spawn_file_actions_addclose)
19519         (posix_spawn_file_actions_addopen)
19520         (posix_spawn_file_actions_adddup2): Likewise.
19521         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
19522         * tests/test-pread.c (pread): Likewise.
19523         * tests/test-printf-posix.c (printf): Likewise.
19524         * tests/test-pty.c (openpty, forkpty): Likewise.
19525         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
19526         (random_r): Likewise.
19527         * tests/test-rawmemchr.c (rawmemchr): Likewise.
19528         * tests/test-readlink.c (readlink): Likewise.
19529         * tests/test-remove.c (remove): Likewise.
19530         * tests/test-rename.c (rename): Likewise.
19531         * tests/test-renameat.c (renameat): Likewise.
19532         * tests/test-rmdir.c (rmdir): Likewise.
19533         * tests/test-round1.c (round): Likewise.
19534         * tests/test-roundf1.c (roundf): Likewise.
19535         * tests/test-roundl.c (roundl): Likewise.
19536         * tests/test-setenv.c (setenv): Likewise.
19537         * tests/test-sigaction.c (sigaction): Likewise.
19538         * tests/test-sleep.c (sleep): Likewise.
19539         * tests/test-snprintf.c (snprintf): Likewise.
19540         * tests/test-sprintf-posix.c (sprintf): Likewise.
19541         * tests/test-stat.c (stat): Likewise.
19542         * tests/test-stpncpy.c (stpncpy): Likewise.
19543         * tests/test-strcasestr.c (strcasestr): Likewise.
19544         * tests/test-strchrnul.c (strchrnul): Likewise.
19545         * tests/test-strerror.c (strerror): Likewise.
19546         * tests/test-strsignal.c (strsignal): Likewise.
19547         * tests/test-strstr.c (strstr): Likewise.
19548         * tests/test-strtod.c (strtod): Likewise.
19549         * tests/test-strverscmp.c (strverscmp): Likewise.
19550         * tests/test-symlink.c (symlink): Likewise.
19551         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
19552         * tests/test-times.c (times): Likewise.
19553         * tests/test-trunc1.c (trunc): Likewise.
19554         * tests/test-truncf1.c (truncf): Likewise.
19555         * tests/test-truncl.c (truncl): Likewise.
19556         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
19557         Likewise.
19558         * tests/test-uname.c (uname): Likewise.
19559         * tests/test-unlink.c (unlink): Likewise.
19560         * tests/test-unlinkat.c (unlinkat): Likewise.
19561         * tests/test-unsetenv.c (unsetenv): Likewise.
19562         * tests/test-usleep.c (usleep): Likewise.
19563         * tests/test-utimensat.c (utimensat): Likewise.
19564         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
19565         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
19566         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
19567         * tests/test-vprintf-posix.c (vprintf): Likewise.
19568         * tests/test-vsnprintf.c (vsnprintf): Likewise.
19569         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
19570         * tests/test-wcrtomb.c (wcrtomb): Likewise.
19571         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
19572         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
19573         * tests/test-wcwidth.c (wcwidth): Likewise.
19574
19575         build: pull in conditional headers during GNULIB_POSIXCHECK
19576         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
19577         definitions from any conditionally-included headers.
19578         * lib/stdlib.in.h (includes): Likewise.
19579         * lib/unistd.in.h (includes): Likewise.
19580
19581 2009-12-24  Bruno Haible  <bruno@clisp.org>
19582
19583         * tests/test-argv-iter.c: Include header file being tested immediately
19584         after config.h.
19585         * tests/test-base64.c: Likewise.
19586         * tests/test-flock.c: Likewise.
19587         * tests/test-fsync.c: Likewise.
19588         * tests/test-getdate.c: Likewise.
19589         * tests/test-getndelim2.c: Likewise.
19590         * tests/test-isfinite.c: Likewise.
19591         * tests/test-isinf.c: Likewise.
19592         * tests/test-strerror.c: Likewise.
19593         * tests/test-strsignal.c: Likewise.
19594
19595 2009-12-23  Eric Blake  <ebb9@byu.net>
19596
19597         unistd: work around cygwin bug
19598         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
19599         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
19600         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
19601
19602 2009-12-23  Bruno Haible  <bruno@clisp.org>
19603
19604         localename: More tests.
19605         * tests/test-localename.c (SIZEOF): New macro.
19606         (categories): New variable.
19607         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
19608         test_locale_name_default): Add test w.r.t. thread locale.
19609         (test_locale_name_thread): New function.
19610         (main): Invoke it.
19611
19612         localename: Make aware of thread locale.
19613         * lib/localename.h (gl_locale_name_thread): New declaration.
19614         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
19615         behaviour with respect to thread locale.
19616         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
19617         <langinfo.h>, glthread/lock.h.
19618         (SIZE_BITS): New macro.
19619         (string_hash): New function.
19620         (struct hash_node): New type.
19621         (HASH_TABLE_SIZE): New macro.
19622         (struniq_hash_table, struniq_lock): New variables.
19623         (struniq): New function.
19624         (gl_locale_name_thread): New function.
19625         (gl_locale_name): Invoke it.
19626         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
19627         * modules/localename (Depends-on): Add lock.
19628         Reported by Mike Gran <spk121@yahoo.com>.
19629
19630 2009-12-23  Eric Blake  <ebb9@byu.net>
19631
19632         va-args: new module
19633         * modules/va-args: New file.
19634         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
19635         * MODULES.html.sh (Core language properties): Mention it.
19636
19637         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
19638         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
19639         named alias for __attribute__((__unused__)).
19640         * lib/chown.c: Update client.
19641         * lib/fchmodat.c: Likewise.
19642         * lib/fts.c: Likewise.
19643         * lib/getdate.y: Likewise.
19644         * lib/getgroups.c: Likewise.
19645         * lib/getopt.c: Likewise.
19646         * lib/getugroups.c: Likewise.
19647         * lib/mkdir.c: Likewise.
19648         * lib/mkfifo.c: Likewise.
19649         * lib/mkfifoat.c: Likewise.
19650         * lib/mknod.c: Likewise.
19651         * lib/mknodat.c: Likewise.
19652         * lib/readlink.c: Likewise.
19653         * lib/se-context.in.h: Likewise.
19654         * lib/se-selinux.in.h: Likewise.
19655         * lib/sockets.c: Likewise.
19656         * lib/symlink.c: Likewise.
19657         * lib/symlinkat.c: Likewise.
19658         * lib/unicodeio.c: Likewise.
19659         * lib/unistr.h: Likewise.
19660         * tests/test-areadlink.c: Likewise.
19661         * tests/test-areadlinkat.c: Likewise.
19662         * tests/test-filenamecat.c: Likewise.
19663         * tests/test-fseeko.c: Likewise.
19664         * tests/test-ftello.c: Likewise.
19665         * tests/test-getdate.c: Likewise.
19666         * tests/test-getgroups.c: Likewise.
19667         * tests/test-gethostname.c: Likewise.
19668         * tests/test-quotearg.c: Likewise.
19669         * tests/test-version-etc.c: Likewise.
19670         * tests/test-xalloc-die.c: Likewise.
19671         * tests/test-xfprintf-posix.c: Likewise.
19672         * tests/test-xprintf-posix.c: Likewise.
19673         * tests/test-xvasprintf.c: Likewise.
19674
19675         tests: avoid compiler warnings
19676         * tests/test-fcntl.c (main): Delete unused parameters.
19677         * tests/test-freopen-safer.c (main): Likewise.
19678         * tests/test-xalloc-die.c (main): Mark unused parameters.
19679         * tests/test-fseeko.c (main): Likewise.
19680         * tests/test-ftello.c (main): Likewise.
19681         * tests/test-nanosleep.c (main): Avoid declaration warning.
19682         * tests/test-sleep.c (main): Likewise.
19683         * tests/test-unsetenv.c (main): Silence warning about string
19684         literal.
19685         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19686
19687 2009-12-23  Bruno Haible  <bruno@clisp.org>
19688
19689         * tests/test-localename.c (test_locale_name): New function, extracted
19690         from main. Also test mixed situations.
19691         (test_locale_name_posix, test_locale_name_environ,
19692         test_locale_name_default): New functions.
19693         (main): Invoke them all.
19694         * modules/localename-tests (configure.ac): Test for newlocale.
19695
19696 2009-12-23  Bruno Haible  <bruno@clisp.org>
19697
19698         unistd: Ensure getcwd gets declared before being overridden.
19699         * lib/unistd.in.h: Conditionally include <io.h>.
19700
19701 2009-12-22  Bruno Haible  <bruno@clisp.org>
19702
19703         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19704         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19705         (gl_WCHAR_H): Invoke it.
19706         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19707         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19708         Reported by Karl Berry <karl@freefriends.org>.
19709
19710 2009-12-22  Eric Blake  <ebb9@byu.net>
19711
19712         math, unistd: avoid redundant includes
19713         * lib/math.in.h (isnan): No need to re-include <math.h>.
19714         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19715
19716         getsubopt: work around cygwin bug
19717         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19718         avoid conflicting with system getsubopt.
19719         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19720         bug.
19721
19722         getopt: synchronize from glibc
19723         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19724         parameter order.  Adjust all callers.
19725         (_getopt_internal_r, main): Adjust quoting in error messages.
19726         Drop considerations for outdated POSIX 1003.2 error message.
19727         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19728         callers.
19729         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19730
19731         test-getopt: test stderr behavior
19732         * modules/getopt-posix-tests (Depends-on): Add dup2.
19733         * tests/test-getopt.c (ASSERT): Avoid stderr.
19734         (main): Move stderr to a temporary file.
19735         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19736         Instead, add parameter to inform caller if output occurred.
19737         (test_getopt): Adjust all existing tests to expect silence, and
19738         add new tests of leading ":".
19739         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19740         glibc shortcomings with leading "-:" or "+:" in optstring.
19741         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19742         Likewise.
19743         * doc/posix-functions/getopt.texi (getopt): Likewise.
19744
19745         test-getopt: enhance test
19746         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19747         supports optind=0.
19748         * tests/test-getopt.c (OPTIND_MIN): Move...
19749         * tests/test-getopt.h (OPTIND_MIN): ...here.
19750         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19751         Require that optind=0 works, since modern BSD supports it in
19752         addition to optreset, and since coreutils expects it.
19753         (test_getopt_long_only): New test.
19754         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19755         glibc shortcomings with 'W;', and enforcement of optind=0.
19756         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19757         Likewise.
19758
19759 2009-12-21  Bruno Haible  <bruno@clisp.org>
19760
19761         localename: Improvements for MacOS X and Cygwin.
19762         * lib/localename.h (gl_locale_name_environ): New declaration.
19763         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19764         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19765         (gl_locale_name_posix): Invoke it.
19766         (gl_locale_name_default): Add comments. Use Windows native API also on
19767         Cygwin.
19768
19769 2009-12-21  Bruno Haible  <bruno@clisp.org>
19770
19771         Update list of Win32 locale ids.
19772         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19773         (LANG_SAMI): Renamed from LANG_SAAMI.
19774         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19775         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19776         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19777         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19778         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19779         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19780         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19781         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19782         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19783         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19784         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19785         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19786         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19787         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19788         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19789         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19790         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19791         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19792         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19793         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19794         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19795         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19796         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19797         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19798         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19799         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19800         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19801         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19802         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19803         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19804         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19805         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19806         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19807         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19808         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19809         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19810         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19811         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19812         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19813         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19814         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19815         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19816         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19817         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19818         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19819         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19820         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19821         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19822         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19823         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19824         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19825         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19826         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19827         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19828         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19829         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19830         Add more languages and countries for Sami, Sorbian. Add more countries
19831         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19832         for Pashto. Change country for Syriac, Tswana.
19833
19834 2009-12-21  Eric Blake  <ebb9@byu.net>
19835
19836         test-utimens: avoid spurious failure
19837         * tests/test-chown.h (nap): Factor...
19838         * tests/nap.h: ...into new file.
19839         * tests/test-lchown.h (nap): Avoid duplication.
19840         * tests/test-utimens-common.h (nap): Use shared implementation,
19841         necessary on file systems with 1-second resolution.
19842         * modules/chown-tests (Files): Include new file.
19843         * modules/fdutimensat-tests (Files): Likewise.
19844         * modules/futimens-tests (Files): Likewise.
19845         * modules/lchown-tests (Files): Likewise.
19846         * modules/openat-tests (Files): Likewise.
19847         * modules/utimens-tests (Files): Likewise.
19848         * modules/utimensat-tests (Files): Likewise.
19849
19850 2009-12-19  Eric Blake  <ebb9@byu.net>
19851
19852         futimens, utimensat: work around Linux bug
19853         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19854         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19855         * lib/utimensat.c (rpl_utimensat): Work around it.
19856         * lib/futimens.c (rpl_futimens): Adjust comment.
19857
19858         utimens: work around Linux ctime bug
19859         * lib/utimens.c (detect_ctime_bug): New helper function.
19860         (update_timespec): Differentiate between workaround needed for
19861         this bug vs. what is needed for systems that lack utimensat.
19862         (fdutimens, lutimens): Work around bug.
19863
19864         utimens: check for ctime update
19865         * tests/test-utimens-common.h (check_ctime): Define.
19866         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19867         * tests/test-futimens.h (test_futimens): Likewise.
19868         * tests/test-lutimens.h (test_lutimens): Likewise.
19869         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19870         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19871
19872 2009-12-19  Bruno Haible  <bruno@clisp.org>
19873
19874         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19875         * tests/test-dprintf-posix2.sh: New file.
19876         * tests/test-dprintf-posix2.c: New file.
19877         * modules/dprintf-posix-tests (Files): Add them.
19878         (configure.ac): Check for getrlimit and setrlimit.
19879         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19880
19881 2009-12-19  Bruno Haible  <bruno@clisp.org>
19882
19883         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19884         * tests/test-fprintf-posix3.sh: New file.
19885         * tests/test-fprintf-posix3.c: New file.
19886         * modules/fprintf-posix-tests (Files): Add them.
19887         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19888
19889 2009-12-19  Eric Blake  <ebb9@byu.net>
19890
19891         dirfd: fix prototype
19892         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19893         * lib/dirfd.c (dirfd): Likewise.
19894
19895         canonicalize: reduce memory usage
19896         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19897         allocation to size.
19898         Reported by Solar Designer <solar@openwall.com>.
19899
19900 2009-12-19  Bruno Haible  <bruno@clisp.org>
19901
19902         New module attribute 'Applicability'.
19903         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19904         * gnulib-tool: New option --extract-applicability.
19905         (func_usage): Document it.
19906         (sed_extract_prog): Recognize it.
19907         (func_get_applicability): New function.
19908         (func_import): Generalize handling of 'link-warning' module.
19909         * modules/link-warning (Applicability): New section.
19910         * modules/arg-nonnull (Applicability): New section.
19911         Repoted by Simon Josefsson <simon@josefsson.org>.
19912
19913 2009-12-19  Bruno Haible  <bruno@clisp.org>
19914
19915         fflush: tweak
19916         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19917         * lib/fseeko.c (rpl_fseeko): Likewise.
19918
19919 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19920
19921         * lib/gl_list.h: Fix typo in comment.
19922
19923 2009-12-16  Eric Blake  <ebb9@byu.net>
19924
19925         fcntl: use to simplify other modules
19926         * modules/cloexec (Depends-on): Add fcntl.
19927         * modules/fchdir (Depends-on): Likewise.
19928         * modules/fd-safer-flag (Depends-on): Likewise.
19929         * modules/unistd-safer (Depends-on): Likewise.
19930         * modules/dup3 (configure.ac): Set module indicator.
19931         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
19932         missing.
19933         * lib/fchdir.c (_gl_register_dup): Fix comment.
19934         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
19935         * lib/dup-safer.c (dup_safer): Likewise.
19936         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
19937         * lib/dup3.c (dup3): Likewise.
19938         * tests/test-fchdir.c (main): Enhance test.
19939         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
19940
19941         fcntl: port portions of fcntl to mingw
19942         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
19943         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
19944         replacement for mingw.
19945         * modules/fcntl (Description): Update.
19946         (Depends-on): Add dup2.
19947         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
19948         * modules/fcntl-h (Makefile.am): Substitute it.
19949         * lib/fcntl.in.h (fcntl): Update declaration.
19950         (F_DUPFD, F_GETFD): New macros, when needed.
19951         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19952         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
19953         * tests/test-fcntl.c (check_flags, main): Enhance test for items
19954         we now guarantee.
19955
19956         fcntl: work around cygwin bug in F_DUPFD
19957         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
19958         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
19959         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
19960         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
19961         * doc/posix-functions/fcntl.texi (fcntl): Document it.
19962
19963         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
19964         * modules/fcntl (Files): List new files.
19965         (configure.ac): Run a test.
19966         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
19967         * lib/fcntl.c (rpl_fcntl): Likewise.
19968         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
19969         (gl_FCNTL_H): Always replace fcntl.h.
19970         * modules/fcntl-h (Makefile.am): Substitute witnesses.
19971         * lib/fcntl.in.h (fcntl): Declare replacement.
19972         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
19973         needed, plus a witness.
19974         * doc/posix-functions/fcntl.texi (fcntl): Document this.
19975         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19976         * tests/test-fcntl.c: New file.
19977         * modules/fcntl-tests: Likewise.
19978
19979         binary-io: avoid potential compilation warning
19980         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
19981         directives.
19982
19983         fflush: avoid compilation error on NetBSD
19984         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
19985         between off_t and fpos_t, since the latter is sometimes a struct.
19986         * lib/fseeko.c (rpl_fseeko): Likewise.
19987         Reported by Alexander Nasonov <alnsn@yandex.ru>.
19988
19989 2009-12-15  Eric Blake  <ebb9@byu.net>
19990
19991         fcntl-h, stdio, sys_ioctl: fix declarations
19992         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
19993         function must not take arguments.
19994         * lib/sys_ioctl.in.h (ioctl): Likewise.
19995         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
19996         (open): Add a link warning.
19997
19998 2009-12-15  Jim Meyering  <meyering@redhat.com>
19999
20000         areadlink, areadlink-with-size: relax license to LGPLv2+
20001         * modules/areadlink (License): Relax to LGPLv2+.
20002         * modules/areadlink-with-size (License): Likewise.
20003
20004 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
20005             Bruno Haible  <bruno@clisp.org>
20006
20007         *printf: Fix memory leak.
20008         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
20009         * lib/vfprintf.c (vfprintf): Likewise.
20010         * lib/dprintf.c (dprintf): Likewise.
20011         * lib/vdprintf.c (vdprintf): Likewise.
20012
20013 2009-12-14  Eric Blake  <ebb9@byu.net>
20014
20015         accept4: adjust module dependencies
20016         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
20017
20018         utimens: one more try at avoiding compiler warning
20019         * lib/utimens.c (lutimens): Lower scope of result.
20020
20021 2009-12-13  Bruno Haible  <bruno@clisp.org>
20022
20023         Move the malloc checking from module 'list' to new module 'xlist'.
20024         * modules/xlist: New file.
20025         * lib/gl_xlist.h: New file.
20026         * lib/gl_xlist.c: New file.
20027         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
20028         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
20029         gl_list_add_last, gl_list_add_before, gl_list_add_after,
20030         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
20031         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
20032         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
20033         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
20034         gl_sortedlist_nx_add): New declarations.
20035         (struct gl_list_implementation): Rename and change methods accordingly.
20036         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
20037         (gl_list_nx_create): Renamed from gl_list_create.
20038         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20039         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20040         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20041         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20042         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20043         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20044         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20045         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20046         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
20047         gl_list_create_empty.
20048         (gl_list_nx_create): Renamed from gl_list_create.
20049         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20050         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20051         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20052         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20053         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20054         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20055         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20056         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20057         * lib/gl_array_list.c: Don't include xalloc.h.
20058         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
20059         NULL upon out-of-memory.
20060         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
20061         out-of-memory.
20062         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
20063         Change return type to 'int'.
20064         (gl_array_nx_set_at): Renamed from gl_array_set_at.
20065         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20066         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
20067         upon out-of-memory.
20068         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
20069         upon out-of-memory.
20070         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
20071         upon out-of-memory.
20072         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
20073         upon out-of-memory.
20074         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
20075         out-of-memory.
20076         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
20077         Update.
20078         (gl_array_list_implementation): Update.
20079         * lib/gl_carray_list.c: Don't include xalloc.h.
20080         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
20081         Return NULL upon out-of-memory.
20082         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
20083         out-of-memory.
20084         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
20085         Change return type to 'int'.
20086         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
20087         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20088         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
20089         upon out-of-memory.
20090         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
20091         upon out-of-memory.
20092         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
20093         out-of-memory.
20094         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
20095         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
20096         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
20097         Update.
20098         (gl_carray_list_implementation): Update.
20099         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
20100         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
20101         gl_linked_create_empty. Return NULL upon out-of-memory.
20102         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
20103         out-of-memory.
20104         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
20105         Change return type to 'int'. Return -1 upon out-of-memory.
20106         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
20107         out-of-memory.
20108         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
20109         upon out-of-memory.
20110         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
20111         upon out-of-memory.
20112         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
20113         NULL upon out-of-memory.
20114         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
20115         upon out-of-memory.
20116         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
20117         out-of-memory.
20118         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
20119         Update.
20120         * lib/gl_linked_list.c: Don't include xalloc.h.
20121         (gl_linked_list_implementation): Update.
20122         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
20123         (add_to_bucket): Change return type to 'int'.
20124         (gl_linkedhash_list_implementation): Update.
20125         * lib/gl_anytree_list1.h (free_subtree): New function.
20126         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
20127         gl_tree_create_empty. Return NULL upon out-of-memory.
20128         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
20129         Change return type to 'int'. Return -1 upon out-of-memory.
20130         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
20131         out-of-memory.
20132         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
20133         (gl_tree_remove_node): New function, moved here from
20134         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
20135         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
20136         Update.
20137         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
20138         malloc, not xmalloc. Return NULL upon out-of-memory.
20139         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20140         out-of-memory.
20141         (gl_tree_remove_node_from_tree): New function, extracted from
20142         gl_tree_remove_node.
20143         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20144         upon out-of-memory.
20145         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20146         out-of-memory.
20147         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20148         upon out-of-memory.
20149         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20150         upon out-of-memory.
20151         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20152         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
20153         not xmalloc. Return NULL upon out-of-memory.
20154         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20155         out-of-memory.
20156         (gl_tree_remove_node_from_tree): New function, extracted from
20157         gl_tree_remove_node.
20158         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20159         upon out-of-memory.
20160         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20161         out-of-memory.
20162         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20163         upon out-of-memory.
20164         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20165         upon out-of-memory.
20166         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20167         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
20168         gl_anytree_list1.h before gl_anyavltree_list2.h.
20169         (gl_avltree_list_implementation): Update.
20170         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
20171         gl_anytree_list1.h before gl_anyavltree_list2.h.
20172         (gl_rbtree_list_implementation): Update.
20173         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
20174         Change return type to 'int'. Return -1 upon out-of-memory. Use
20175         __builtin_expect.
20176         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
20177         (gl_avltreehash_list_implementation): Update.
20178         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
20179         (gl_rbtreehash_list_implementation): Update.
20180         * modules/array-list (Depends-on): Remove xalloc.
20181         * modules/carray-list (Depends-on): Likewise.
20182         * modules/linked-list (Depends-on): Likewise.
20183         * modules/linkedhash-list (Depends-on): Likewise.
20184         * modules/avltree-list (Depends-on): Likewise.
20185         * modules/rbtree-list (Depends-on): Likewise.
20186         * modules/avltreehash-list (Depends-on): Likewise.
20187         * modules/rbtreehash-list (Depends-on): Likewise.
20188
20189         * modules/xsublist: New file.
20190         * lib/gl_xsublist.h: New file.
20191         * lib/gl_xsublist.c: New file.
20192         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
20193         (gl_sublist_nx_create): New declaration.
20194         * lib/gl_sublist.c: Don't include xalloc.h.
20195         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
20196         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
20197         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
20198         Change return type to 'int'. Return -1 upon out-of-memory.
20199         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
20200         upon out-of-memory.
20201         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
20202         NULL upon out-of-memory.
20203         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
20204         upon out-of-memory.
20205         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
20206         NULL upon out-of-memory.
20207         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
20208         NULL upon out-of-memory.
20209         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
20210         upon out-of-memory.
20211         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
20212         (gl_sublist_list_implementation): Update.
20213         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
20214         upon out-of-memory.
20215         * modules/sublist (Depends-on): Remove xalloc.
20216
20217         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
20218         * tests/test-carray_list.c: Likewise.
20219         * tests/test-linked_list.c: Likewise.
20220         * tests/test-linkedhash_list.c: Likewise.
20221         * tests/test-avltree_list.c: Likewise.
20222         * tests/test-rbtree_list.c: Likewise.
20223         * tests/test-avltreehash_list.c: Likewise.
20224         * tests/test-rbtreehash_list.c: Likewise.
20225         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
20226         * modules/carray-list-tests (Makefile.am): Likewise.
20227         * modules/linked-list-tests (Makefile.am): Likewise.
20228         * modules/linkedhash-list-tests (Makefile.am): Likewise.
20229         * modules/avltree-list-tests (Makefile.am): Likewise.
20230         * modules/rbtree-list-tests (Makefile.am): Likewise.
20231         * modules/avltreehash-list-tests (Makefile.am): Likewise.
20232         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
20233
20234         * NEWS: Mention the changes.
20235
20236         * lib/clean-temp.c: Include gl_xlist.h.
20237         * modules/clean-temp (Depends-on): Add xlist.
20238
20239         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
20240         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
20241
20242         * tests/test-array_oset.c: Include gl_xlist.h.
20243         * modules/array-oset-tests (Depends-on): Add xlist.
20244
20245         Reported by José E. Marchesi <jemarch@gnu.org>.
20246
20247 2009-12-13  Bruno Haible  <bruno@clisp.org>
20248
20249         Move the malloc checking from module 'oset' to new module 'xoset'.
20250         * modules/xoset: New file.
20251         * lib/gl_xoset.h: New file.
20252         * lib/gl_xoset.c: New file.
20253         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
20254         declarations.
20255         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
20256         (struct gl_oset_implementation): Rename and change methods accordingly.
20257         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
20258         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20259         'int'. Mark as __warn_unused_result__.
20260         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
20261         gl_oset_create_empty.
20262         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20263         'int'.
20264         * lib/gl_array_oset.c: Don't include xalloc.h.
20265         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
20266         malloc, not xmalloc.
20267         (grow): Change return type to 'int'. Don't call xalloc_die.
20268         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
20269         to 'int'.
20270         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
20271         'int'.
20272         (gl_array_oset_implementation): Update.
20273         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
20274         gl_tree_create_empty.
20275         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
20276         'int'.
20277         * lib/gl_avltree_oset.c: Don't include xalloc.h.
20278         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20279         xmalloc.
20280         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20281         not xmalloc.
20282         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20283         xmalloc.
20284         (gl_avltree_oset_implementation): Update.
20285         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
20286         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20287         xmalloc.
20288         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20289         not xmalloc.
20290         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20291         xmalloc.
20292         (gl_rbtree_oset_implementation): Update.
20293         * modules/array-oset (Depends-on): Remove xalloc.
20294         * modules/avltree-oset (Depends-on): Likewise.
20295         * modules/rbtree-oset (Depends-on): Likewise.
20296         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
20297         * tests/test-avltree_oset.c: Likewise.
20298         * tests/test-rbtree_oset.c: Likewise.
20299         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
20300         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
20301         * modules/rbtree-oset-tests (Makefile.am): Likewise.
20302         * NEWS: Mention the change.
20303
20304 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
20305
20306         maint.mk: allow a project to override release-prep commands
20307         * top/maint.mk (alpha, beta, stable): Move release-preparatory
20308         commands into a new rule.
20309         (release-prep): New rule.
20310         (release-prep-hook): New overridable variable.
20311
20312 2009-12-13  Bruno Haible  <bruno@clisp.org>
20313
20314         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
20315
20316 2009-12-13  Jim Meyering  <meyering@redhat.com>
20317
20318         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
20319         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
20320
20321 2009-12-12  Bruno Haible  <bruno@clisp.org>
20322
20323         duplocale: Tweak.
20324         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
20325
20326 2009-12-12  Karl Berry  <karl@gnu.org>
20327
20328         * config/srclist.txt (strtoll.c): tab changes, no more sync.
20329
20330 2009-12-12  Bruno Haible  <bruno@clisp.org>
20331
20332         * m4/po.m4: Undo incorrect untabification.
20333
20334 2009-12-12  Bruno Haible  <bruno@clisp.org>
20335
20336         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
20337         * modules/c-strtod (Depends-on): Add locale.
20338         * modules/c-strtold (Depends-on): Likewise.
20339
20340 2009-12-12  Bruno Haible  <bruno@clisp.org>
20341
20342         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
20343
20344 2009-12-11  Eric Blake  <ebb9@byu.net>
20345
20346         setenv: relax requirement in light of POSIX ruling
20347         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
20348         not NULL.
20349         * tests/test-setenv.c (main): Relax test.
20350         * tests/test-unsetenv.c (main): Likewise.
20351         * doc/posix-functions/setenv.texi (setenv): Document this.
20352         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20353
20354 2009-12-11  Bruno Haible  <bruno@clisp.org>
20355
20356         New module 'fd-safer-flag'.
20357         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
20358         * lib/dup-safer.c (dup_safer_flag): Remove function.
20359         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
20360         * lib/fd-safer.c (fd_safer_flag): Remove function.
20361         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
20362         * modules/cloexec (configure.ac): Drop indicator macro.
20363         * modules/fd-safer-flag: New file.
20364         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
20365         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
20366         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
20367
20368 2009-12-11  Bruno Haible  <bruno@clisp.org>
20369
20370         Tests for module 'nl_langinfo'.
20371         * modules/nl_langinfo-tests: New file.
20372         * tests/test-nl_langinfo.sh: New file.
20373         * tests/test-nl_langinfo.c: New file.
20374
20375         New module 'nl_langinfo'.
20376         * lib/nl_langinfo.c: New file.
20377         * m4/nl_langinfo.m4: New file.
20378         * modules/nl_langinfo: New file.
20379         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
20380
20381 2009-12-11  Bruno Haible  <bruno@clisp.org>
20382
20383         Tests for module 'langinfo'.
20384         * modules/langinfo-tests: New file.
20385         * tests/test-langinfo.c: New file.
20386
20387         New module 'langinfo'.
20388         * lib/langinfo.in.h: New file.
20389         * m4/langinfo_h.m4: New file.
20390         * modules/langinfo: New file.
20391         * doc/posix-headers/langinfo.texi: Mention the new module.
20392
20393 2009-12-11  Bruno Haible  <bruno@clisp.org>
20394
20395         * lib/config.charset: Untabify.
20396
20397 2009-12-11  Bruno Haible  <bruno@clisp.org>
20398
20399         * modules/unistd-safer (configure.ac): Drop indicator macro.
20400
20401 2009-12-11  Bruno Haible  <bruno@clisp.org>
20402
20403         Move pipe2-safer code to its own file.
20404         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
20405         * lib/pipe-safer.c (pipe2_safer): Remove function.
20406         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
20407         (Makefile.am): Add it to lib_SOURCES.
20408
20409 2009-12-10  Bruno Haible  <bruno@clisp.org>
20410
20411         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
20412
20413 2009-12-10  Bruno Haible  <bruno@clisp.org>
20414
20415         Declare which arguments expect non-NULL values, for GCC and clang.
20416         * build-aux/arg-nonnull.h: New file.
20417         * modules/arg-nonnull: New file.
20418         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
20419         (inet_ntop, inet_pton): Use it.
20420         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
20421         (closedir, dirfd, opendir, scandir, alphasort): Use it.
20422         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
20423         (open, openat): Use it.
20424         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
20425         (fnmatch): Use it.
20426         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
20427         (getopt, getopt_long, getopt_long_only): Use it.
20428         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
20429         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
20430         Use it.
20431         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
20432         (iconv_open): Use it.
20433         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
20434         (strtoimax, strtoumax): Use it.
20435         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
20436         (duplocale): Use it.
20437         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
20438         (frexp, frexpl): Use it.
20439         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
20440         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
20441         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
20442         (tsearch, tfind, tdelete, twalk): Use it.
20443         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
20444         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
20445         sigpending): Use it.
20446         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
20447         (posix_spawn, posix_spawnp, posix_spawnattr_init,
20448         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
20449         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
20450         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20451         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
20452         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
20453         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
20454         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
20455         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
20456         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
20457         Use it.
20458         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
20459         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
20460         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
20461         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
20462         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
20463         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
20464         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
20465         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
20466         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
20467         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
20468         strtoull, unsetenv): Use it.
20469         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
20470         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
20471         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
20472         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
20473         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
20474         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
20475         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
20476         (strcasecmp, strncasecmp): Use it.
20477         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
20478         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
20479         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
20480         rpl_setsockopt): Use it.
20481         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
20482         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
20483         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
20484         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
20485         (gettimeofday): Use it.
20486         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
20487         (times): Use it.
20488         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
20489         (uname): Use it.
20490         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
20491         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
20492         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
20493         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
20494         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
20495         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
20496         unlinkat, write): Use it.
20497         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
20498         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
20499         * lib/argv-iter.h: Include arg-nonnull.h.
20500         (_ATTRIBUTE_NONNULL_): Remove macro.
20501         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
20502         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
20503         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
20504         optimization.
20505         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
20506         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
20507         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
20508         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
20509         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
20510         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
20511         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
20512         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
20513         * modules/arpa_inet (Depends-on): Add arg-nonnull.
20514         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
20515         * modules/dirent (Depends-on): Add arg-nonnull.
20516         (Makefile.am): Insert arg-nonnull.h into dirent.h.
20517         * modules/fcntl-h (Depends-on): Add arg-nonnull.
20518         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
20519         * modules/fnmatch (Depends-on): Add arg-nonnull.
20520         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
20521         * modules/getopt-posix (Depends-on): Add arg-nonnull.
20522         (Makefile.am): Insert arg-nonnull.h into getopt.h.
20523         * modules/glob (Depends-on): Add arg-nonnull.
20524         (Makefile.am): Insert arg-nonnull.h into glob.h.
20525         * modules/iconv_open (Depends-on): Add arg-nonnull.
20526         (Makefile.am): Insert arg-nonnull.h into iconv.h.
20527         * modules/inttypes (Depends-on): Add arg-nonnull.
20528         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
20529         * modules/locale (Depends-on): Add arg-nonnull.
20530         (Makefile.am): Insert arg-nonnull.h into locale.h.
20531         * modules/math (Depends-on): Add arg-nonnull.
20532         (Makefile.am): Insert arg-nonnull.h into math.h.
20533         * modules/netdb (Depends-on): Add arg-nonnull.
20534         (Makefile.am): Insert arg-nonnull.h into netdb.h.
20535         * modules/search (Depends-on): Add arg-nonnull.
20536         (Makefile.am): Insert arg-nonnull.h into search.h.
20537         * modules/signal (Depends-on): Add arg-nonnull.
20538         (Makefile.am): Insert arg-nonnull.h into signal.h.
20539         * modules/spawn (Depends-on): Add arg-nonnull.
20540         (Makefile.am): Insert arg-nonnull.h into spawn.h.
20541         * modules/stdio (Depends-on): Add arg-nonnull.
20542         (Makefile.am): Insert arg-nonnull.h into stdio.h.
20543         * modules/stdlib (Depends-on): Add arg-nonnull.
20544         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
20545         * modules/string (Depends-on): Add arg-nonnull.
20546         (Makefile.am): Insert arg-nonnull.h into string.h.
20547         * modules/strings (Depends-on): Add arg-nonnull.
20548         (Makefile.am): Insert arg-nonnull.h into strings.h.
20549         * modules/sys_socket (Depends-on): Add arg-nonnull.
20550         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
20551         * modules/sys_stat (Depends-on): Add arg-nonnull.
20552         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
20553         * modules/sys_time (Depends-on): Add arg-nonnull.
20554         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
20555         * modules/sys_times (Depends-on): Add arg-nonnull.
20556         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
20557         * modules/sys_utsname (Depends-on): Add arg-nonnull.
20558         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
20559         * modules/time (Depends-on): Add arg-nonnull.
20560         (Makefile.am): Insert arg-nonnull.h into time.h.
20561         * modules/unistd (Depends-on): Add arg-nonnull.
20562         (Makefile.am): Insert arg-nonnull.h into unistd.h.
20563         * modules/wchar (Depends-on): Add arg-nonnull.
20564         (Makefile.am): Insert arg-nonnull.h into wchar.h.
20565         * modules/argv-iter (Depends-on): Add arg-nonnull.
20566         * tests/test-canonicalize.c (null_ptr): New function.
20567         (main): Use it.
20568         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
20569         (main): Use it.
20570         * tests/test-memmem.c (null_ptr): New function.
20571         (main): Use it.
20572         Reported by Jim Meyering.
20573
20574 2009-12-10  Bruno Haible  <bruno@clisp.org>
20575
20576         Use spaces for indentation, not tabs.
20577         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20578         * m4/*.m4: Untabify.
20579         * build-aux/*.h: Untabify.
20580         * tests/**/*.[hc]: Untabify.
20581         * README: New section "Indent with spaces, not TABs", based on
20582         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
20583         * NEWS: Mention the change.
20584
20585 2009-12-10  Bruno Haible  <bruno@clisp.org>
20586
20587         pty test: Fix link error.
20588         * modules/pty-tests (Makefile.am): Add the default LDADD value to
20589         test_pty_LDADD.
20590
20591 2009-12-07  Simon Josefsson  <simon@josefsson.org>
20592
20593         * modules/pty: New file.
20594         * modules/pty-tests: New file.
20595         * m4/pty.m4: New file.
20596         * tests/test-pty.c: New file.
20597         * doc/glibc-headers/pty.texi: Modified.
20598         * doc/glibc-functions/forkpty.texi: Modified.
20599         * doc/glibc-functions/openpty.texi: Modified.
20600
20601 2009-12-10  Bruno Haible  <bruno@clisp.org>
20602
20603         Avoid syntax error in C++ mode.
20604         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
20605
20606 2009-12-10  Bruno Haible  <bruno@clisp.org>
20607
20608         Use sed with option -e.
20609         * gnulib-tool (func_version, func_emit_copyright_notice,
20610         func_emit_initmacro_end, func_import, func_create_testdir): Pass
20611         option -e to sed.
20612         * modules/link-warning (Makefile.am): Likewise.
20613
20614 2009-12-10  Jim Meyering  <meyering@redhat.com>
20615
20616         mgetgroups: do not write bytes beyond end of malloc'd buffer
20617         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
20618         username, we call getgroups with a one-element-shorter buffer,
20619         but still told it the length was original, max_n_groups.
20620
20621 2009-12-09  Eric Blake  <ebb9@byu.net>
20622
20623         cloexec: relax license
20624         * modules/cloexec (Maintainer): Add myself.
20625         (License): Use LGPL, not GPL.
20626
20627         link-warning: optimize generation
20628         * modules/link-warning (Makefile.am): Reduce process usage.
20629
20630 2009-12-09  Bruno Haible  <bruno@clisp.org>
20631
20632         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
20633         workaround was added on 2009-11-17.
20634
20635 2009-12-09  Jim Meyering  <meyering@redhat.com>
20636             Bruno Haible  <bruno@clisp.org>
20637
20638         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
20639         * modules/link-warning (Makefile.am): Make the comment-removing sed
20640         command more robust in the face of bootstrap-prepended comment lines.
20641
20642 2009-12-09  Bruno Haible  <bruno@clisp.org>
20643
20644         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
20645         most one group.
20646
20647 2009-12-09  Simon Josefsson <simon@josefsson.org>
20648             Bruno Haible  <bruno@clisp.org>
20649
20650         * build-aux/link-warning.h: Add copyright notice.
20651         * modules/link-warning (Makefile.am): Generate link-warning.h from
20652         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
20653         * NEWS: Mention change in link-warning module.
20654         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
20655         * modules/dirent (Makefile.am): Add dependency to dirent.h.
20656         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
20657         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
20658         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
20659         * modules/math (Makefile.am): Add dependency to math.h.
20660         * modules/search (Makefile.am): Add dependency to search.h.
20661         * modules/signal (Makefile.am): Add dependency to signal.h.
20662         * modules/spawn (Makefile.am): Add dependency to spawn.h.
20663         * modules/stdio (Makefile.am): Add dependency to stdio.h.
20664         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
20665         * modules/string (Makefile.am): Add dependency to string.h.
20666         * modules/strings (Makefile.am): Add dependency to strings.h.
20667         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
20668         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
20669         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
20670         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
20671         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
20672         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
20673         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
20674         * modules/unistd (Makefile.am): Add dependency to unistd.h.
20675         * modules/wchar (Makefile.am): Add dependency to wchar.h.
20676
20677 2009-12-09  Bruno Haible  <bruno@clisp.org>
20678
20679         fchdir: Optimize away rpl_fstat when possible.
20680         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
20681         REPLACE_OPEN_DIRECTORY.
20682         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
20683
20684 2009-12-09  Bruno Haible  <bruno@clisp.org>
20685
20686         * lib/fchdir.c: Update comment.
20687
20688 2009-12-09  Bruno Haible  <bruno@clisp.org>
20689
20690         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20691
20692 2009-12-08  Eric Blake  <ebb9@byu.net>
20693
20694         fchdir: avoid memory leak on re-registration.
20695         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20696
20697 2009-12-08  Jim Meyering  <meyering@redhat.com>
20698
20699         init.sh: avoid Solaris 10 /bin/sh portability problem
20700         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20701         sourced script:
20702           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20703           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20704           bar
20705         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20706         and two tests used that idiom.
20707         * tests/init.sh: Update suggested usage comments.
20708         (path_prepend_): New function, to be used in place
20709         of the --src-path=DIR option.
20710         (setup_): Move PATH-prepending code into path_prepend_.
20711         * tests/test-pread.sh: Adapt to new usage.
20712         * tests/test-xalloc-die.sh: Likewise.
20713
20714 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20715
20716         * doc/gnulib.texi (Glibc pty.h): Add.
20717         * doc/glibc-functions/forkpty.texi: Add.
20718         * doc/glibc-functions/openpty.texi: Add.
20719         Suggested by Bruno Haible.
20720
20721 2009-12-08  Eric Blake  <ebb9@byu.net>
20722
20723         fchdir: fix logic bugs
20724         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20725         * tests/test-fchdir.c (main): Enhance test.
20726         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20727         is in use.
20728
20729         dup2: fix logic bugs
20730         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20731         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20732         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20733         exists.
20734         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20735
20736 2009-12-07  Eric Blake  <ebb9@byu.net>
20737
20738         unlink: fix m4 detection
20739         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20740
20741         unistd-safer: add unit test
20742         * modules/unistd-safer-tests: New file.
20743         * tests/test-dup-safer.c: Likewise.
20744         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20745         * tests/test-dup2.c (setmode): Likewise.
20746         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20747
20748         cloexec: preserve text vs. binary across dup_cloexec
20749         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20750         mode.
20751         * modules/dup2-tests (Depends-on): Add binary-io.
20752         * modules/cloexec-tests (Depends-on): Likewise.
20753         * tests/test-dup2.c (setmode, is_mode): New helpers.
20754         (main): Add tests that translation mode is preserved.
20755         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20756         Reported by Bruno Haible.
20757
20758         mgetgroups: reduce duplicate listings
20759         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20760         resulting array.
20761         * tests/test-chown.h (test_chown): Simplify client.
20762         * tests/test-lchown.h (test_lchown): Likewise.
20763
20764 2009-12-06  Bruno Haible  <bruno@clisp.org>
20765
20766         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20767         value.
20768
20769 2009-12-06  Bruno Haible  <bruno@clisp.org>
20770
20771         * lib/progname.c: Include stdio.h, stdlib.h.
20772         (set_program_name): Reject a NULL argument.
20773
20774 2009-12-05  Eric Blake  <ebb9@byu.net>
20775
20776         pipe2-safer: new module
20777         * modules/pipe2-safer: New file.
20778         * lib/unistd-safer.h (pipe2_safer): New prototype.
20779         * lib/unistd--.h (pipe2): New wrapper.
20780         * lib/pipe-safer.c (pipe2_safer): New function.
20781         * modules/pipe (Depends-on): Add pipe2-safer.
20782         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20783
20784         stdlib-safer: preserve cloexec flag for mkostemp[s]
20785         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20786         fd_safer_flag.
20787
20788         unistd-safer: allow preservation of cloexec status via flag
20789         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20790         prototypes.
20791         * lib/dup-safer.c (dup_safer_flag): New function.
20792         * lib/fd-safer.c (fd_safer_flag): Likewise.
20793         * modules/cloexec (configure.ac): Set witness.
20794
20795         test-dup2: enhance test
20796         * modules/dup2-tests (Depends-on): Add cloexec.
20797         * tests/test-dup2.c (main): Enhance test.
20798
20799         cloexec: add dup_cloexec
20800         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20801         header and comments.
20802         * lib/cloexec.c (set_cloexec_flag): Add comments.
20803         (dup_cloexec): New function, with mingw implementation borrowed
20804         from...
20805         * lib/w32spawn.h (dup_noinherit): ...here.
20806         * modules/execute (Depends-on): Add cloexec.
20807         * modules/pipe (Depends-on): Likewise.
20808         * modules/cloexec (Depends-on): Add dup2.
20809         * modules/cloexec-tests (Files): New file.
20810         * tests/test-cloexec.c: Likewise.
20811
20812         test-xalloc-die: fix test for mingw
20813         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20814         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20815         directory and .exe suffix off argv[0] output.
20816
20817         test-fseeko: fix test for mingw
20818         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20819         than undefining fseek, so test will pass on mingw.
20820
20821 2009-12-05  Bruno Haible  <bruno@clisp.org>
20822
20823         * lib/progname.h (set_program_name): Clarify specification.
20824         * lib/progname.c (set_program_name): Likewise.
20825         Reported by Jim Meyering.
20826
20827 2009-12-05  Jim Meyering  <meyering@redhat.com>
20828
20829         maint.mk: backslash-escape parens in default regexp
20830         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20831         backslash-escape the literal parentheses.
20832
20833         maint.mk: news-date-check: use grep -E
20834         * top/maint.mk (today): Define a Make variable, not a...
20835         (news-date-check): ...shell variable.
20836         (news-date-regexp): Use the Make variable.
20837         Use grep's -E option.  Change the failing diagnostic to mention
20838         the variable, $(news-date-regexp).
20839
20840 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20841
20842         maintainer-makefile: allow customization of NEWS entry format
20843         * top/maint.mk (news-date-regexp): New overridable variable.
20844         (news-date-check): Use it.
20845
20846 2009-12-04  Eric Blake  <ebb9@byu.net>
20847
20848         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20849         * lib/mgetgroups.h (xgetgroups): New prototype.
20850         * lib/mgetgroups.c (xgetgroups): New wrapper.
20851         (mgetgroups): Handle ENOSYS.
20852         * modules/mgetgroups (Depends-on): Add realloc.
20853         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20854
20855         mgetgroups: avoid argument promotion issues with -1
20856         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20857         for invalid gid_t.
20858         * tests/test-chown.h (getegid, test_chown): Likewise.
20859         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20860
20861 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20862
20863         exclude: Fix header file problems.
20864         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20865
20866 2009-12-01  Jim Meyering  <meyering@redhat.com>
20867
20868         fts: fts_open: do not let an empty string cause immediate failure
20869         This is required in support of GNU rm, for which the command
20870         "rm A '' B" must process and remove both A and B, in spite of
20871         the empty string argument.
20872         * lib/fts.c (fts_open): Do not let the presence of an empty string
20873         cause fts_open to fail immediately.  Most fts-using tools must be
20874         able to process all arguments, in order, and can be expected to
20875         diagnose such arguments themselves.
20876
20877 2009-11-30  Eric Blake  <ebb9@byu.net>
20878
20879         utimens: fix compilation error
20880         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20881         Declare variable at right scope.
20882
20883 2009-11-29  Jim Meyering  <meyering@redhat.com>
20884
20885         bootstrap: handle perl-5.11's changed --version output
20886         * build-aux/bootstrap (get_version): Handle perl separately,
20887         since perl-5.11's --version output is different.
20888
20889 2009-11-28  Jim Meyering  <meyering@redhat.com>
20890
20891         userspec: depend on the inttostr module, too
20892         * modules/userspec (Depends-on): Add inttostr.
20893
20894         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20895         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20896         number of MAXUID when it evaluates to (uid_t) -1.
20897         Likewise for group ID.  Reported by Matt McCutchen in
20898         <http://savannah.gnu.org/bugs/?28113>
20899
20900         userspec: reformat to use spaces, not TABs
20901         * lib/userspec.c: Expand TABs to spaces.
20902         Add Emacs' "indent-tabs-mode: nil" hint.
20903
20904 2009-11-27  Eric Blake  <ebb9@byu.net>
20905
20906         getopt-gnu: flush out another BSD bug
20907         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20908         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20909         flush out BSD bug.
20910         * tests/test-getopt.h (test_getopt): End lists with NULL.
20911         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20912         (test_getopt_long_posix): Enhance test.
20913         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20914         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20915         getopt-gnu.
20916         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20917         Likewise.
20918
20919 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20920
20921         * modules/idpriv-droptemp-tests (Notice): Fix text.
20922
20923 2009-11-27  Jim Meyering  <meyering@redhat.com>
20924
20925         test-xalloc-die: avoid spurious failure due to libtool argv difference
20926         In a libtool-enabled project, this test would fail due to a difference
20927         in the emitted program name, e.g.,
20928         -test-xalloc-die: memory exhausted
20929         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
20930         Use program to avoid that.
20931         * modules/xalloc-die-tests (Depends-on): Add progname.
20932         * tests/test-xalloc-die.c: Include progname.h".
20933         (program_name): Remove decl.
20934         (main): Call set_program_name.
20935         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
20936
20937 2009-11-26  Richard Jones  <rjones@redhat.com>
20938
20939         w32sock: leave win32 error in place.
20940         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
20941
20942 2009-11-26  Eric Blake  <ebb9@byu.net>
20943
20944         init.sh: suggest to use skip_ and fail_ functions in comments
20945         * tests/init.sh: Add a sentence.
20946
20947 2009-11-25  Bruno Haible  <bruno@clisp.org>
20948
20949         init.sh: add documentation in comments
20950         * tests/init.sh: Add some developer and user documentation.
20951
20952 2009-11-26  Jim Meyering  <meyering@redhat.com>
20953
20954         init.sh: accommodate even those who specify bogus srcdir manually
20955         * tests/init.sh: Normally, srcdir is guaranteed by automake and
20956         configure-time tests to be sanitized, so that there is no need to
20957         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
20958         (with no double quotes) suffices.  However, since tests may be
20959         invoked manually, and since you may explicitly set srcdir to the
20960         name of a directory containing spaces, do quote its uses here.
20961         * tests/test-pread.sh: Likewise.
20962         Suggested by Bruno Haible.
20963
20964         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
20965         * tests/test-pread.sh: Write no data into the pipe, because
20966         test-pread actually reads none.  This avoids a diagnostic,
20967         "bash: echo: write error: Broken pipe", that arises in the unusual
20968         event something is ignoring SIGPIPE, and might be interpreted
20969         as some sort of failure.  Reported by Bruno Haible.
20970
20971 2009-11-25  Jim Meyering  <meyering@redhat.com>
20972
20973         test-pread: cover failure with ESPIPE and EINVAL
20974         * tests/test-pread.c (main): Test for failure, too.
20975         * tests/test-pread.sh: Invoke with stdin on a pipe.
20976         Suggested by Eric Blake.
20977
20978         pread: improvement and fix
20979         * modules/pread (Depends-on): Depend on lseek, for portability to
20980         e.g., mingw.  Suggested by Eric Blake.
20981         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
20982
20983         unistd.in.h: correct declaration of pread
20984         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
20985         Reported by Richard W.M. Jones.
20986
20987         test-pread.sh: distribute the test script
20988         * modules/pread-tests (Files): Include test-pread.sh.
20989
20990         test-pread.sh: clean up
20991         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
20992         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
20993         That is unnecessary, since it's always ".".
20994         Suggestion from Eric Blake.
20995
20996         test-pread.sh: make executable
20997         * tests/test-pread.sh: Set executable bit.
20998         Reported by Eric Blake.
20999
21000         correct typo in test-pread.sh
21001         * tests/test-pread.sh: Add #! line.
21002
21003         test pread
21004         * tests/test-pread.c: New file.
21005         * tests/test-pread.sh: Likewise.
21006         * modules/pread-tests: Likewise.
21007
21008         pread: new module
21009         * modules/pread: New file.
21010         * lib/unistd.in.h (pread): Define/declare.
21011         * lib/pread.c (pread): New file.
21012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
21013         * modules/unistd (Makefile.am): Substitute witnesses.
21014         * doc/posix-functions/pread.texi (pread): Update.
21015         * MODULES.html.sh: Add pread.
21016
21017 2009-11-25  Jim Meyering  <meyering@redhat.com>
21018
21019         tests/init.sh: new file to be used via most *.sh tests
21020         * tests/init.sh: New file.
21021
21022 2009-11-25  Eric Blake  <ebb9@byu.net>
21023
21024         utimens: work around older Linux failure with symlinks
21025         * lib/utimens.c (lutimensat_works_really): New variable.
21026         (fdutimens, lutimens): Use it to manage kernels that support
21027         nanosecond times on files, but not on symlinks.
21028         Reported by OndÅ™ej Vašík.
21029
21030         utimes: fix configure grammar
21031         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
21032
21033 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
21034
21035         regex: Fix fastmap for multibyte character ranges.
21036         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
21037         characters when a multibyte character range is included.
21038
21039 2009-11-22  Andy Wingo  <wingo@pobox.com>
21040
21041         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
21042         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
21043
21044 2009-11-24  Bruno Haible  <bruno@clisp.org>
21045
21046         doc: Most *_l functions exist in MacOS X 10.5.
21047         * doc/posix-functions/duplocale.texi: Update platforms list.
21048         * doc/posix-functions/freelocale.texi: Likewise.
21049         * doc/posix-functions/newlocale.texi: Likewise.
21050         * doc/posix-functions/uselocale.texi: Likewise.
21051         * doc/posix-functions/isalnum_l.texi: Likewise.
21052         * doc/posix-functions/isalpha_l.texi: Likewise.
21053         * doc/posix-functions/isblank_l.texi: Likewise.
21054         * doc/posix-functions/iscntrl_l.texi: Likewise.
21055         * doc/posix-functions/isdigit_l.texi: Likewise.
21056         * doc/posix-functions/isgraph_l.texi: Likewise.
21057         * doc/posix-functions/islower_l.texi: Likewise.
21058         * doc/posix-functions/isprint_l.texi: Likewise.
21059         * doc/posix-functions/ispunct_l.texi: Likewise.
21060         * doc/posix-functions/isspace_l.texi: Likewise.
21061         * doc/posix-functions/isupper_l.texi: Likewise.
21062         * doc/posix-functions/iswalnum_l.texi: Likewise.
21063         * doc/posix-functions/iswalpha_l.texi: Likewise.
21064         * doc/posix-functions/iswblank_l.texi: Likewise.
21065         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21066         * doc/posix-functions/iswctype_l.texi: Likewise.
21067         * doc/posix-functions/iswdigit_l.texi: Likewise.
21068         * doc/posix-functions/iswgraph_l.texi: Likewise.
21069         * doc/posix-functions/iswlower_l.texi: Likewise.
21070         * doc/posix-functions/iswprint_l.texi: Likewise.
21071         * doc/posix-functions/iswpunct_l.texi: Likewise.
21072         * doc/posix-functions/iswspace_l.texi: Likewise.
21073         * doc/posix-functions/iswupper_l.texi: Likewise.
21074         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21075         * doc/posix-functions/isxdigit_l.texi: Likewise.
21076         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
21077         * doc/posix-functions/strcasecmp_l.texi: Likewise.
21078         * doc/posix-functions/strcoll_l.texi: Likewise.
21079         * doc/posix-functions/strfmon_l.texi: Likewise.
21080         * doc/posix-functions/strftime_l.texi: Likewise.
21081         * doc/posix-functions/strncasecmp_l.texi: Likewise.
21082         * doc/posix-functions/strxfrm_l.texi: Likewise.
21083         * doc/posix-functions/tolower_l.texi: Likewise.
21084         * doc/posix-functions/toupper_l.texi: Likewise.
21085         * doc/posix-functions/towctrans_l.texi: Likewise.
21086         * doc/posix-functions/towlower_l.texi: Likewise.
21087         * doc/posix-functions/towupper_l.texi: Likewise.
21088         * doc/posix-functions/wcscoll_l.texi: Likewise.
21089         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21090         * doc/posix-functions/wctrans_l.texi: Likewise.
21091         * doc/posix-functions/wctype_l.texi: Likewise.
21092         * doc/glibc-functions/strptime_l.texi: Likewise.
21093         * doc/glibc-functions/strtod_l.texi: Likewise.
21094         * doc/glibc-functions/strtof_l.texi: Likewise.
21095         * doc/glibc-functions/strtol_l.texi: Likewise.
21096         * doc/glibc-functions/strtold_l.texi: Likewise.
21097         * doc/glibc-functions/strtoll_l.texi: Likewise.
21098         * doc/glibc-functions/strtoul_l.texi: Likewise.
21099         * doc/glibc-functions/strtoull_l.texi: Likewise.
21100         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21101         * doc/glibc-functions/wcstod_l.texi: Likewise.
21102         * doc/glibc-functions/wcstof_l.texi: Likewise.
21103         * doc/glibc-functions/wcstol_l.texi: Likewise.
21104         * doc/glibc-functions/wcstold_l.texi: Likewise.
21105         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21106         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21107         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21108
21109 2009-11-24  Bruno Haible  <bruno@clisp.org>
21110
21111         duplocale: Fix logic bug.
21112         * lib/duplocale.c: Don't include <langinfo.h>.
21113         (_NL_LOCALE_NAME): Remove macro.
21114         (rpl_duplocale): Use setlocale instead of nl_langinfo.
21115         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
21116
21117 2009-11-23  Jim Meyering  <meyering@redhat.com>
21118
21119         test-update-copyright: don't hard-code /usr/bin/perl
21120         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
21121         perl to print the current year.  Gilles Espinasse reported that
21122         the replaced use of perl was hard-coded as /usr/bin/perl.
21123
21124 2009-11-23  Bruno Haible  <bruno@clisp.org>
21125
21126         duplocale: Add support for glibc 2.3.x.
21127         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
21128
21129 2009-11-22  Bruno Haible  <bruno@clisp.org>
21130
21131         vasnprintf: Tiny optimization.
21132         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
21133         MacOS X.
21134
21135 2009-11-22  Bruno Haible  <bruno@clisp.org>
21136
21137         Tests for module 'duplocale'.
21138         * modules/duplocale-tests: New file.
21139         * tests/test-duplocale.c: New file.
21140
21141         New module 'duplocale'.
21142         * m4/duplocale.m4: New file.
21143         * lib/locale.in.h (duplocale): New declaration.
21144         * lib/duplocale.c: New file.
21145         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
21146         gl_LOCALE_H_DEFAULTS): New macros.
21147         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
21148         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21149         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
21150         REPLACE_DUPLOCALE.
21151         * modules/duplocale: New file.
21152         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
21153
21154 2009-11-22  Bruno Haible  <bruno@clisp.org>
21155
21156         * modules/locale-tests (configure.ac): Test for newlocale function.
21157         * tests/test-locale.c: When the system has extended locale functions,
21158         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
21159
21160         locale: Make locale_t available when possible.
21161         * lib/locale.in.h: Include <xlocale.h> when it exists.
21162         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
21163         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
21164         * modules/locale (Depends-on): Add extensions.
21165         (Makefile.am): Also substitute HAVE_XLOCALE_H.
21166         * doc/posix-headers/locale.texi: Document the problem with locale_t.
21167
21168 2009-11-22  Bruno Haible  <bruno@clisp.org>
21169
21170         Add comments.
21171         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
21172         invocation.
21173         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
21174         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21175         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21176
21177 2009-11-22  Bruno Haible  <bruno@clisp.org>
21178
21179         error: account for the possibility of freopen (stdout).
21180         * lib/error.c: Include <unistd.h>.
21181         (flush_stdout): New function, extracted from error and error_at_line.
21182         Determine stdout's fd dynamically.
21183         (error, error_at_line): Invoke flush_stdout.
21184         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
21185         * modules/error (Depends-on): Add unistd.
21186
21187 2009-11-22  Bruno Haible  <bruno@clisp.org>
21188
21189         diffseq: Add comment.
21190         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
21191
21192 2009-11-22  Jim Meyering  <meyering@redhat.com>
21193
21194         c-stack: avoid defining an unused static function
21195         * lib/c-stack.c (find_stack_direction): Do not define this function
21196         when it will not be used.
21197
21198         diffseq: avoid spurious gcc warnings
21199         * lib/diffseq.h (IF_LINT2): Define.
21200         (compareseq): Use it to initialize two members of "part".
21201         This avoids two used-uninitialized warnings.
21202
21203 2009-11-21  Jim Meyering  <meyering@redhat.com>
21204
21205         c-stack: avoid "ignoring return value of `write'" warning
21206         * lib/c-stack.c: Include "ignore-value.h".
21207         (die): Explicitly ignore each write return value.
21208         * modules/c-stack (Depends-on): Add ignore-value.
21209
21210 2009-11-21  Bruno Haible  <bruno@clisp.org>
21211
21212         diffseq: reduce scope of variable 'best'.
21213         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
21214         variable, earlier used for two different purposes.
21215
21216 2009-11-21  Jim Meyering  <meyering@redhat.com>
21217
21218         diffseq: remove useless assignment to "best"
21219         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
21220         assignment.  At that point "best" is already guaranteed to be zero.
21221
21222 2009-11-20  Eric Blake  <ebb9@byu.net>
21223
21224         build: mention ftp redirector in release announcements
21225         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
21226         values that used to come from cfg.mk; mention FTP redirect URL.
21227         * build-aux/announce-gen: Mention the mirror list.
21228         Suggested by Karl Berry.
21229
21230         nanosleep: improve port to mingw
21231         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
21232         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
21233         LIB_NANOSLEEP, but only when needed.
21234         * modules/select (Link): Document LIBSOCKET.
21235         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
21236         enough.
21237
21238         nanosleep: work around cygwin bug
21239         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
21240         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
21241         bug.
21242         (getnow): Delete, not needed.
21243         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
21244         LIB_CLOCK_GETTIME.
21245         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
21246         clock-time, gettime.
21247         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
21248         bug.
21249         * modules/nanosleep-tests: New test.
21250         * tests/test-nanosleep.c: New file.
21251
21252         sleep: work around cygwin bug
21253         * lib/sleep.c (rpl_sleep): Work around the bug.
21254         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
21255         (gl_PREREQ_SLEEP): Delete unused macro.
21256         * modules/sleep (Depends-on): Add verify.
21257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21258         * modules/unistd (Makefile.am): Substitute witness.
21259         * lib/unistd.in.h (sleep): Update prototype.
21260         * doc/posix-functions/sleep.texi (sleep): Document the bug.
21261         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
21262         * modules/sleep-tests (Depends-on): Check for alarm.
21263
21264 2009-11-20  Jim Meyering  <meyering@redhat.com>
21265
21266         maint.mk: improve sc_prohibit_magic_number_exit
21267         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
21268         so it does not match uses like System.exit(1).
21269         Add comments showing how to correct all offenders.
21270
21271 2009-11-19  Eric Blake  <ebb9@byu.net>
21272
21273         xalloc-die-tests: add missing library
21274         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
21275
21276         test-xvasprintf: silence compiler warnings
21277         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
21278         empty string from gcc.
21279
21280 2009-11-19  Jim Meyering  <meyering@redhat.com>
21281
21282         xfreopen: new module, from coreutils
21283         * modules/xfreopen: New module.
21284         * lib/xfreopen.c: New file.
21285         * lib/xfreopen.h: New file.
21286         * MODULES.html.sh (File stream based Input/Output"): Add it.
21287
21288 2009-11-19  Eric Blake  <ebb9@byu.net>
21289
21290         manywarnings: depend on warnings
21291         * modules/manywarnings (Depends-on): Add warnings.
21292
21293         build: avoid compiler warnings
21294         * lib/select.c (rpl_select): Delete unused variable.
21295         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
21296
21297 2009-11-18  Eric Blake  <ebb9@byu.net>
21298
21299         tests: avoid false negative with --with-packager
21300         * tests/test-version-etc.sh: Discard packager information.
21301         * tests/test-argp-version-etc-1.sh: Likewise.
21302         Reported by Mike Frysinger.
21303
21304         utimens: fix regression on Solaris
21305         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
21306         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
21307         can only change fd timestamps via futimesat.  Instead, use an
21308         additional witness macro to avoid BSD bug.
21309         Reported by Jim Meyering.
21310
21311 2009-11-17  Eric Blake  <ebb9@byu.net>
21312
21313         usleep: use it to simplify tests
21314         * modules/stat-time-tests (Depends-on): Add usleep.
21315         (configure.ac): Drop usleep check.
21316         * modules/chown-tests (Depends-on, configure.ac): Likewise.
21317         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
21318         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
21319         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
21320         * modules/openat-tests (Depends-on, configure.ac): Likewise.
21321         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
21322         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
21323         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
21324         Likewise.
21325         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
21326         * tests/test-lchown.h (nap): Likewise.
21327         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
21328         * tests/test-stat-time.c (nap): Likewise.
21329         * tests/test-utimens-common.h (nap): Update comments.
21330
21331         usleep: new module
21332         * modules/usleep: New file.
21333         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
21334         * lib/usleep.c (usleep): Likewise.
21335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
21336         * modules/unistd (Makefile.am): Substitute witnesses.
21337         * lib/unistd.in.h (usleep): Add declaration.
21338         * doc/pastposix-functions/usleep.texi (usleep): Document this.
21339         * MODULES.html.sh (Date and time): Likewise.
21340         * modules/usleep-tests (Depends-on): New test.
21341         * tests/test-usleep.c: New file.
21342
21343         chown: work around OpenBSD bug
21344         * lib/chown.c (rpl_chown): Work around the bug.
21345         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
21346         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
21347         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
21348         * modules/chown (Depends-on): Add stdbool.
21349         * modules/lchown (Depends-on): Likewise.
21350         * doc/posix-functions/chown.texi (chown): Document the bug.
21351         * doc/posix-functions/lchown.texi (lchown): Likewise.
21352         * tests/test-lchown.h (test_chown): Relax test.
21353
21354         mkstemp: avoid conflict with C++ keyword template
21355         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
21356         * lib/mkostemp.c (mkostemp): Likewise.
21357         * lib/mkostemps.c (mkostemps): Likewise.
21358         * lib/mkstemp.c (mkstemp): Likewise.
21359         * lib/mkstemps.c (mkstemps): Likewise.
21360
21361         xalloc-die-tests: optimize
21362         * tests/test-xalloc-die.sh: Reduce number of processes.
21363
21364 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21365
21366         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
21367         patch from ludo@gnu.org (Ludovic Courtès).
21368
21369 2009-11-17  Jim Meyering  <meyering@redhat.com>
21370
21371         version-etc: use proper license string
21372         * modules/version-etc (License): Use LGPL, not LGPLv3+.
21373         * modules/version-etc-fsf: Likewise.
21374
21375 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21376
21377         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
21378         printed to stdout.  Deal with EOL differences.
21379
21380 2009-11-17  Eric Blake  <ebb9@byu.net>
21381
21382         unsetenv: work around Solaris bug
21383         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
21384         * lib/unsetenv.c (rpl_unsetenv): Work around it.
21385         Reported by Jim Meyering.
21386
21387         vasnprintf: avoid compiler warnings
21388         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
21389         variables.
21390         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
21391
21392 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21393
21394         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
21395         settings since xalloc-die is no longer the self test,
21396         xalloc-die.sh is.
21397
21398 2009-11-17  Jim Meyering  <meyering@redhat.com>
21399
21400         test-xalloc-die.sh: make the code agree with the commit log
21401         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
21402         at the end, just in case you happen to have a test-xalloc-die
21403         program in some other PATH directory.
21404
21405         test-xalloc-die.sh: fix a portability bug
21406         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
21407         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
21408         Otherwise, argv[0] (as often seen in diagnostics) would be too
21409         system-dependent, sometimes with, and sometimes without the leading "./".
21410
21411         version-etc-fsf: relax license to LGPLv3+
21412         * modules/version-etc-fsf (License): Relax license.
21413
21414 2009-11-16  Eric Blake  <ebb9@byu.net>
21415
21416         xalloc-die-tests: avoid printing null pointer
21417         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
21418         shell script.
21419         * tests/test-xalloc-die.c (program_name): Declare.
21420         * tests/test-xalloc-die.sh (tmpfiles): New file.
21421
21422         setenv, unsetenv: work around various bugs
21423         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
21424         (setenv) [HAVE_SETENV]: Work around bugs.
21425         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
21426         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
21427         for bugs.
21428         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
21429         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
21430         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
21431         * modules/stdlib (Makefile.am): Update substitutions.
21432         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
21433         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
21434         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21435         * modules/setenv-tests: New test.
21436         * modules/unsetenv-tests: Likewise.
21437         * tests/test-setenv.c: New file.
21438         * tests/test-unsetenv.c: Likewise.
21439
21440 2009-11-16  Jim Meyering  <meyering@redhat.com>
21441
21442         version-etc: relax license to LGPLv3+
21443         * modules/version-etc (License): Relax license.
21444
21445         better AC_REQUIRE expanded-before-required-warning avoidance
21446         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
21447         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
21448         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
21449         which is no longer needed.
21450
21451 2009-11-16  Eric Blake  <ebb9@byu.net>
21452
21453         test-freading: clean up temporary file
21454         * tests/test-freading.c (main): Remove file on success, and use
21455         ASSERT more liberally.
21456         Reported by Jim Meyering.
21457
21458 2009-11-16  Jim Meyering  <meyering@redhat.com>
21459
21460         avoid new AC_REQUIRE expanded-before-required warnings
21461         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
21462         merely using it.
21463         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
21464         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
21465
21466 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21467
21468         * tests/test-xalloc-die.c: New file.
21469         * modules/xalloc-die-tests: New file.
21470         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
21471         XFAIL_TESTS so it can be appended by modules.
21472
21473 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21474
21475         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
21476         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
21477
21478 2009-11-14  Eric Blake  <ebb9@byu.net>
21479
21480         fnmatch: avoid compiler warning
21481         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
21482         to silence compiler warning about mismatch signedness in ?:.
21483         Reported by Robert Millan.
21484
21485         intprops: add double-inclusion guard
21486         * lib/intprops.h: Allow idempotent includes.
21487         Suggested by Bruce Korb.
21488
21489         openat: detect Solaris fchownat bug
21490         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
21491         penalizing glibc chownat when only lchownat is broken.
21492         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
21493         trailing slash bugs.
21494         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
21495         * modules/openat-tests (Files): Include more files.
21496         (Depends-on): Add mgetgroups, sleep, stat-time.
21497         (configure.ac): Add additional checks.
21498         (Makefile.am): Build new test.
21499         * tests/test-fchownat.c: New file.
21500
21501         lchown: detect Solaris and FreeBSD bug
21502         * lib/lchown.c (rpl_lchown): Work around bug.
21503         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
21504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21505         * modules/unistd (Makefile.am): Populate it.
21506         * lib/unistd.in.h (lchown): Update declaration.
21507         * doc/posix-functions/lchown.texi (lchown): Document the bug.
21508         * modules/lchown-tests: New file.
21509         * tests/test-lchown.h (test_lchown): Likewise.
21510         * tests/test-lchown.c (main): Likewise.
21511
21512         chown: detect Solaris and FreeBSD bug
21513         * lib/chown.c (rpl_chown): Work around bug.
21514         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
21515         (gl_PREREQ_CHOWN): Delete.
21516         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21517         * modules/unistd (Makefile.am): Populate it.
21518         * lib/unistd.in.h (chown): Update declaration.
21519         * lib/lchown.c (chown): Update client.
21520         * modules/lchown (Depends-on): Add lstat.
21521         * doc/posix-functions/chown.texi (chown): Document the bug.
21522         * doc/posix-functions/getgroups.texi (getgroups): Document
21523         getgroups pitfall.
21524         * modules/chown-tests: New file.
21525         * tests/test-chown.h (test_chown): Likewise.
21526         * tests/test-chown.c (main): Likewise.
21527
21528 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
21529
21530         gnulib-tool: correctly detect absence of m4 directories
21531         * gnulib-tool: Avoid extra newline on data passed to wc -l.
21532
21533 2009-11-14  Jim Meyering  <meyering@redhat.com>
21534
21535         maint.mk: Prohibit inclusion of "xalloc.h" without use.
21536         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21537
21538 2009-11-14  John W. Eaton  <jwe@gnu.org>
21539
21540         strftime.h: wrap funtion declaration in extern "C" block
21541         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
21542
21543 2009-11-13  Eric Blake  <ebb9@byu.net>
21544
21545         getgroups: avoid compiler warning
21546         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
21547
21548         getgroups: work around FreeBSD bug
21549         * lib/getgroups.c (rpl_getgroups): Work around the bug.
21550         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
21551         * doc/posix-functions/getgroups.texi (getgroups): Document it.
21552         * tests/test-getgroups.c (main): Fix buffer overrun.
21553
21554         getgroups: avoid compilation failure
21555         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
21556         * modules/getgroups (Depends-on): Add stdint.
21557
21558 2009-11-13  Jim Meyering  <meyering@redhat.com>
21559
21560         test-getgroups: avoid compilation failure
21561         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
21562
21563 2009-11-13  Eric Blake  <ebb9@byu.net>
21564
21565         mgetgroups: new module, taken from coreutils
21566         * modules/mgetgroups: New file.
21567         * lib/mgetgroups.h: Likewise.
21568         * lib/mgetgroups.c (mgetgroups): Likewise.
21569         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
21570         * MODULES.html.sh (Users and groups): Mention it.
21571
21572         getgroups: don't expose GETGROUPS_T to user
21573         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
21574         an element at a time if GETGROUPS_T is wrong size.
21575         * lib/getugroups.h (getugroups): Change signature.
21576         * lib/unistd.in.h (getgroups): Likewise.
21577         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
21578         signature needs fixing.
21579         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
21580         AC_TYPE_GETGROUPS.
21581         * modules/group-member (Depends-on): Add getgroups.
21582         * lib/group-member.c (group_info, get_group_info): Use gid_t.
21583         (group_member): Rely on getgroups replacement.
21584         * lib/getugroups.c (getugroups): Use gid_t.
21585         * tests/test-getgroups.c (main): Likewise.
21586         * NEWS: Mention the signature change.
21587         * doc/posix-functions/getgroups.texi (getgroups): Mention the
21588         problem with signature.
21589         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
21590         GETGROUPS_T is still useful for setgroups.
21591
21592         getgroups, getugroups: provide stubs for mingw
21593         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
21594         * lib/getugroups.c (getugroups): Likewise.
21595         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
21596         function.  Modernize replacement scheme.
21597         (gl_PREREQ_GETGROUPS): Delete.
21598         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
21599         * modules/getgroups (configure.ac): Declare witness.
21600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21601         * modules/unistd (Depends-on): Substitute witness.
21602         * lib/unistd.in.h (getgroups): Declare replacement.
21603
21604         getgroups: avoid calling exit
21605         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
21606         drop xalloc.
21607         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
21608         dependencies.
21609         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
21610         exiting, in the rare case of malloc failure.
21611
21612         getgroups: fix logic error
21613         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
21614         has more than 20 groups.
21615         * modules/getgroups-tests: New test.
21616         * tests/test-getgroups.c: New file.
21617
21618 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21619
21620         * tests/test-base64.c: Improve.
21621
21622 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21623
21624         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
21625         Blake <ebb9@byu.net>.
21626
21627 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21628
21629         * tests/test-xvasprintf.c: Add %s%s related checks.
21630
21631 2009-11-12  Eric Blake  <ebb9@byu.net>
21632
21633         version-etc: match standards.texi style
21634         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
21635         and use <> only for URLs.
21636
21637 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
21638
21639         fts: do not fail on a submount during traversal
21640         * lib/fts.c (fts_build): Read the stat info again after opening
21641         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
21642         Original report at http://bugzilla.redhat.com/501848.
21643
21644 2009-11-12  Jim Meyering  <meyering@redhat.com>
21645
21646         bootstrap: sync from coreutils
21647         * build-aux/bootstrap (bootstrap_epilogue): New function.
21648         Use git_modules_config in one more place.  This make bootstrap's
21649         --gnulib-srcdir option more useful for testing.
21650
21651         bootstrap: generalize autoheader check
21652         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
21653         AC_CONFIG_HEADERS.
21654
21655 2009-11-11  Eric Blake  <ebb9@byu.net>
21656
21657         mkfifoat: use new modules for Solaris and BSD bugs
21658         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
21659         * lib/mkfifoat.c (mknodat): Split...
21660         * lib/mknodat.c (mknodat): ...into new file.
21661         * modules/mkfifoat (Files): Ship new file.
21662         (Depends-on): Add mkfifo, mknod.
21663         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
21664         (Depends-on): Add symlink.
21665         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
21666         redundant with test_mkfifo.h.
21667         (do_mkfifoat, do_mknodat): New helpers.
21668
21669         mknod: new module
21670         * modules/mknod: New file.
21671         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
21672         * lib/mknod.c (mknod): Likewise.
21673         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21674         defaults.
21675         * modules/sys_stat (Makefile.am): Substitute them.
21676         * lib/sys_stat.in.h (mknod): Declare replacement.
21677         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21678         Document it.
21679         * doc/posix-functions/mknod.texi (mknod): Likewise.
21680         * modules/mknod-tests: New test.
21681         * tests/test-mknod.c: Likewise.
21682
21683         mkfifo: new module
21684         * modules/mkfifo: New file.
21685         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21686         * lib/mkfifo.c (mkfifo): Likewise.
21687         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21688         defaults.
21689         * modules/sys_stat (Makefile.am): Substitute them.
21690         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21691         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21692         Document it.
21693         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21694         * modules/mkfifo-tests: New test.
21695         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21696         from test-mkfifoat.c.
21697         * tests/test-mkfifo.c: New file.
21698
21699         readlink: detect FreeBSD bug
21700         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21701         slash on symlink.
21702         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21703         * tests/test-readlink.h (test_readlink): Enhance test.
21704
21705         symlink: detect FreeBSD bug
21706         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21707         slash on symlink.
21708         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21709         * tests/test-symlink.h (test_symlink): Enhance test.
21710
21711 2009-11-10  Eric Blake  <ebb9@byu.net>
21712
21713         link: detect FreeBSD bug
21714         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21715         symlink.
21716         * doc/posix-functions/link.texi (link): Document the bug.
21717         * tests/test-link.h (test_link): Enhance test.
21718         * tests/test-linkat.c (main): Update caller.
21719
21720         unlink, remove: detect FreeBSD bug
21721         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21722         slash on symlink.
21723         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21724         * doc/posix-functions/remove.texi (remove): Likewise.
21725         * tests/test-unlink.h (test_unlink): Enhance test.
21726         * tests/test-remove.c (main): Likewise.
21727
21728 2009-11-09  Eric Blake  <ebb9@byu.net>
21729
21730         rename: detect FreeBSD bug
21731         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21732         slash on symlink.
21733         * modules/renameat-tests (Depends-on): Add filenamecat.
21734         * tests/test-rename.h (test_rename): Allow one more errno.
21735         * tests/test-renameat.c (main): Likewise.
21736         * doc/posix-functions/rename.texi (rename): Document the bug.
21737
21738         open: detect FreeBSD bug
21739         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21740         symlink.
21741         * doc/posix-functions/open.texi (open): Document the bug.
21742         * doc/posix-functions/utimes.texi (utimes): Likewise.
21743         * tests/test-open.h (test_open): Add parameters, and test symlink
21744         handling.
21745         * tests/test-open.c (main): Adjust caller.
21746         * tests/test-fcntl-safer.c (main): Likewise.
21747         * modules/open-tests (Depends-on): Add stdbool, symlink.
21748         * modules/fcntl-safer-tests (Depends-on): Likewise.
21749         * tests/test-openat.c (main): Add test-open tests.
21750
21751         stat: detect FreeBSD bug
21752         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21753         symlink.
21754         * doc/posix-functions/stat.texi (stat): Document the bug.
21755         * tests/test-stat.h (test_stat_func): Add argument.
21756         * tests/test-stat.c (main): Adjust caller.
21757         * tests/test-fstatat.c (main): Likewise.
21758         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21759         Reported by Jim Meyering.
21760
21761 2009-11-09  James Youngman  <jay@gnu.org>
21762
21763         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21764         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21765
21766 2009-11-08  Jim Meyering  <meyering@redhat.com>
21767
21768         utimens: remove invalid futimesat call
21769         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21770         It used the file descriptor of the target file as the DIR_FD
21771         parameter and NULL as the file name.  That caused failure with
21772         errno == EFAULT on FreeBSD-8.0-rc2
21773
21774 2009-11-07  Eric Blake  <ebb9@byu.net>
21775
21776         fflush, freadseek: use fseeko, not fseek
21777         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21778         (clear_ungetc_buffer): Avoid potential problems on large files.
21779         * lib/freadseek.c (freadseek): Likewise.
21780         * modules/freadseek (Depends-on): Add fseeko.
21781         * modules/fseek (configure.ac): Set a witness.
21782         * tests/test-fflush.c (main): Use fseeko.
21783         * tests/test-fpurge.c (fseek): Disable link warning.
21784         * tests/test-freadable.c (fseek): Likewise.
21785         * tests/test-freading.c (fseek): Likewise.
21786         * tests/test-fseeko.c (fseek): Likewise.
21787         * tests/test-ftell.c (fseek): Likewise.
21788         * tests/test-ftello.c (fseek): Likewise.
21789         * tests/test-fwritable.c (fseek): Likewise.
21790         * tests/test-fwriting.c (fseek): Likewise.
21791
21792 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21793
21794         * modules/memchr (Depends-on): Drop getpagesize dependency.
21795
21796 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21797
21798         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21799         Reported by Ludovic Courtès.
21800         * build-aux/pmccabe2html: Improve example usage.
21801         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21802
21803 2009-11-06  Jim Meyering  <meyering@redhat.com>
21804
21805         do-release-commit-and-tag: New module.
21806         Automate the release-commit and tag process.
21807         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21808         * modules/do-release-commit-and-tag: New file.
21809         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21810
21811 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21812
21813         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21814         because test-select.c uses inet_pton.
21815
21816 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21817
21818         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21819         GETADDRINFO_LIB.  Bump serial number.
21820         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21821         Suggested by Eric Blake <ebb9@byu.net>.
21822
21823 2009-11-05  Eric Blake  <ebb9@byu.net>
21824
21825         strtod: detect darwin bug
21826         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21827         Reported by Leo Davis.
21828
21829         freopen-safer: new module
21830         * modules/freopen-safer: New module.
21831         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21832         * lib/freopen-safer.c (freopen_safer): New file.
21833         * lib/stdio-safer.h (freopen_safer): New declaration.
21834         * lib/stdio--.h (freopen): New override.
21835         * MODULES.html.sh (File stream based Input/Output): Mention it.
21836         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21837         freopen-safer module.
21838         * doc/posix-functions/stderr.texi (stderr): Likewise.
21839         * doc/posix-functions/stdin.texi (stdin): Likewise.
21840         * doc/posix-functions/stdout.texi (stdout): Likewise.
21841         * modules/freopen-safer-tests: New test.
21842         * tests/test-reopen-safer.c: New file.
21843
21844 2009-11-05  Jim Meyering  <meyering@redhat.com>
21845
21846         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21847         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21848
21849 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21850
21851         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21852
21853 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21854
21855         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21856
21857 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21858
21859         Fix link error.
21860         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21861         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21862
21863 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21864
21865         * tests/test-func.c: Also test value of __func__.
21866
21867 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21868
21869         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21870         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21871
21872 2009-11-05  Bruno Haible  <bruno@clisp.org>
21873
21874         Fix link error.
21875         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21876         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21877         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21878
21879 2009-11-05  Bruno Haible  <bruno@clisp.org>
21880
21881         Tests for module 'inet_pton'.
21882         * modules/inet_pton-tests: New file.
21883         * tests/test-inet_pton.c: New file.
21884
21885 2009-11-05  Bruno Haible  <bruno@clisp.org>
21886
21887         Tests for module 'inet_ntop'.
21888         * modules/inet_ntop-tests: New file.
21889         * tests/test-inet_ntop.c: New file.
21890
21891 2009-11-04  Eric Blake  <ebb9@byu.net>
21892
21893         stdlib-safer: wrap all mkstemp variants
21894         * modules/mkostemp (configure.ac): Set witness.
21895         * modules/mkostemps (configure.ac): Likewise.
21896         * modules/mkstemps (configure.ac): Likewise.
21897         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21898         (mkstemps_safer): Wrap more functions.
21899         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21900         wrapping.
21901         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21902         (mkstemps_safer): Implement the wrappers.
21903
21904         mkstemps, mkostemps: new modules
21905         * modules/mkostemps: New module.
21906         * modules/mkstemps: Likewise.
21907         * lib/mkostemps.c (mkostemps): New file.
21908         * lib/mkstemps.c (mkstemps): Likewise.
21909         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21910         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21911         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21912         * modules/stdlib (Makefile.am): Substitute them.
21913         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21914         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21915         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21916         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21917         * MODULES.html.sh (File system functions): Mention them.
21918
21919         tempname: resync from glibc
21920         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
21921         same values for __GT_FILE as glibc.  Abort even when assertions
21922         are disabled.
21923         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
21924         match its value otherwise.  Allow idempotent inclusion.
21925         * lib/mkdtemp.c (mkdtemp): Adjust caller.
21926         * lib/mkostemp.c (mkostemp): Likewise.
21927         * lib/mkstemp.c (mkstemp): Likewise.
21928         * lib/tmpfile.c (tmpfile): Likewise.
21929         * NEWS: Document this.
21930
21931         utimens: fix use of futimens on older Linux
21932         * lib/utimens.c (fdutimens): Use updated, rather than original,
21933         timespec to avoid bug in older Linux kernel.
21934         Reported by Simon Josefsson.
21935
21936 2009-11-04  Bruno Haible  <bruno@clisp.org>
21937
21938         Make num_processors more flexible and consistent.
21939         * lib/nproc.h (enum nproc_query): New type.
21940         (num_processors): Add a 'query' argument.
21941         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
21942         (num_processors): Add a 'query' argument. Test the value of the
21943         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
21944         mingw, count the number of CPUs available for the current process.
21945         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
21946         Check for sched_getaffinity and sched_getaffinity_np.
21947         * modules/nproc (Depends-on): Add c-ctype, extensions.
21948         * NEWS: Mention the change.
21949
21950 2009-11-03  Bruno Haible  <bruno@clisp.org>
21951
21952         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
21953
21954 2009-11-03  Jim Meyering  <meyering@redhat.com>
21955
21956         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
21957         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
21958         if it is defined.
21959
21960 2009-11-02  Eric Blake  <ebb9@byu.net>
21961
21962         mktime, timegm: share common declaration
21963         * lib/mktime-internal.h: New file.
21964         * lib/mktime.c: Use it rather than open-coding a declaration.
21965         * lib/timegm.c: Likewise.
21966         * modules/mktime (Files): Ship it.
21967         * modules/timegm (Files): Likewise.
21968         Suggested by Bruno Haible.
21969
21970         test-update-copyright: update test to match script changes
21971         * tests/test-update-copyright.sh: Avoid hard-coding perl
21972         location.  Don't update *.bak created by earlier runs.
21973
21974 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21975             Simon Josefsson  <simon@josefsson.org>
21976             Bruno Haible  <bruno@clisp.org>
21977
21978         Fix link error on Solaris 8.
21979         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
21980         also in libnsl. Define also INET_PTON_LIB.
21981         * modules/inet_pton (Link): New section.
21982
21983 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21984             Bruno Haible  <bruno@clisp.org>
21985
21986         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
21987         * modules/inet_ntop (Link): New section.
21988         Reported by Boyan Kasarov <bkasarov@gmail.com>.
21989
21990 2009-11-02  Eric Blake  <ebb9@byu.net>
21991
21992         maint: avoid compiler warnings in m4 macros
21993         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
21994         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
21995
21996 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21997
21998         * m4/pmccabe2html.m4: Remove file.
21999         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
22000         function.  Change maintainer.
22001         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
22002         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
22003         Courtès).
22004
22005 2009-10-31  Eric Blake  <ebb9@byu.net>
22006
22007         fseeko: fix m4 regression
22008         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
22009         regression from 2009-10-27.
22010         Reported by Ralf Wildenhues.
22011
22012 2009-10-31  Jim Meyering  <meyering@redhat.com>
22013
22014         inttostr: aesthetics and improved (compile-time) safety
22015         Define inttype_is_signed rather than inttype_is_unsigned,
22016         since the sole use is via "#if inttype_is_signed".
22017         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
22018         inttype_is_unsigned.
22019         * lib/offtostr.c (inttype_is_signed): Likewise.
22020         * lib/uinttostr.c (inttype_is_signed): Likewise.
22021         * lib/umaxtostr.c (inttype_is_signed): Likewise.
22022         * lib/inttostr.c (inttostr): Use verify to cross-check the
22023         inttype_is_signed value and the signedness of the actual type.
22024         * modules/inttostr (Depends-on): Add verify.
22025
22026 2009-10-30  Eric Blake  <ebb9@byu.net>
22027
22028         build: avoid compiler warnings
22029         * lib/fchmodat.c (lchmod): Mark unused variables.
22030         * lib/getopt.c (_getopt_initialize): Likewise.
22031         * lib/mktime.c (__mktime_internal): Provide prototype.
22032         * lib/inttostr.c (inttostr): Avoid compiler warning even with
22033         older gcc that do not understand #pragma GCC diagnostic.
22034         * lib/uinttostr.c (inttype_is_unsigned): Define.
22035         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
22036
22037 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
22038
22039         stat: fix compilation on AIX
22040         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
22041         only see struct stat64.
22042
22043 2009-10-30  Eric Blake  <ebb9@byu.net>
22044
22045         exclude: make more robust
22046         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
22047         rather than masking a coding bug.
22048         Suggested by Bruno Haible.
22049
22050 2009-10-30  Jim Meyering  <meyering@redhat.com>
22051
22052         perl scripts: remove #!/usr/bin/perl in favor of more portable...
22053         Rather than putting #!/usr/bin/perl on the first line,
22054         start with a variant of what's recommended by "man perlrun" that
22055         invokes the first "perl" program from your shell's search path.
22056         * build-aux/gitlog-to-changelog: Replace #!... as above.
22057         Add a "Local Variables" perl mode setting.
22058         Prompted by a patch from Ludovic Courtès.
22059         Improved by Eric Blake.
22060         * build-aux/useless-if-before-free: Likewise.
22061         * build-aux/announce-gen: Likewise.
22062         * build-aux/update-copyright: Likewise.
22063
22064 2009-10-29  Eric Blake  <ebb9@byu.net>
22065
22066         filenamecat-lgpl: adjust clients
22067         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
22068         filenamecat.
22069         * modules/renameat (Depends-on): Likewise.
22070
22071         filenamecat: split into filenamecat-lgpl
22072         * modules/filenamecat-lgpl: New module.
22073         * modules/filenamecat (Files): Move library-safe files into
22074         filenamecat-lgpl.
22075         (Depends-on): Add filenamecat-lgpl.
22076         (configure.ac): Declare witness.
22077         * lib/filenamecat.h (file_name_concat): Only declare when using
22078         GPL module.
22079         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
22080         Move...
22081         * lib/filenamecat-lgpl.c: ...into new file.
22082         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
22083         (gl_FILE_NAME_CONCAT): Use it.
22084         * MODULES.html.sh (File system functions): Mention new module.
22085
22086         argp: avoid memory leak
22087         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
22088         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
22089         base_name, since the latter malloc()s and can call exit().
22090         Leak introduced 2006-07-03.
22091
22092         dirname-lgpl: adjust clients that don't need full dirname
22093         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
22094         * modules/filenamecat (Depends-on): Likewise.
22095         * modules/linkat (Depends-on): Likewise.
22096         * modules/mkancesdirs (Depends-on): Likewise.
22097         * modules/mkdir (Depends-on): Likewise.
22098         * modules/openat (Depends-on): Likewise.
22099         * modules/savewd (Depends-on): Likewise.
22100         * modules/rename (Depends-on): Likewise.
22101         (License): Relax license.
22102         * modules/mkdir-tests (Depends-on): Drop progname.
22103         (Makefile.am): Delete unneeded LDADD.
22104         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
22105
22106         dirname: split into dirname-lgpl
22107         * modules/dirname-lgpl: New module.
22108         * modules/dirname (Files): Move library-safe files into
22109         dirname-lgpl.
22110         (Depends-on): Add dirname-lgpl.
22111         (configure.ac): Declare witness.
22112         * modules/double-slash-root (License): Relax license.
22113         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
22114         module.
22115         * lib/dirname.c (dir_len, mdir_name): Move...
22116         * lib/dirname-lgpl.c: ...into new file.
22117         * lib/basename.c (last_component, base_len): Move...
22118         * lib/basename-lgpl.c: ...into new file.
22119         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
22120         (gl_DIRNAME): Use it.
22121         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
22122         Mention new module.
22123         * modules/dirname-tests (Depends-on): Add progname.
22124         * tests/test-dirname.c (program_name): Delete.
22125
22126         mkdir: make safe for libraries
22127         * modules/mkdir (Depends-on): Drop xalloc.
22128         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
22129         exit.
22130
22131         tests: avoid some compiler warnings
22132         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
22133         literals.
22134         * tests/test-memchr.c (main): Avoid type mismatch.
22135         * tests/test-arpa_inet.c (main): Avoid unused parameters.
22136         * tests/test-base64.c (main): Likewise.
22137         * tests/test-getdelim.c (main): Likewise.
22138         * tests/test-gethostname.c (main): Likewise.
22139         * tests/test-getline.c (main): Likewise.
22140         * tests/test-netinet_in.c (main): Likewise.
22141         * tests/test-select.c (open_server_socket, main): Likewise.
22142         * tests/test-select-stdin.c (main): Likewise.
22143         * tests/test-sockets.c (main): Likewise.
22144         * tests/test-strsignal.c (main): Likewise.
22145         * tests/test-sys_select.c (main): Likewise.
22146         * tests/test-sys_socket.c (main): Likewise.
22147         * tests/test-u64.c (main): Likewise.
22148         * tests/test-xfprintf-posix.c (main): Likewise.
22149         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
22150
22151         sockets: avoid compiler warning
22152         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
22153
22154         maint: detect usage(1) and other suspicious exits
22155         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
22156
22157 2009-10-29  Jim Meyering  <meyering@redhat.com>
22158
22159         timespec: long-to-int truncation could make timespec_cmp malfunction
22160         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
22161         a multiple of 2^32 nanoseconds as no difference.
22162
22163 2009-10-28  Jim Meyering  <meyering@redhat.com>
22164
22165         fprintftime: wrap macro code argument in "do {...} while(0)"
22166         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
22167         cpy macro must be a statement that can be followed by a semicolon.
22168         Now that the else clause contains a comment and is hence longer
22169         than one line, I require curly braces.  That in turn requires
22170         that we wrap this code block in the standard do...while(0).
22171
22172         fprintftime: remove stray semicolon from previous change
22173         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
22174
22175         fprintftime: avoid a warning about ignored fwrite return value
22176         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
22177         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
22178         that is unsafe.
22179         * modules/fprintftime (Depends-on): Add ignore-value.
22180
22181         exclude: avoid an unwarranted warning
22182         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
22183
22184 2009-10-27  Eric Blake  <ebb9@byu.net>
22185
22186         fseek: avoid compilation failure when fflush is replaced
22187         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
22188         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
22189         module is in use.
22190         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
22191         module is not in use; since REPLACE_FSEEK worked otherwise.
22192         (GNULIB_FTELLO): Likewise for ftell.
22193         Reported by Ian Beckwith and others.
22194
22195 2009-10-27  Bruno Haible  <bruno@clisp.org>
22196
22197         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
22198         Reported by Jim Meyering.
22199
22200 2009-10-27  Jim Meyering  <jim@meyering.net>
22201             Bruno Haible  <bruno@clisp.org>
22202
22203         Avoid warning despite dropping the return value of fwrite.
22204         * lib/unicodeio.c: Include ignore-value.h.
22205         (fwrite_success_callback): Explicitly ignore fwrite's return value.
22206         * modules/unicodeio (Depends-on): Add ignore-value.
22207
22208 2009-10-26  Eric Blake  <ebb9@byu.net>
22209
22210         areadlinkat: fix fallback path
22211         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
22212         pointer and zero.
22213
22214 2009-10-22  Pádraig Brady  <P@draigBrady.com>
22215
22216         Use a better IO block size for modern systems
22217         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
22218         * lib/md2.c: Likewise.
22219         * lib/md4.c: Likewise.
22220         * lib/md5.c: Likewise.
22221         * lib/sha1.c: Likewise.
22222         * lib/sha256.c: Likewise.
22223         * lib/sha512.c: Likewise.
22224
22225 2009-10-22  Eric Blake  <ebb9@byu.net>
22226
22227         tests: avoid several compiler warnings
22228         * tests/test-getcwd.c (main): Avoid buffer underflow.
22229         * tests/test-getdate.c (main): String literals are not safe with
22230         putenv, so use setenv.  Declare unused argument.
22231         * modules/getdate-tests (Depends-on): Add setenv.
22232         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
22233         problems with string literals in char *.
22234         * tests/test-hash.c (main): Avoid shadowing declaration.
22235         (insert_new): Treat string literals as char const *.
22236         * tests/test-getopt.h (test_getopt): Likewise.
22237         (getopt_loop): Alter types to minimize casting elsewhere.
22238         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
22239         (test_getopt_long_posix): Likewise.
22240         (do_getopt_long): Add wrapper to minimize casting.
22241         * tests/test-atexit.c (clear_temp_file): Use void.
22242         * tests/test-areadlink-with-size.c (main): Declare unused
22243         arguments.
22244         * tests/test-areadlink.c (main): Likewise.
22245         * tests/test-areadlinkat-with-size.c (main): Likewise.
22246         * tests/test-areadlinkat.c (main): Likewise.
22247         * tests/test-canonicalize-lgpl.c (main): Likewise.
22248         * tests/test-canonicalize.c (main): Likewise.
22249         * tests/test-dirent-safer.c (main): Likewise.
22250         * tests/test-dirname.c (main): Likewise.
22251         * tests/test-dup2.c (main): Likewise.
22252         * tests/test-fchdir.c (main): Likewise.
22253         * tests/test-fcntl-h.c (main): Likewise.
22254         * tests/test-fcntl-safer.c (main): Likewise.
22255         * tests/test-fdopendir.c (main): Likewise.
22256         * tests/test-fdutimensat.c (main): Likewise.
22257         * tests/test-fflush.c (main): Likewise.
22258         * tests/test-filenamecat.c (main): Likewise.
22259         * tests/test-filevercmp.c (main): Likewise.
22260         * tests/test-fopen-safer.c (main): Likewise.
22261         * tests/test-fopen.c (main): Likewise.
22262         * tests/test-fpending.c (main): Likewise.
22263         * tests/test-fpurge.c (main): Likewise.
22264         * tests/test-freading.c (main): Likewise.
22265         * tests/test-fstatat.c (main): Likewise.
22266         * tests/test-fsync.c (main): Likewise.
22267         * tests/test-futimens.c (main): Likewise.
22268         * tests/test-getndelim2.c (main): Likewise.
22269         * tests/test-gettimeofday.c (main): Likewise.
22270         * tests/test-getopt.c (main): Likewise.
22271         * tests/test-i-ring.c (main): Likewise.
22272         * tests/test-inttypes.c (main): Likewise.
22273         * tests/test-link.c (main): Likewise.
22274         * tests/test-lstat.c (main): Likewise.
22275         * tests/test-math.c (main): Likewise.
22276         * tests/test-md5.c (main): Likewise.
22277         * tests/test-memchr2.c (main): Likewise.
22278         * tests/test-memrchr.c (main): Likewise.
22279         * tests/test-mkdir.c (main): Likewise.
22280         * tests/test-mkdirat.c (main): Likewise.
22281         * tests/test-mkfifoat.c (main): Likewise.
22282         * tests/test-open.c (main): Likewise.
22283         * tests/test-openat-safer.c (main): Likewise.
22284         * tests/test-openat.c (main): Likewise.
22285         * tests/test-quotearg.c (main): Likewise.
22286         * tests/test-rawmemchr.c (main): Likewise.
22287         * tests/test-readlink.c (main): Likewise.
22288         * tests/test-remove.c (main): Likewise.
22289         * tests/test-rename.c (main): Likewise.
22290         * tests/test-renameat.c (main): Likewise.
22291         * tests/test-rmdir.c (main): Likewise.
22292         * tests/test-sha1.c (main): Likewise.
22293         * tests/test-signal.c (main): Likewise.
22294         * tests/test-sigaction.c (main): Likewise.
22295         * tests/test-stat.c (main): Likewise.
22296         * tests/test-stat-time.c (main): Likewise.
22297         * tests/test-stddef.c (main): Likewise.
22298         * tests/test-stdint.c (main): Likewise.
22299         * tests/test-stdio.c (main): Likewise.
22300         * tests/test-stdlib.c (main): Likewise.
22301         * tests/test-strchrnul.c (main): Likewise.
22302         * tests/test-strerror.c (main): Likewise.
22303         * tests/test-string.c (main): Likewise.
22304         * tests/test-strtod.c (main): Likewise.
22305         * tests/test-strverscmp.c (main): Likewise.
22306         * tests/test-symlink.c (main): Likewise.
22307         * tests/test-symlinkat.c (main): Likewise.
22308         * tests/test-sys_stat.c (main): Likewise.
22309         * tests/test-sys_time.c (main): Likewise.
22310         * tests/test-time.c (main): Likewise.
22311         * tests/test-unistd.c (main): Likewise.
22312         * tests/test-unlink.c (main): Likewise.
22313         * tests/test-unlinkat.c (main): Likewise.
22314         * tests/test-utimens.c (main): Likewise.
22315         * tests/test-utimensat.c (main): Likewise.
22316         * tests/test-version-etc.c (main): Likewise.
22317         * tests/test-wchar.c (main): Likewise.
22318         * tests/test-wctype.c (main): Likewise.
22319         * tests/test-xprintf-posix.c (main): Likewise.
22320         * tests/test-posixtm.c (main): Likewise.
22321         (STREQ): Delete unused macro.
22322         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
22323         shadowed variables.
22324         * tests/test-memchr.c (main): Likewise.
22325
22326 2009-10-21  Eric Blake  <ebb9@byu.net>
22327
22328         areadlinkat: avoid failure on older glibc
22329         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
22330         rather than mis-comparing 0 against FUNC_RESULT of char*.
22331
22332 2009-10-21  Bruno Haible  <bruno@clisp.org>
22333
22334         * modules/stpncpy (License): Relicense under LGPLv2+.
22335         Reported by David Lutterkort <lutter@redhat.com>.
22336
22337 2009-10-20  Eric Blake  <ebb9@byu.net>
22338
22339         utimensat: work around Solaris 9 bug
22340         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
22341         has trailing slash bugs.
22342         * tests/test-lutimens.h (test_lutimens): Enhance test.
22343         * tests/test-utimens.h (test_utimens): Likewise.
22344         * doc/posix-functions/utime.texi (utime): Enhance documentation.
22345         * doc/posix-functions/utimes.texi (utimes): Likewise.
22346         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22347         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
22348         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
22349         * doc/posix-functions/futimens.texi (futimens): Likewise.
22350
22351         fdutimensat: new module
22352         * modules/fdutimensat: New file.
22353         * lib/fdutimensat.c (fdutimensat): Likewise.
22354         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
22355         * MODULES.html.sh (File system functions): Mention module.
22356         * modules/fdutimensat-tests: New test.
22357         * tests/test-fdutimensat.c: Likewise.
22358
22359         doc: regenerate INSTALL
22360         * doc/INSTALL: Reflect recent autoconf update.
22361         * doc/INSTALL.ISO: Likewise.
22362         * doc/INSTALL.UTF-8: Likewise.
22363
22364 2009-10-20  Pádraig Brady  <P@draigBrady.com>
22365
22366         acl: warn if ACL support is not detected
22367         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
22368
22369 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
22370
22371         * lib/nproc.h: Add extern "C" block for C++.
22372
22373 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
22374             Bruno Haible  <bruno@clisp.org>
22375
22376         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
22377         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
22378         * doc/posix-functions/isalpha.texi: Likewise.
22379         * doc/posix-functions/isblank.texi: Likewise.
22380         * doc/posix-functions/iscntrl.texi: Likewise.
22381         * doc/posix-functions/isdigit.texi: Likewise.
22382         * doc/posix-functions/isgraph.texi: Likewise.
22383         * doc/posix-functions/islower.texi: Likewise.
22384         * doc/posix-functions/isprint.texi: Likewise.
22385         * doc/posix-functions/ispunct.texi: Likewise.
22386         * doc/posix-functions/isspace.texi: Likewise.
22387         * doc/posix-functions/isupper.texi: Likewise.
22388         * doc/posix-functions/isxdigit.texi: Likewise.
22389
22390 2009-10-18  Bruno Haible  <bruno@clisp.org>
22391
22392         Tests for module 'isblank'.
22393         * modules/isblank-tests: New file.
22394         * tests/test-isblank.c: New file.
22395
22396         New module 'isblank'.
22397         * lib/isblank.c: New file.
22398         * m4/isblank.m4: New file.
22399         * modules/isblank: New file.
22400         * doc/posix-functions/isblank.texi: Mention the new module.
22401
22402 2009-10-18  Bruno Haible  <bruno@clisp.org>
22403
22404         New module 'ctype'.
22405         * lib/ctype.in.h: New file.
22406         * m4/ctype.m4: New file.
22407         * modules/ctype: New file.
22408         * doc/posix-headers/ctype.texi: Mention the new module.
22409
22410 2009-10-18  Jim Meyering  <meyering@redhat.com>
22411
22412         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
22413         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
22414         right after its initialization, rather than farther down.
22415         Keeping these in close proximity makes it easier to ensure
22416         that each such variable is initialized.  E.g.,
22417
22418             LIB_CLOCK_GETTIME=
22419             AC_SUBST([LIB_CLOCK_GETTIME])
22420
22421         This change also increments these serial numbers.
22422         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
22423         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22424         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22425
22426 2009-10-18  Bruno Haible  <bruno@clisp.org>
22427
22428         Don't let environment variables perturb build.
22429         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
22430         (gl_PREREQ_GETHRXTIME): ... not here.
22431
22432 2009-10-18  Bruno Haible  <bruno@clisp.org>
22433
22434         Avoid symlink attack in localcharset module.
22435         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
22436         (O_NOFOLLOW): Define fallback.
22437         (get_charset_aliases): Don't open the file if it is a symbolic link.
22438         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
22439         gl_FCNTL_H.
22440         (gl_FCNTL_H): Require it.
22441         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
22442         * modules/localcharset (Files): Add m4/fcntl_h.m4.
22443         Reported by Fergal Glynn <fglynn@veracode.com>.
22444
22445 2009-10-18  Bruno Haible  <bruno@clisp.org>
22446
22447         Implement nproc for mingw.
22448         * lib/nproc.c: Include <windows.h>
22449         (num_processors): On native Windows platforms, try GetSystemInfo.
22450
22451 2009-10-18  Bruno Haible  <bruno@clisp.org>
22452
22453         Implement nproc for IRIX.
22454         * lib/nproc.c: Include <sys/sysmp.h>.
22455         (num_processors): On IRIX systems, try sysmp.
22456         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
22457
22458 2009-10-18  Bruno Haible  <bruno@clisp.org>
22459
22460         Implement nproc for HP-UX.
22461         * lib/nproc.c: Include <sys/pstat.h>
22462         (num_processors): On HP-UX systems, try pstat_getdynamic.
22463         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
22464         pstat_getdynamic.
22465
22466 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
22467             Bruno Haible  <bruno@clisp.org>
22468
22469         Implement nproc for NetBSD, OpenBSD.
22470         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
22471         (ARRAY_SIZE): New macro.
22472         (num_processors): On BSD systems, try sysctl of HW_NCPU.
22473         * m4/nproc.m4: New file.
22474         * modules/nproc (Files): Add m4/nproc.m4.
22475         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
22476         (Makefile.am): Instead, augment lib_SOURCES.
22477
22478 2009-10-18  Bruno Haible  <bruno@clisp.org>
22479
22480         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
22481         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
22482         sys/param.h.
22483
22484 2009-10-16  Eric Blake  <ebb9@byu.net>
22485
22486         utimensat: new module
22487         * modules/utimensat: New file.
22488         * lib/utimensat.c (utimensat): Likewise.
22489         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22490         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
22491         so we can work around Linux bugs.
22492         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22493         * modules/sys_stat (Makefile.am): Substitute them.
22494         * lib/sys_stat.in.h (utimensat): Declare it.
22495         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22496         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22497         * modules/utimensat-tests: New test.
22498         * tests/test-utimensat.c: Likewise.
22499
22500         utimens: let lutimens work on non-symlinks
22501         * lib/utimens.c (lutimens): Fall back to utimens rather than
22502         failing with ENOSYS, when file is not a symlink.
22503         (utimens): Reduce redirection.
22504         * tests/test-lutimens.h (test_lutimens): Update test to cover
22505         non-symlinks.
22506         * tests/test-utimens.h (test_utimens): Update test to cover
22507         symlinks.
22508         * tests/test-utimens.c (main): Update caller.
22509
22510         utimens: cache whether utimensat syscall works
22511         * lib/utimens.c (utimensat_works_really): New cache variable.
22512         (fdutimens, lutimens): Use it to avoid failing syscall.
22513
22514         test-stat-time, test-utimens: improve portability
22515         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
22516         ext4 on alpha, and for cygwin.
22517         * tests/test-utimens-common.h: New file.
22518         (nap): Factor delays into single function.
22519         * tests/test-lutimens.h (test_lutimens): Use new header.
22520         * tests/test-futimens.h (test_futimens): Likewise.
22521         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
22522         timestamps to occur from same machine, as was done previously for
22523         test_utimens.
22524         * modules/utimens-tests (Files): Ship new file.
22525         * modules/futimens-tests (Files): Likewise.
22526         Reported in part by Jim Meyering.
22527
22528         sys_stat: sort replacement declarations
22529         * lib/sys_stat.in.h: Sort declarations.
22530         * lib/futimens.c (futimens): Fix typo.
22531
22532 2009-10-15  Jim Meyering  <meyering@redhat.com>
22533
22534         don't let environment settings perturb build
22535         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
22536         could cause a configure-time and/or build-time malfunction.
22537         Typically, a configure-time function-in-library test is performed
22538         via code like this:
22539
22540           LIB_VAR=
22541           AC_SUBST([LIB_VAR])
22542           prefix_saved_LIBS=$LIBS
22543             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
22544                        [test "$ac_cv_search_FUNC" = "none required" ||
22545                         LIB_VAR=$ac_cv_search_FUNC])
22546           LIBS=$prefix_saved_LIBS
22547
22548         However, in each of the files affected by this change, the LIB_VAR=
22549         initialization was omitted.  Thus, when set in the environment, its
22550         value would propagate into generated Makefiles when FUNC is not found
22551         in LIB_NAME.
22552         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
22553         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22554         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22555
22556 2009-10-14  Eric Blake  <ebb9@byu.net>
22557
22558         fchdir: avoid infinite recursion in mingw
22559         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
22560         recursing.
22561
22562         test-stat-time: port to mingw
22563         * tests/test-stat-time.c (force_unlink): Return a value.
22564         (test_ctime) [W32]: Fix compilation error.
22565         (nap): Don't call usleep with too large an argument.  Use
22566         force_unlink.
22567         * doc/pastposix-functions/usleep.texi (usleep): Document the
22568         portability issue.
22569
22570 2009-10-13  Jim Meyering  <meyering@redhat.com>
22571
22572         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
22573         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
22574         * modules/pipe-filter-ii: Likewise.
22575         * modules/sys_socket-tests: Likewise.
22576         * modules/tsearch-tests: Likewise.
22577         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
22578         (check): Depend on it.
22579
22580 2009-10-12  Eric Blake  <ebb9@byu.net>
22581
22582         utimens-tests: port to NFS file systems
22583         * tests/test-utimens.h (test_utimens): Refactor utimecmp
22584         comparisons to avoid spurious failures from timestamp drift
22585         between NFS machines.
22586
22587 2009-10-12  Eric Blake  <ebb9@byu.net>
22588
22589         stat-time-tests: minor cleanups
22590         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
22591         * tests/test-stat-time.c (nap): Separate assignment from call.
22592         Suggested by Paolo Bonzini and Bruno Haible.
22593
22594         sys_stat: guarantee struct timespec
22595         * lib/sys_stat.in.h (includes): Always include <time.h>
22596         * modules/sys_stat (Depends-on): Add time.
22597         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
22598         mode_t permission values.
22599         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
22600         get at subsecond timestamps.
22601
22602 2009-10-10  Eric Blake  <ebb9@byu.net>
22603
22604         futimens: new module
22605         * modules/futimens: New file.
22606         * lib/futimens.c (futimens): Likewise.
22607         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
22608         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
22609         we can work around Linux bugs.
22610         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22611         * modules/sys_stat (Makefile.am): Substitute them.
22612         * lib/sys_stat.in.h (futimens): Declare it.
22613         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22614         * doc/posix-functions/futimens.texi (futimens): Likewise.
22615         * modules/futimens-tests: New test.
22616         * tests/test-futimens.c: Likewise.
22617
22618         utimens: introduce fdutimens
22619         * lib/utimens.h (fdutimens): New prototype.
22620         * lib/utimens.c (gl_futimens): Move guts...
22621         (fdutimens): ...to new interface.
22622         * tests/test-utimens.c (do_fdutimens): Use it.
22623
22624         utimens: add UTIME_NOW and UTIME_OMIT support
22625         * lib/utimens.c (validate_timespec, update_timespec): New helper
22626         functions.
22627         (gl_futimens, lutimens): Use them.
22628         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
22629         stdbool, sys_stat.
22630         (Link): Mention resulting library dependency.
22631         * modules/utimecmp (Link): Likewise.
22632         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
22633         (Makefile.am): Pick up library dependency.
22634         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
22635         definition.
22636         * tests/test-sys_stat.c: Test the definitions.
22637         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
22638         * NEWS: Document library dependency.
22639
22640         utimecmp: support symlink timestamps
22641         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
22642         hashing when possible.  Use pathconf when available.
22643         (SYSCALL_RESOLUTION): Recognize tighter resolution.
22644         * modules/utimecmp (Depends-on): Add lstat.
22645
22646         utimens: add lutimens interface
22647         * lib/utimens.c (lutimens): New function.
22648         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
22649         * lib/utimens.h (lutimens): Declare new interface.
22650         * tests/test-utimens.c (main): Enhance test.
22651         * tests/test-lutimens.h (test_lutimens): New file.
22652         * modules/utimens-tests (Files): Distribute it.
22653         (Depends-on): Add symlink.
22654         (configure.ac): Check for usleep.
22655
22656         utimens: validate futimens usage
22657         * lib/utimens.c (gl_futimens): Require valid fd up front, using
22658         fewer syscalls on failure later on.  Avoid compiler warning on
22659         mingw.
22660         * modules/utimens (Depends-on): Add dup2.
22661
22662         utimens: add test
22663         * modules/utimens-tests: New test.
22664         * tests/test-utimens.h: New file.
22665         * tests/test-futimens.h: Likewise.
22666         * tests/test-utimens.c: Likewise.
22667
22668         doc: mention timestamp portability issues
22669         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
22670         instead.
22671         * doc/posix-functions/utime.texi (utime): Likewise.
22672         * doc/posix-functions/utimes.texi (utimes): Likewise.
22673         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
22674         instead.
22675         * doc/posix-functions/futimens.texi (futimens): Mention utimens
22676         module.
22677         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22678         Mention weakness with symlink timestamps.
22679         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
22680         to utimensat/futimens instead.
22681         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
22682
22683         test-dup2: enhance test
22684         * tests/test-dup2.c (main): Also check AT_FDCWD.
22685
22686         test-stat-time: avoid more spurious failures
22687         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22688         xfs; and avoid race if the two timestamps cross quantization edge.
22689
22690         relocatable: prefer 'file system' over 'filesystem'
22691         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22692         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22693         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22694         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22695         * lib/relocatable.c (compute_curr_prefix): Likewise.
22696
22697 2009-10-10  Jim Meyering  <meyering@redhat.com>
22698
22699         stat-time-tests: check for the usleep function
22700         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22701
22702 2009-10-10  Bruno Haible  <bruno@clisp.org>
22703
22704         * modules/xnanosleep: Put the Link section after the Include section.
22705
22706 2009-10-09  Eric Blake  <ebb9@byu.net>
22707
22708         dup2: work around FreeBSD 6.1 bug
22709         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22710         * doc/posix-functions/dup2.texi (dup2): Document it.
22711         Reported by Nelson H. F. Beebe and Jim Meyering.
22712
22713         test-stat-time: port to buggy NFS clients
22714         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22715         (test_ctime): Also skip test if mtime and ctime are skewed.
22716
22717         maint: prefer 'file system' over 'filesystem'
22718         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22719         * doc/posix-functions/lstat.texi (lstat): Likewise.
22720         * lib/file-has-acl.c (file_has_acl): Likewise.
22721         * lib/fwriteerror.c [TEST]: Likewise.
22722         * tests/test-areadlink.h (test_areadlink): Likewise.
22723         * tests/test-areadlinkat-with-size.c (main): Likewise.
22724         * tests/test-areadlinkat.c (main): Likewise.
22725         * tests/test-canonicalize-lgpl.c (main): Likewise.
22726         * tests/test-canonicalize.c (main): Likewise.
22727         * tests/test-fstatat.c (main): Likewise.
22728         * tests/test-linkat.c (main): Likewise.
22729         * tests/test-lstat.h (test_lstat_func): Likewise.
22730         * tests/test-mkdir.h (test_mkdir): Likewise.
22731         * tests/test-readlink.h (test_readlink): Likewise.
22732         * tests/test-remove.c (main): Likewise.
22733         * tests/test-rename.h (test_rename): Likewise.
22734         * tests/test-renameat.c (main): Likewise.
22735         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22736         * tests/test-symlink.h (test_symlink): Likewise.
22737         * tests/test-symlinkat.c (main): Likewise.
22738         * tests/test-unlink.h (test_unlink_func): Likewise.
22739         * tests/test-unlinkat.c (main): Likewise.
22740
22741         maint: make realtime library usage explicit
22742         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22743         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22744         * modules/settime (Link): Likewise.
22745         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22746
22747         test-stat-time: speed up execution
22748         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22749         warning on mingw.
22750         (nap): New helper function.
22751         (prepare_test): Use it to reduce sleep time.
22752         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22753         execution.
22754         * modules/stat-time-tests (configure.ac): Check for usleep.
22755
22756 2009-10-09  Jim Meyering  <meyering@redhat.com>
22757
22758         selinux-h: always use getfilecon wrappers
22759         * lib/getfilecon.c: New file.
22760         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22761         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22762         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22763         (fgetfilecon): Provide a stub.
22764         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22765         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22766         file unconditionally.
22767         When <selinux/selinux.h> is found, arrange to use wrappers.
22768         * modules/selinux-h (Files): Add getfilecon.c.
22769         (Makefile.am): Substitute include-next-related bits
22770         into the now-always-generated selinux/selinux.h file.
22771         * doc/glibc-functions/lgetfilecon.texi: New file.
22772         * doc/glibc-functions/fgetfilecon.texi: New file.
22773         * doc/glibc-functions/getfilecon.texi: New file.
22774         * doc/glibc-functions/getfilecon-desc.texi: New file.
22775         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22776         which to pull in the new files.
22777         * MODULES.html.sh (Misc): Add selinux-h.
22778
22779 2009-10-08  Jim Meyering  <meyering@redhat.com>
22780
22781         unistd: fix comment typo
22782         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22783
22784 2009-10-08  Eric Blake  <ebb9@byu.net>
22785
22786         areadlink: use SIZE_MAX consistently
22787         * modules/areadlink (Depends-on): Add stdint.
22788         * modules/areadlink-with-size (Depends-on): Likewise.
22789         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22790         gives NULL; drop sys/types, since unistd gives size_t; and add
22791         stdint for SIZE_MAX.
22792         (SIZE_MAX): Rely on headers.
22793         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22794         and add stdint.
22795         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22796         (SIZE_MAX): Likewise.
22797         (INITIAL_BUF_SIZE): Turn into enum.
22798         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22799
22800 2009-10-08  Jim Meyering  <meyering@redhat.com>
22801
22802         areadlinkat: avoid compilation failure
22803         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22804         Fix typo in comment.
22805
22806 2009-10-07  Eric Blake  <ebb9@byu.net>
22807
22808         areadlinkat-with-size: new module
22809         * modules/areadlinkat-with-size: New module.
22810         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22811         * lib/areadlink.h (areadlinkat): Declare it.
22812         * MODULES.html.sh (File system functions): Mention it.
22813         * modules/areadlinkat-with-size-tests: New test.
22814         * tests/test-areadlinkat-with-size.c: New file.
22815
22816         xreadlinkat: new module
22817         * modules/xreadlinkat: New module.
22818         * lib/xreadlinkat.c (xreadlinkat): New file.
22819         * lib/xreadlink.h (xreadlinkat): Declare it.
22820         * MODULES.html.sh (File system functions): Mention it.
22821
22822         areadlinkat: new module
22823         * lib/at-func.c (FUNC_FAIL): New define.
22824         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22825         * modules/areadlinkat: New module.
22826         * lib/linkat.c (areadlinkat): Move...
22827         * lib/areadlinkat.c (areadlinkat): ...to new file.
22828         * lib/areadlink.h (areadlinkat): Declare it.
22829         * modules/linkat (Depends-on): Add areadlinkat.
22830         * MODULES.html.sh (File system functions): Mention it.
22831         * modules/areadlinkat-tests: New test.
22832         * tests/test-areadlinkat.c: New file.
22833
22834         areadlink, areadlink-with-size: add tests
22835         * modules/areadlink-tests: New test.
22836         * modules/areadlink-with-size-tests: Likewise.
22837         * tests/test-areadlink.h: New file.
22838         * tests/test-areadlink.c: Likewise.
22839         * tests/test-areadlink-with-size.c: Likewise.
22840
22841         maint: minor cleanups
22842         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22843         _UNUSED_PARAMETER_ instead.
22844         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22845         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22846         * modules/linkat-tests (Files): Distribute test-link.h.
22847
22848         openat, utimens: whitespace cleanup
22849         * lib/openat.c: Prefer space throughout, rather than mix of 8
22850         spaces vs. tabs.
22851         * lib/at-func.c: Likewise.
22852         * lib/utimens.c: Likewise.
22853
22854         openat: avoid using wrong fd
22855         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22856         working directory chooses same fd.
22857         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22858
22859         mkdir, mkdirat: fix cygwin 1.5.x bug
22860         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22861         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22862         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22863         bug.
22864         (gl_PREREQ_MKDIR): Delete unused macro.
22865         * modules/mkdir (Files): Track file rename.
22866         (configure.ac): Update macro name.
22867         * modules/openat (Depends-on): Add mkdir.
22868         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22869
22870         mkdir, mkdirat: add tests
22871         * modules/mkdir-tests: New test.
22872         * tests/test-mkdir.h: New file.
22873         * tests/test-mkdir.c: Likewise.
22874         * tests/test-mkdirat.c: Likewise.
22875         * modules/openat-tests (Files): Add new files.
22876         (Makefile.am): Run new test.
22877
22878 2009-10-06  Eric Blake  <ebb9@byu.net>
22879
22880         doc: tweak *at function documentation
22881         * doc/posix-functions/faccessat.texi (faccessat): Mention
22882         known issue with replacement.
22883         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22884         * doc/posix-functions/linkat.texi (linkat): Likewise.
22885         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22886         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22887         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22888         * doc/posix-functions/renameat.texi (renameat): Likewise.
22889         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22890
22891         openat: fix GNU/Hurd bug in unlinkat
22892         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22893         broken.
22894         * doc/posix-functions/unlink.texi (unlink): Document this.
22895         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22896
22897         fdopendir: fix GNU/Hurd bug
22898         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22899         allowing non-directory fds.
22900         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22901         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22902         * modules/dirent (Makefile.am): Substitute it.
22903         * lib/dirent.in.h (fdopendir): Declare replacement.
22904         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22905         * tests/test-fdopendir.c (main): Test something other than
22906         /dev/null, since on Hurd that behaves like a directory.
22907
22908         test-symlink: port to GNU/Hurd
22909         * tests/test-symlink.h (test_symlink): Relax expected errno.
22910
22911         doc: tweak more cygwin information
22912         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22913         now compatible with glibc.
22914         * doc/posix-functions/getopt.texi (getopt): Likewise.
22915
22916         getopt-gnu: add another test
22917         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22918         guarantee behavior relied on by m4.
22919         * tests/test-getopt.c (main): Use it.
22920         * modules/getopt-posix-tests (Depends-on): Add setenv.
22921         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
22922
22923         getopt: fix compilation on darwin
22924         * lib/getopt.in.h (includes): Leave breadcrumbs during system
22925         include.
22926         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
22927         Reported by Ludovic Courtès.
22928
22929 2009-10-06  Bruno Haible  <bruno@clisp.org>
22930
22931         * modules/size_max (Description): Discourage its use.
22932         Reported by Simon Josefsson.
22933
22934 2009-10-06  Jim Meyering  <meyering@redhat.com>
22935
22936         linkat: avoid compilation failure
22937         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
22938
22939 2009-10-05  Eric Blake  <ebb9@byu.net>
22940
22941         linkat: support Linux 2.6.17
22942         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
22943         linkat on Linux, but allow cache variable override.
22944         * lib/linkat.c (rpl_linkat): Define override.
22945         * modules/linkat (Depends-on): Add symlinkat.
22946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
22947         * modules/unistd (Makefile.am): Substitute it.
22948         * lib/unistd.in.h (linkat): Declare replacement.
22949         Reported by Pádraig Brady.
22950
22951         quotearg: port test to systems with C.UTF-8 locale
22952         * tests/test-quotearg.c (struct result_strings): Add another
22953         member, differentiating between C.ASCII and C.UTF-8 handling.
22954         (compare_strings): Add parameter.
22955         (main): Adjust all callers.
22956
22957         getopt: avoid clash with FreeBSD _getopt_internal
22958         * lib/getopt.in.h (_getopt_internal): Override the name.
22959         * lib/getopt_int.h (includes): Pick up any overrides.
22960         Reported by Reuben Thomas.
22961
22962         hash: allow C89 compilation
22963         * lib/hash.c (check_tuning): Move declaration before statement.
22964         Reported by Reuben Thomas.
22965
22966 2009-10-05  Karl Berry  <karl@gnu.org>
22967
22968         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
22969
22970 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
22971             Bruno Haible  <bruno@clisp.org>
22972
22973         * lib/uname.c (uname): Use a table-driven algorithm to compute
22974         Windows NT versions.
22975
22976 2009-10-04  Bruno Haible  <bruno@clisp.org>
22977
22978         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
22979         program_invocation_short_name.
22980         * modules/progname (configure.ac): Test for presence of
22981         program_invocation_short_name.
22982         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
22983
22984 2009-10-04  Bruno Haible  <bruno@clisp.org>
22985
22986         * lib/progname.c (set_program_name): Fix comment.
22987         Reported by Jim Meyering.
22988
22989 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22990             Bruno Haible  <bruno@clisp.org>
22991
22992         * lib/uname.c: Include <string.h>.
22993         (uname): Do only one call to GetVersionEx in the common case.
22994
22995 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22996             Bruno Haible  <bruno@clisp.org>
22997
22998         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
22999         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
23000         (uname): Add support for Windows CE and various non-x86 CPU types.
23001
23002 2009-10-03  Bruno Haible  <bruno@clisp.org>
23003
23004         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
23005         invocation to tests/configure.ac.
23006         Reported by Ian Beckwith <ianb@erislabs.net>.
23007
23008 2009-10-02  Eric Blake  <ebb9@byu.net>
23009
23010         fchdir: avoid compiler warning
23011         * lib/fchdir.c (canonicalize_file_name)
23012         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
23013
23014         test-open: support mingw errno values
23015         * tests/test-open.h (test_open): Relax test.
23016         * tests/test-fopen.h (test_fopen): Likewise.
23017         * tests/test-openat-safer.c (main): Likewise.
23018
23019         open: fix opening directory on mingw
23020         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
23021
23022         test-open: on GNU/Hurd, /dev/null is a directory
23023         * tests/test-fopen.h (main): Rename...
23024         (test_fopen): ...to this.  Use a guaranteed non-directory when
23025         confirming open behavior on trailing slash.
23026         * tests/test-openat-safer.c (main): Likewise.
23027         * tests/test-open.h (main): Likewise....
23028         (test_open): ...to this.
23029         * tests/test-fopen.c (main): Adjust caller.
23030         * tests/test-fopen-safer.c (main): Likewise.
23031         * tests/test-open.c (main): Likewise.
23032         * tests/test-fcntl-safer.c (main): Likewise.
23033         Reported by Samuel Thibault.
23034
23035         rename, fchdir: don't ignore chdir failure
23036         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
23037         * lib/rename.c (rpl_rename) [W32]: Likewise.
23038         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
23039         an empty destination directory if source cannot be renamed,
23040         although there is still possibility for failure.
23041         * doc/posix-functions/rename.texi (rename): Document the race.
23042         Reported by Jim Meyering.
23043
23044         maint: cleanup whitespace in recent commits
23045         * lib/rename.c (rpl_rename): Remove tabs.
23046         * tests/test-link.h (test_link): Likewise.
23047         * lib/fchdir.c (get_name): Likewise.
23048         Reported by Jim Meyering.
23049
23050 2009-10-02  Ben Pfaff  <blp@gnu.org>
23051
23052         relocatable-prog-wrapper: Add missing dependency on
23053         double-slash-root.
23054         * modules/relocatable-prog-wrapper: Add dependency.
23055         Reported by Ian Beckwith <ianb@erislabs.net>.
23056
23057 2009-10-02  Eric Blake  <ebb9@byu.net>
23058
23059         renameat: fix Solaris bugs
23060         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
23061         needed fixing.
23062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
23063         * modules/stdio (Makefile.am): Substitute it.
23064         * lib/stdio.in.h (renameat): Declare replacement.
23065         * lib/renameat.c (rpl_renameat): Implement fix.
23066
23067         renameat: new module
23068         * modules/renameat: New file.
23069         * lib/renameat.c (renameat): Likewise.
23070         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
23071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23072         * modules/stdio (Makefile.am): Substitute them.
23073         * lib/stdio.in.h (renameat): Declare it.
23074         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23075         * doc/posix-functions/renameat.texi (renameat): Likewise.
23076         * modules/renameat-tests: New test.
23077         * tests/test-renameat.c: Likewise.
23078
23079         rename: fix mingw bugs
23080         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
23081         directory overwrite bugs.
23082
23083         rename: fix another cygwin 1.5 bug
23084         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
23085         checks.
23086         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
23087         unnecessary cygwin workarounds.  Also work around bug with moving
23088         full directory onto an empty one.
23089         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
23090
23091         rename-dest-slash: merge into rename module
23092         * modules/rename-dest-slash (Status): Mark obsolete.
23093         (Depends-on): Add rename.
23094         (Files): Let rename do it all.
23095         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
23096         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
23097         * m4/rename-dest-slash.m4: ...so this file can be deleted.
23098         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
23099         * lib/rename.c (rpl_rename): Update comments.
23100
23101         rename: fix cygwin 1.5.x bugs
23102         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
23103         * lib/rename.c (rpl_rename): Work around them.
23104         * modules/rename (Depends-on): Add same-inode.
23105
23106         rename: fix Solaris 10 bug
23107         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23108         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
23109         was the only bug.
23110
23111         rename: fix Solaris 9 bug
23112         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
23113         on non-directory.  Avoid calling exit.
23114         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
23115         strdup.
23116         * modules/rename-tests (Depends-on): Drop lstat.
23117         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23118         (gl_PREREQ_RENAME): Delete unused macro.
23119
23120         rename-dest-slash: fix NetBSD bug
23121         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
23122         links.
23123         * modules/rename-dest-slash (Depends-on): Add same-inode.
23124
23125         rename-tests: new test, exposes several platform bugs
23126         * modules/rename-tests: New file.
23127         * tests/test-rename.h: Likewise.
23128         * tests/test-rename.c: Likewise.
23129         * doc/posix-functions/rename.texi (rename): Improve documentation,
23130         including bugs that will eventually be fixed in gnulib.
23131
23132 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
23133
23134         * lib/uname.c: Include <stdlib.h>
23135         (uname): Assume version info is available.
23136
23137 2009-10-02  Jim Meyering  <meyering@redhat.com>
23138
23139         gnu-web-doc-update: correct --help output
23140         * build-aux/gnu-web-doc-update: Make --help output relevant.
23141
23142         gnu-web-doc-update: add standard options
23143         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
23144
23145         gnu-web-doc-update: New module.
23146         Use this script to automatically update the on-line web documentation
23147         for your GNU project at http://www.gnu.org/software/$pkg/manual/
23148         * modules/gnu-web-doc-update: New file, from coreutils.
23149         * build-aux/gnu-web-doc-update: New script.
23150
23151 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
23152
23153         link: LoadLibrary is not needed.
23154         * lib/link.c: Use GetModuleHandle.
23155
23156 2009-10-01  Eric Blake  <ebb9@byu.net>
23157
23158         getopt: bump serial number
23159         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
23160         change.
23161
23162         tests: tighten link, rmdir, and remove tests
23163         * tests/test-link.h (includes): No need to use <config.h> here.
23164         Clean up if directory hard link was created, otherwise test for
23165         trailing '.'.
23166         * tests/test-linkat.c (main): Simplify.
23167         * tests/test-remove.c (main): Enhance test for trailing '.'.
23168         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23169
23170 2009-10-01  Jim Meyering  <meyering@redhat.com>
23171
23172         maint.mk: requiring "make major" was annoying, for a "minor" release.
23173         What is intended is "stable", to contrast with alpha and beta,
23174         so require "make stable", not "make major".
23175         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
23176         (get_tool_versions): Likewise.
23177         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
23178
23179 2009-09-30  Ben Pfaff  <blp@gnu.org>
23180
23181         Fix broken build of replacement for Windows tmpfile().
23182         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
23183         flags argument added along with the 'mkostemp' module.
23184
23185 2009-09-28  Bruno Haible  <bruno@clisp.org>
23186
23187         Avoid identifier clash with POSIX function 'remove' defined as a macro.
23188         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
23189         to 'remove_elt'.
23190         (gl_list_remove): Update.
23191         * lib/gl_list.c (gl_list_remove): Update.
23192         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
23193         to 'remove_elt'.
23194         (gl_oset_remove): Update.
23195         * lib/gl_list.c (gl_oset_remove): Update.
23196         Reported by Eric Blake.
23197
23198 2009-09-28  Eric Blake  <ebb9@byu.net>
23199
23200         doc: mention yet more cygwin 1.7 status
23201         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
23202         cygwin.
23203         * doc/glibc-functions/execvpe.texi (execvpe): New file.
23204         * doc/gnulib.texi (Glibc unistd.h): Mention it.
23205
23206         argp: fix test failure
23207         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
23208         that are not upper-case.  Pass correct range to tolower.
23209
23210 2009-09-27  Jim Meyering  <meyering@redhat.com>
23211
23212         test-yesno: work around sparc-dash here-document infelicity
23213         Without this change, the literal \177 byte in a here document
23214         would make dash 0.5.5.1-3 access uninitialized memory.
23215         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
23216         Instead, use a marker, "@", and filter through tr to create the desired
23217         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
23218
23219 2009-09-27  Bruno Haible  <bruno@clisp.org>
23220
23221         Disable untested support for new flavours of ACLs on AIX.
23222         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
23223         progress.
23224         * lib/set-mode-acl.c (qset_acl): Likewise.
23225
23226 2008-12-07  Bruno Haible  <bruno@clisp.org>
23227
23228         Add support for new flavours of ACLs on AIX. (Untested.)
23229         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
23230         (file_has_acl): Add support for newer AIX.
23231         * lib/set-mode-acl.c (qset_acl): Likewise.
23232         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
23233         Rainer Tammer <tammer@tammer.net>.
23234
23235 2009-09-26  Eric Blake  <ebb9@byu.net>
23236
23237         argp: fix compilation of getopt
23238         * lib/getopt.in.h (includes): Use different guard than glibc.
23239         Reported by Sergey Poznyakoff.
23240
23241         doc: mention more cygwin 1.7 status
23242         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
23243         bug.
23244         * doc/posix-functions/execl.texi (execl): Likewise.
23245         * doc/posix-functions/execle.texi (execle): Likewise.
23246         * doc/posix-functions/execlp.texi (execlp): Likewise.
23247         * doc/posix-functions/execv.texi (execv): Likewise.
23248         * doc/posix-functions/execve.texi (execve): Likewise.
23249         * doc/posix-functions/execvp.texi (execvp): Likewise.
23250         * doc/glibc-functions/canonicalize_file_name.texi
23251         (canonicalize_file_name): Cygwin 1.7 now provides this.
23252         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
23253         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
23254         on AT_SYMLINK_NOFOLLOW.
23255
23256 2009-09-24  Eric Blake  <ebb9@byu.net>
23257
23258         test-linkat: make test more robust
23259         * tests/test-linkat.c (main): Avoid collision with EEXIST.
23260
23261         getopt: fix inclusion guards for cygwin
23262         * modules/getopt-posix (Depends-on): Add include-next.
23263         (Makefile.am): Substitute more items in replacement header.
23264         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
23265         <getopt.h>.
23266         * lib/getopt.in.h (includes): Use split inclusion guard, and
23267         prefer <getopt.h> over include <unistd.h> when one is present.
23268         (option): Also override name of 'struct option'.
23269
23270         same-inode: revert prior change; it is not yet ready
23271         * NEWS: Undo mention of this change.
23272         * lib/same-inode.h (same-inode.h): Undo tri-state change.
23273         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23274         * lib/cycle-check.c (cycle_check): Likewise.
23275         * lib/same.c (same_name): Likewise.
23276         * lib/at-func2.c (at_func2): Likewise.
23277
23278 2009-09-23  Eric Blake  <ebb9@byu.net>
23279
23280         linkat: new module
23281         * modules/linkat: New file.
23282         * lib/at-func2.c (at_func2): Likewise.
23283         * lib/linkat.c (linkat): Likewise.
23284         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23285         * lib/openat-priv.h (at_func2): Add declaration.
23286         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23287         * modules/unistd (Makefile.am): Substitute them.
23288         * lib/unistd.in.h (linkat): Declare it.
23289         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23290         * doc/posix-functions/linkat.texi (linkat): Likewise.
23291         * doc/posix-functions/link.texi (link): Tweak wording.
23292         * tests/test-link.c (main): Move guts...
23293         * tests/test-link.h (test_link): ...into new file.
23294         * modules/linkat-tests: New test.
23295         * tests/test-linkat.c: Likewise.
23296         * modules/link-tests (Files): Ship new file.
23297         (Depends-on): Add stdbool.
23298
23299         dirname: add library-safe mdir_name
23300         * lib/dirname.h (mdir_name): New prototype.
23301         * lib/dirname.c (dir_name): Move guts...
23302         (mdir_name): ...to new function that avoids xalloc_die.
23303
23304         fchdir: another mingw fix
23305         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
23306         * lib/fchdir.c (get_name): New helper method; skips canonicalize
23307         on mingw (where it has not yet been ported), and make it optional
23308         elsewhere.
23309         (_gl_register_fd): Use it.
23310
23311         same-inode: make SAME_INODE tri-state, to port to mingw
23312         * NEWS: Mention this change.
23313         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
23314         st_ino always being 0.
23315         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23316         * lib/cycle-check.c (cycle_check): Likewise.
23317         * lib/same.c (same_name): Likewise.
23318
23319         lstat: avoid mingw compilation error
23320         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
23321         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
23322         lstat ourselves.
23323         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
23324         was adequate.
23325         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
23326         the checks for lstat.
23327         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
23328
23329         link: fix test failure on Solaris 9
23330         * lib/link.c (rpl_link): Don't assume link will catch bogus
23331         trailing slash on source.
23332
23333         test-symlinkat: enhance test
23334         * tests/test-readlink.c (main): Move guts...
23335         * tests/test-readlink.h (test_readlink): ...into new file.
23336         * tests/test-symlink.c (main): Move guts...
23337         * tests/test-symlink.h (test_symlink): ...into new file.
23338         * tests/test-symlinkat.c (main): Use new files for further
23339         coverage.
23340         (do_symlink, do_readlink): New helper functions.
23341         * modules/symlink-tests (Files): Ship new file.
23342         (Depends-on): Add stdbool.
23343         * modules/readlink-tests (Files): Ship new file.
23344         (Depends-on): Add stdbool.
23345         * modules/symlinkat-tests (Files): Use new files.
23346
23347 2009-09-23  Eric Blake  <ebb9@byu.net>
23348
23349         readlink: document portability issue with symlink length
23350         * doc/posix-functions/lstat.texi (lstat): Mention that some file
23351         systems have bogus st_size on symlinks, and mention the
23352         areadlink-with-size module.
23353         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23354         * doc/posix-functions/readlink.texi (readlink): Mention the
23355         areadlink module, and ERANGE failure.
23356         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23357         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
23358
23359         readlink: fix Solaris 9 bug with trailing slash
23360         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
23361         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
23362         * doc/posix-functions/readlink.texi (readlink): Document this.
23363         * modules/readlink-tests: New test.
23364         * tests/test-readlink.c: Likewise.
23365
23366         readlink: fix cygwin 1.5.x bug with return type
23367         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
23368         * lib/unistd.in.h (readlink): Use ssize_t.
23369         * lib/readlink.c (readlink): Likewise.
23370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23371         * modules/unistd (Makefile.am): Substitute it.
23372         * lib/unistd.in.h (readlink): Declare replacement.
23373         * doc/posix-functions/readlink.texi (readlink): Document this.
23374
23375         symlink: use throughout gnulib
23376         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
23377         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
23378         symlink is not used.
23379         * modules/symlinkat (Depends-on): Add symlink.
23380         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23381         * modules/canonicalize-tests (Depends-on): Likewise.
23382         * modules/lstat-tests (Depends-on): Likewise.
23383         * modules/openat-tests (Depends-on): Likewise.
23384         * modules/remove-tests (Depends-on): Likewise.
23385         * modules/rmdir-tests (Depends-on): Likewise.
23386         * modules/unlink-tests (Depends-on): Likewise.
23387         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
23388         * tests/test-canonicalize.c (symlink): Likewise.
23389         * tests/test-fstatat.c (symlink): Likewise.
23390         * tests/test-lstat.c (symlink): Likewise.
23391         * tests/test-remove.c (symlink): Likewise.
23392         * tests/test-rmdir.c (symlink): Likewise.
23393         * tests/test-unlink.c (symlink): Likewise.
23394         * tests/test-unlinkat.c (symlink): Likewise.
23395
23396         symlink: new module, for Solaris 9 bug
23397         * modules/symlink: New file.
23398         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23399         * lib/symlink.c: Likewise.
23400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23401         * modules/unistd (Makefile.am): Substitute them.
23402         * lib/unistd.in.h (symlink): Declare replacement.
23403         * MODULES.html.sh (File system functions): Mention it.
23404         * doc/posix-functions/symlink.texi (symlink): Likewise.
23405         * modules/symlink-tests: New test.
23406         * tests/test-symlink.c: Likewise.
23407
23408 2009-09-23  Bruno Haible  <bruno@clisp.org>
23409
23410         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
23411         when needed.
23412         Test case: gnulib-tool --import --with-tests atexit inttypes.
23413         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
23414
23415 2009-09-23  Bruno Haible  <bruno@clisp.org>
23416
23417         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
23418         subcommand, not in a subshell.
23419
23420 2009-09-22  Eric Blake  <ebb9@byu.net>
23421
23422         unistd: sort replacement declarations
23423         * lib/unistd.in.h: Sort declarations.
23424
23425         open, openat: minor optimization
23426         * lib/open.c (open): If open succeeded, len is non-zero.
23427         * lib/openat.c (rpl_openat): Likewise.
23428
23429         link-follow: ensure correct result
23430         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
23431         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
23432         distinguish between possible failures.
23433
23434 2009-09-21  Eric Blake  <ebb9@byu.net>
23435
23436         fts: avoid compiler warning
23437         * lib/fts.c (dirent_inode_sort_may_be_useful)
23438         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
23439
23440 2009-09-19  Bruno Haible  <bruno@clisp.org>
23441
23442         * lib/progreloc.c (canonicalize_file_name): New declaration.
23443
23444 2009-09-19  Eric Blake  <ebb9@byu.net>
23445
23446         link: fix quoting
23447         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
23448
23449         openat: fix openat bugs on Solaris 9
23450         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
23451         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
23452         * modules/openat (Depends-on): Add open.
23453         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
23454         * modules/fcntl-h (Makefile.am): Substitute it.
23455         * lib/fcntl.in.h (openat): Declare replacement.
23456         * doc/posix-functions/openat.texi (openat): Document this.
23457
23458         openat: move fstatat and unlinkat into correct files
23459         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
23460         compiled.
23461         * lib/openat.c (fstatat, unlinkat): Move...
23462         * lib/fstatat.c (fstatat): ...into correct files.
23463         * lib/unlinkat.c (unlinkat): Likewise.
23464
23465         openat: fix unlinkat bugs on Solaris 9
23466         * lib/unlinkat.c (unlinkat): New file.
23467         * modules/openat (Depends-on): Add unlink.
23468         (Files): Distribute it.
23469         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
23470         trailing slash behavior is broken.
23471         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23472         * modules/unistd (Makefile.am): Substitute it.
23473         * lib/unistd.in.h (unlinkat): Declare replacement.
23474         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
23475
23476         openat: fix fstatat bugs on Solaris 9
23477         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
23478         stat.
23479         * doc/posix-functions/fstatat.texi (fstatat): Document this.
23480
23481         test-unlinkat: enhance test, to expose Solaris 9 bug
23482         * tests/test-unlink.c (main): Factor guts...
23483         * tests/test-unlink.h (test_rmdir_func): ...into new file.
23484         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
23485         * tests/test-rmdir.c (main): Adjust caller.
23486         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
23487         (unlinker): New helper function.
23488         (rmdirat): Enhance check.
23489         * modules/rmdir-tests (Depends-on): Add stdbool.
23490         * modules/unlink-tests (Depends-on): Likewise.
23491         (Files): Add test-unlink.h.
23492         * modules/openat-tests (Files): Likewise.
23493         (Depends-on): Add unlinkdir.
23494
23495         test-fstatat: new test, to expose Solaris 9 bugs
23496         * tests/test-stat.c (main): Factor guts...
23497         * tests/test-stat.h (test_stat_func): ...into new file.
23498         * tests/test-lstat.c (main): Factor guts...
23499         * tests/test-lstat.h (test_lstat_func): ...into new file.
23500         * tests/test-fstatat.c: New file.
23501         * modules/stat-tests (Files): Add test-stat.h.
23502         * modules/lstat-tests (Files): Add test-lstat.h.
23503         (Depends-on): Add stdbool.
23504         * modules/openat-tests (Depends-on): Add pathmax.
23505         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
23506         (Makefile.am): Run new test.
23507
23508         remove: new module, for mingw and Solaris 9 bugs
23509         * modules/remove: New file.
23510         * lib/remove.c: Likewise.
23511         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
23512         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23513         * modules/stdio (Makefile.am): Use them.
23514         * lib/stdio.in.h (remove): Declare replacement.
23515         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23516         * doc/posix-functions/remove.texi (remove): Likewise.
23517         * modules/remove-tests: New test.
23518         * tests/test-remove.c: Likewise.
23519
23520         unlink: new module, for Solaris 9 bug
23521         * modules/unlink: New file.
23522         * lib/unlink.c: Likewise.
23523         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23525         * modules/unistd (Makefile.am): Use them.
23526         * lib/unistd.in.h (stat): Declare replacement.
23527         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23528         * doc/posix-functions/unlink.texi (unlink): Likewise.
23529         * modules/unlink-tests: New test.
23530         * tests/test-unlink.c: Likewise.
23531
23532         lstat: fix Solaris 9 bug
23533         * lib/lstat.c (lstat): Also check for trailing slash on
23534         non-symlink, non-directories.  Use stat module to simplify logic.
23535         * doc/posix-functions/lstat.texi (lstat): Document it.
23536         * modules/lstat-tests (Depends-on): Add errno, same-inode.
23537         (configure.ac): Check for symlink.
23538         * tests/test-lstat.c (main): Add more tests.
23539
23540         stat: add as dependency to other modules
23541         * modules/chown (Depends-on): Add stat.
23542         * modules/euidaccess (Depends-on): Likewise.
23543         * modules/fchdir (Depends-on): Likewise.
23544         * modules/isdir (Depends-on): Likewise.
23545         * modules/link (Depends-on): Likewise.
23546         * modules/lstat (Depends-on): Likewise.
23547         * modules/mkdir-p (Depends-on): Likewise.
23548         * modules/modechange (Depends-on): Likewise.
23549         * modules/open (Depends-on): Likewise.
23550         * modules/readlink (Depends-on): Likewise.
23551         * modules/same (Depends-on): Likewise.
23552
23553         stat: fix Solaris 9 bug
23554         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
23555         slash.
23556         * lib/stat.c (rpl_stat): Work around it.
23557         * doc/posix-functions/stat.texi (stat): Update documentation.
23558
23559         stat: new module, for mingw bug
23560         * modules/stat: New file.
23561         * lib/stat.c: Likewise.
23562         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23563         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23564         * modules/sys_stat (Makefile.am): Use them.
23565         * lib/sys_stat.in.h (stat): Declare replacement.
23566         * lib/openat.c (fstatat): Deal with lstat and stat being function
23567         macros.
23568         * modules/openat (Depends-on): Add inline.
23569         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23570         * doc/posix-functions/stat.texi (stat): Likewise.
23571         * modules/stat-tests: New test.
23572         * tests/test-stat.c: Likewise.
23573
23574 2009-09-19  Jim Meyering  <meyering@redhat.com>
23575
23576         syntax-check: detect unnecessary inclusion of canonicalize.h
23577         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
23578
23579 2009-09-19  Eric Blake  <ebb9@byu.net>
23580
23581         canonicalize-lgpl: adjust clients to use correct header
23582         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23583         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
23584         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
23585         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
23586         * lib/progreloc.c (includes): Likewise.
23587
23588 2009-09-19  Jim Meyering  <meyering@redhat.com>
23589
23590         test-posixtm.c: correct a comment
23591         * tests/test-posixtm.c: Correct first-line comment.
23592         Spotted by Eric Blake.
23593
23594 2009-09-16  Jim Meyering  <meyering@redhat.com>
23595
23596         posixtm-tests: make T const-correct; add a test case
23597         * tests/test-posixtm.c (T): Declare const.
23598         Add a test for -(2^31+1).
23599         Remove useless can-succeed-only-in-2002 test.
23600
23601         posixtm-tests: adjust the sole failing test
23602         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
23603         expected output matches what mktime now produces.  Cross-checked via
23604         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
23605
23606         posixtm: move #ifdef'd tests into a new module
23607         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
23608         * tests/test-posixtm.c: ... this new file.
23609         * modules/posixtm-tests: New module.
23610
23611 2009-09-19  Eric Blake  <ebb9@byu.net>
23612
23613         openat: simplify use of at-func.c
23614         * lib/at-func.c (includes): Include prerequisites here, to
23615         simplify requirements on client files.
23616         * lib/openat-priv.h: Add double-inclusion guard.
23617         * lib/faccessat.c (includes): Simplify.
23618         * lib/fchmodat.c (includes): Likewise.
23619         * lib/fchownat.c (includes): Likewise.
23620         * lib/mkdirat.c (includes): Likewise.
23621         * lib/mkfifoat.c (includes): Likewise.
23622         * lib/symlinkat.c (includes): Likewise.
23623
23624         openat: allow return of fd 0
23625         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
23626         * modules/save-cwd (Depends-on): Replace fcntl-safer with
23627         unistd-safer.
23628         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
23629         <fcntl.h>; this module does not leak fds.
23630         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
23631         must be allowed to return 0, leaving openat_safer to add the
23632         safety.
23633         (openat_permissive): Avoid writing to just-opened fd 2 if
23634         restoring the current directory fails.
23635         * lib/openat-die.c (openat_restore_fail): Add comment.
23636         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
23637         (save_cwd): Guarantee safe fd, but without use of open_safer.
23638         * tests/test-openat.c: New test.
23639         * modules/openat-tests (Files, Makefile.am): Distribute and build
23640         new file.
23641
23642         relocatable-prog-wrapper: fix build
23643         * modules/relocatable-prog-wrapper (Files): Update name of
23644         canonicalize m4 file, broken on 2009-09-17.
23645         Reported by emad hajjar <aleppos@hotmail.com>.
23646
23647 2009-09-19  Bruno Haible  <bruno@clisp.org>
23648
23649         * lib/safe-alloc.h: Use the standard header with GPL copyright.
23650         * lib/safe-alloc.c: Likewise.
23651         Reported by Ian Beckwith <ianb@erislabs.net>.
23652
23653 2009-09-18  Bruno Haible  <bruno@clisp.org>
23654
23655         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
23656         Reported by <erobles@sensacd.com.mx>.
23657
23658 2009-09-17  Eric Blake  <ebb9@byu.net>
23659
23660         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
23661         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
23662         slashes when checking if last component is missing.
23663         * tests/test-canonicalize.c (main): Test this.
23664
23665         canonicalize, canonicalize-lgpl: honor // if distinct from /
23666         * modules/canonicalize (Files): Add double-slash-root.m4.
23667         * modules/canonicalize-lgpl (Files): Likewise.
23668         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23669         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
23670         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
23671         fallback definition.
23672         (canonicalize_filename_mode): Use it to protect //.
23673         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
23674         (__realpath): Likewise.
23675         * tests/test-canonicalize.c (main): Test this.
23676         * tests/test-canonicalize-lgpl.c (main): Likewise.
23677         * modules/canonicalize-tests (Depends-on): Add same-inode.
23678         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23679
23680         canonicalize-lgpl: fix glibc bug with trailing slash
23681         * m4/canonicalize-lgpl.m4: Move contents...
23682         * m4/canonicalize.m4: ...here.
23683         (gl_CANONICALIZE_LGPL): Factor realpath check...
23684         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
23685         glibc 2.3.5 bug, fixed 2005-04-27.
23686         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23687         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23688         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23689         * modules/canonicalize-lgpl (Files): Manage file rename.
23690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23691         * modules/stdlib (Makefile.am): Substitute witness.
23692         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23693         is needed.
23694         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23695         replacement is required.
23696         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23697         * doc/glibc-functions/canonicalize_file_name.texi
23698         (canonicalize_file_name): Document this.
23699         * doc/posix-functions/realpath.texi (realpath): Likewise.
23700
23701         canonicalize-lgpl: reject non-directory with trailing slash
23702         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23703         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23704         catches failures in glibc 2.3.5.
23705         * tests/test-canonicalize.c (main): Likewise.
23706
23707         canonicalize-lgpl: use native realpath if it works
23708         * lib/canonicalize-lgpl.c (realpath): Guard with
23709         FUNC_REALPATH_WORKS.
23710         * lib/stdlib.in.h (realpath): Make declaration optional based on
23711         HAVE_REALPATH.
23712         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23713         native realpath works.
23714         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23715         * modules/stdlib (Makefile.am): Substitute witness.
23716
23717         canonicalize, canonicalize-lgpl: use <stdlib.h>
23718         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23719         (Include): Mention <stdlib.h>.
23720         (configure.ac): Mention functions we provide.
23721         * modules/canonicalize (configure.ac): Likewise.
23722         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23723         realpath if canonicalize_file_name is missing.
23724         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23725         * modules/stdlib (Makefile.am): Substitute witnesses.
23726         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23727         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23728         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23729         * NEWS: Document this.
23730         * doc/glibc-functions/canonicalize_file_name.texi
23731         (canonicalize_file_name): Likewise.
23732         * doc/posix-functions/realpath.texi (realpath): Likewise.
23733         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23734
23735         test-canonicalize: consolidate into single C program
23736         * tests/test-canonicalize.sh: Delete; move setup into...
23737         * tests/test-canonicalize.c (main): ...the program, making it
23738         easier to run in debugger.  Add some tests.
23739         * modules/canonicalize-tests (Files): Remove unused file.
23740         (Depends-on): Add progname.
23741         (configure.ac, Makefile.am): Simplify.
23742
23743         test-canonicalize-lgpl: consolidate into single C program
23744         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23745         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23746         easier to run in debugger.  Add some tests.
23747         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23748         (configure.ac, Makefile.am): Simplify.
23749
23750         canonicalize: avoid resolvepath
23751         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23752         unnecessary checks.
23753         * lib/canonicalize.c (includes): Simplify.
23754         (canonicalize_file_name): Drop resolvepath implementation.
23755         * modules/canonicalize (Depends-on): Drop filenamecat.
23756
23757         canonicalize: don't lose errno
23758         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23759         over calls to free.
23760
23761         canonicalize: simplify errno handling
23762         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23763         assignment.
23764
23765         canonicalize, canonicalize-lgpl: update module dependencies
23766         * modules/canonicalize (Depends-on): Add extensions, lstat,
23767         pathmax, stdlib.
23768         (Files): Drop pathmax.h.
23769         (configure.ac): Adjust macro name.
23770         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23771         lstat, stdlib, sys_stat.
23772         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23773         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23774         extensions.
23775         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23776         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23777         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23778         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23779         declaration, if available.
23780         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23781         we can rely on the readlink module.
23782         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23783         (includes): Use <unistd.h> unconditionally.
23784
23785 2009-09-17  Eric Blake  <ebb9@byu.net>
23786
23787         maint: make Include sections of modules consistent
23788         * modules/alloca: Use only header name; no need to list #include.
23789         * modules/alloca-opt: Likewise.
23790         * modules/arpa_inet: Likewise.
23791         * modules/canon-host: Likewise.
23792         * modules/configmake: Likewise.
23793         * modules/dirent: Likewise.
23794         * modules/eealloc: Likewise.
23795         * modules/environ: Likewise.
23796         * modules/fchdir: Likewise.
23797         * modules/fcntl: Likewise.
23798         * modules/fcntl-h: Likewise.
23799         * modules/gethrxtime: Likewise.
23800         * modules/gettime: Likewise.
23801         * modules/ignore-value: Likewise.
23802         * modules/inet_ntop: Likewise.
23803         * modules/inet_pton: Likewise.
23804         * modules/inttypes: Likewise.
23805         * modules/isnand-nolibm: Likewise.
23806         * modules/isnanf-nolibm: Likewise.
23807         * modules/mbchar: Likewise.
23808         * modules/mbfile: Likewise.
23809         * modules/mbiter: Likewise.
23810         * modules/mbuiter: Likewise.
23811         * modules/netdb: Likewise.
23812         * modules/netinet_in: Likewise.
23813         * modules/nproc: Likewise.
23814         * modules/pagealign_alloc: Likewise.
23815         * modules/poll: Likewise.
23816         * modules/printf-frexp: Likewise.
23817         * modules/pthread: Likewise.
23818         * modules/putenv: Likewise.
23819         * modules/random_r: Likewise.
23820         * modules/relocatable-prog: Likewise.
23821         * modules/search: Likewise.
23822         * modules/select: Likewise.
23823         * modules/selinux-h: Likewise.
23824         * modules/settime: Likewise.
23825         * modules/signal: Likewise.
23826         * modules/size_max: Likewise.
23827         * modules/socklen: Likewise.
23828         * modules/ssize_t: Likewise.
23829         * modules/stdarg: Likewise.
23830         * modules/stdbool: Likewise.
23831         * modules/stddef: Likewise.
23832         * modules/stdint: Likewise.
23833         * modules/stdio: Likewise.
23834         * modules/stdlib: Likewise.
23835         * modules/string: Likewise.
23836         * modules/strings: Likewise.
23837         * modules/sys_file: Likewise.
23838         * modules/sys_ioctl: Likewise.
23839         * modules/sys_select: Likewise.
23840         * modules/sys_socket: Likewise.
23841         * modules/sys_stat: Likewise.
23842         * modules/sys_time: Likewise.
23843         * modules/sys_times: Likewise.
23844         * modules/sys_utsname: Likewise.
23845         * modules/sys_wait: Likewise.
23846         * modules/sysexits: Likewise.
23847         * modules/time: Likewise.
23848         * modules/times: Likewise.
23849         * modules/tmpfile: Likewise.
23850         * modules/trim: Likewise.
23851         * modules/unistd: Likewise.
23852         * modules/wchar: Likewise.
23853         * modules/wctype: Likewise.
23854
23855 2009-09-17  Bruno Haible  <bruno@clisp.org>
23856
23857         Make getdate.y compile on QNX and NetBSD 5 / i386.
23858         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23859         TIME_T_FITS_IN_LONG_INT.
23860         * lib/getdate.y (long_time_t): New type.
23861         (relative_time): Change type of 'seconds' field to long_time_t.
23862         (get_date): Update types of local variables. Check against overflow
23863         during conversion from long_time_t to time_t.
23864         Reported by Matt Kraai <kraai@ftbfs.org>
23865         and Hasso Tepper <hasso@netbsd.org>.
23866
23867 2009-09-17  Bruno Haible  <bruno@clisp.org>
23868
23869         * modules/COPYING: Update copyright years.
23870         * modules/README: Likeiwse.
23871         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23872         Reported by Ian Beckwith <ianb@erislabs.net>.
23873
23874 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23875
23876         * users.txt: Update references for gnuit package.
23877
23878 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23879
23880         * m4/getdelim.m4: Fix typo in copyright line.
23881
23882 2009-09-17  Bruno Haible  <bruno@clisp.org>
23883
23884         * lib/atoll.c: Use the standard header with GPL copyright.
23885         * lib/argz.in.h: Likewise.
23886         * lib/glob.c: Likewise.
23887         * lib/glob-libc.h: Likewise.
23888         * lib/random_r.c: Likewise.
23889         * lib/siglist.h: Likewise.
23890         * lib/strsignal.c: Likewise.
23891         Reported by Ian Beckwith <ianb@erislabs.net>.
23892
23893 2009-09-17  Eric Blake  <ebb9@byu.net>
23894
23895         rmdir: ensure correct dependency order
23896         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23897
23898 2009-09-17  Bruno Haible  <bruno@clisp.org>
23899
23900         Disable assertion that fails on NetBSD 5 / i386.
23901         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23902         Reported by Sam Steingold <sds@gnu.org>
23903         and Hasso Tepper <hasso@netbsd.org>.
23904
23905 2009-09-16  Eric Blake  <ebb9@byu.net>
23906
23907         unlinkdir: port to mingw
23908         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23909         on which no one can unlink a directory.
23910
23911         stdlib: sort witness names
23912         * modules/stdlib (Makefile.am): Sort replacements.
23913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23914         * lib/stdlib.in.h: Likewise.
23915
23916         parse-duration-tests: avoid link failure
23917         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23918         LIBINTL.
23919         Reported by Tom G. Christensen.
23920
23921         openat-tests: ensure unlinkat behaves like rmdir
23922         * tests/test-rmdir.c (main): Factor guts...
23923         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
23924         * modules/rmdir-tests (Files): Ship new file.
23925         * modules/openat-tests: New test.
23926         * tests/test-unlinkat.c: Likewise.
23927
23928         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
23929         * modules/rmdir-errno (Status, Notice): Now obsolete.
23930
23931         rmdir: work around cygwin 1.5.x and mingw bugs
23932         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
23933         * lib/rmdir.c (rmdir): Work around it.
23934         * modules/rmdir (Status, Notice): No longer obsolete.
23935         (Files): Add dos.m4.
23936         (Depends-on): Add unistd.
23937         (configure.ac): Set witnesses.
23938         (License): Relax to LGPLv2+.
23939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
23940         * modules/unistd (Makefile.am): Substitute witnesses.
23941         * lib/unistd.in.h (rmdir): Declare replacement.
23942         * doc/posix-functions/rmdir.texi (rmdir): Document this.
23943         * modules/rmdir-tests: New tests.
23944         * tests/test-rmdir.c: Likewise.
23945
23946 2009-09-15  Eric Blake  <ebb9@byu.net>
23947
23948         fchdir: improve use of replacement functions
23949         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
23950         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
23951         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
23952         REPLACE_CLOSEDIR.
23953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
23954         * modules/sys_stat (Makefile.am): Substitute correct witness.
23955         * modules/dirent (Makefile.am): Likewise.
23956         * modules/unistd (Makefile.am): Likewise.
23957         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
23958         * lib/unistd.in.h (dup): Likewise.
23959         * lib/sys_stat.in.h (fstat): Likewise.
23960
23961         maint: ignore gnulib-tool temp files
23962         * .gitignore: Ignore files created during gnulib-tool --test.
23963
23964 2009-09-13  Jim Meyering  <meyering@redhat.com>
23965
23966         posixtm: don't reject a time that specify "60" as the number of seconds
23967         * lib/posixtm.c (posixtime): The code to reject invalid dates
23968         would also reject a time specified with the .60 suffix.
23969         But POSIX allows that, in order to accommodate leap seconds.
23970         So don't reject it.
23971         (main): Adjust tests accordingly.
23972         * modules/posixtm (Depends-on): Add stpcpy.
23973
23974 2009-09-11  Jim Meyering  <meyering@redhat.com>
23975
23976         announce-gen: include [$release_type] in emitted Subject:
23977         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
23978         e.g., [stable] in the emitted Subject: line.
23979
23980 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23981
23982         Remove obsolete macros from several modules.
23983         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
23984         obsolete Autoconf macros with their modern counterparts.
23985         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
23986         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
23987         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
23988         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
23989         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
23990         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23991         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23992         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23993         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23994         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
23995         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23996         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23997         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
23998         * m4/sockets.m4 (gl_SOCKETS): Likewise.
23999         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
24000         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
24001         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24002         * m4/time_r.m4 (gl_TIME_R): Likewise.
24003         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24004         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
24005         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24006
24007         Fix copyright header in build-aux scripts.
24008         * build-aux/git-version-gen: Fix copyright header to match GPLv3
24009         recommendation.
24010         * build-aux/ncftpput-ftp: Likewise.
24011         * build-aux/update-copyright: Likewise.
24012
24013 2009-09-09  Eric Blake  <ebb9@byu.net>
24014
24015         test-link: allow Linux choice of errno
24016         * tests/test-link.c (main): Relax test for alternate error.
24017
24018         strndup: fix improper m4 caching
24019         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
24020         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
24021         (gl_PREREQ_STRNDUP): Delete.
24022         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
24023         * modules/string (Makefile.am): Substitute it.
24024         * lib/string.in.h (strndup): Modernize prototype.
24025
24026         getcwd: port to mingw
24027         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
24028         different from the POSIX assumptions made throughout the getcwd
24029         module; fortunately, the mingw getcwd does not need replacement.
24030         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
24031         * modules/getcwd-tests: New test.
24032         * tests/test-getcwd.c: Likewise.
24033
24034         link: fix platform bugs
24035         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
24036         * lib/link.c (link): Work around them.  Fix related mingw bug.
24037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
24038         * modules/unistd (Makefile.am): Substitute it.
24039         * lib/unistd.in.h (link): Declare replacement.
24040         * doc/posix-functions/link.texi (link): Document this.
24041         * modules/link (Depends-on): Add strdup-posix, sys_stat.
24042
24043         test-link: consolidate into single C program, test more cases
24044         * tests/test-link.sh: Delete.
24045         * tests/test-link.c: Test more error conditions.  Exposes bugs on
24046         at least Cygwin and Solaris.
24047         * modules/link-tests (Files): Remove unused file.
24048         (Depends-on): Add errno, sys_stat.
24049         (Makefile.am): Simplify.
24050
24051 2009-09-08  Bruno Haible  <bruno@clisp.org>
24052
24053         Work around towlower, towupper bug on mingw.
24054         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
24055         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
24056         * doc/posix-functions/towlower.texi: Mention the mingw bug.
24057         * doc/posix-functions/towupper.texi: Likewise.
24058         Reported by Eric Blake.
24059
24060 2009-09-08  Jim Meyering  <meyering@redhat.com>
24061
24062         build: don't try to run autoheader if we don't use it
24063         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
24064         is not used in configure.ac.
24065
24066 2009-09-08  Eric Blake  <ebb9@byu.net>
24067
24068         euidaccess: fix compilation error
24069         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
24070
24071         rawmemchr: relax license
24072         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
24073         okay.
24074         Reported by Jim Meyering.
24075
24076         mkfifoat: new module
24077         * modules/mkfifoat: New file.
24078         * lib/mkfifoat.c: Likewise.
24079         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
24080         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24081         * modules/sys_stat (Makefile.am): Use them.
24082         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
24083         * MODULES.html.sh (File system functions): Mention module.
24084         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24085         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24086         * modules/mkfifoat-tests: New test.
24087         * tests/test-mkfifoat.c: Likewise.
24088
24089         strchrnul: relax license
24090         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
24091         okay.
24092         Reported by Jim Meyering.
24093
24094 2009-09-08  Eric Blake  <ebb9@byu.net>
24095
24096         fstatat: fix compilation on Solaris
24097         * lib/fstatat.c (includes): Add fcntl.h.
24098         Reported by Pádraig Brady.
24099
24100 2009-09-07  Eric Blake  <ebb9@byu.net>
24101
24102         rename: modernize replacement
24103         * modules/rename (Depends-on): Add stdio.
24104         (configure.ac): Declare witness.
24105         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
24106         stdio take care of replacement.
24107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24108         * modules/stdio (Makefile.am): Substitute them.
24109         * lib/stdio.in.h (rename): Declare replacement.
24110         * lib/rename.c (includes): Allow cross-compilation to non-windows
24111         machines.
24112         * doc/posix-functions/rename.texi (rename): Improve
24113         documentation.
24114
24115         stdio: sort witness names
24116         * modules/stdio (Makefile.am): Sort replacements.
24117         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24118         * lib/stdio.in.h: Likewise.
24119
24120         getcwd: minor cleanups
24121         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
24122         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
24123
24124         openat: provide more convenience names
24125         * modules/faccessat (configure.ac): Add C witness.
24126         * lib/unistd.in.h (readlinkat): Fix typo.
24127         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
24128         convenience wrappers.
24129         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
24130         wrappers in syntax checks.
24131
24132 2009-09-06  Eric Blake  <ebb9@byu.net>
24133
24134         doc: fix comments in recent patches
24135         * lib/faccessat.c: Mention correct function.
24136         * lib/fchmodat.c: Likewise.
24137         * lib/fchownat.c: Likewise.
24138         * lib/symlinkat.c: Likewise.
24139         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
24140         constants.
24141
24142         faccessat, symlinkat: continue cleanup of previous patch
24143         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
24144         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24145         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
24146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
24147         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
24148         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
24149         set.
24150
24151 2009-09-06  Bruno Haible  <bruno@clisp.org>
24152
24153         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
24154         (fstatat): Declare if GNULIB_FSTATAT is set.
24155         (mkdirat): Declare if GNULIB_MKDIRAT is set.
24156         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
24157         (unlinkat): Declare if GNULIB_UNLINKAT is set.
24158         * modules/fcntl-h (Files): Remove m4/openat.m4.
24159         * modules/sys_stat (Files): Remove m4/openat.m4.
24160         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
24161         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
24162         * modules/unistd (Files): Remove m4/openat.m4.
24163         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
24164         GNULIB_OPENAT.
24165         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
24166         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
24167         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24168         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
24169         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
24170         gl_OPENAT_DEFAULTS.
24171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
24172         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
24173         Don't require gl_OPENAT_DEFAULTS.
24174         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
24175         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
24176         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
24177         (gl_OPENAT_DEFAULTS): Remove macro.
24178
24179 2009-09-06  Bruno Haible  <bruno@clisp.org>
24180
24181         * modules/openat (configure.ac): Remove unneeded witness.
24182
24183 2009-09-06  Bruno Haible  <bruno@clisp.org>
24184
24185         Set errno to ENOSYS when a function is entirely unsupported.
24186         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
24187         EOPNOTSUPP.
24188         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24189         * modules/chown (Depends-on): Remove errno.
24190
24191 2009-09-06  Bruno Haible  <bruno@clisp.org>
24192
24193         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
24194
24195 2009-09-06  Bruno Haible  <bruno@clisp.org>
24196
24197         * lib/sys_stat.in.h: Fix preprocessor command indentation.
24198
24199 2009-09-06  Ben Pfaff  <blp@gnu.org>
24200             Bruno Haible  <bruno@clisp.org>
24201
24202         Work around a glibc bug in strtok_r.
24203         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
24204         Undefine if UNDEFINE_STRTOK_R is set.
24205         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
24206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24207         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
24208         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
24209         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
24210         UNDEFINE_STRTOK_R.
24211         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
24212
24213 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24214
24215         exclude: minor fix
24216         * lib/exclude.c: Include wctype.h
24217
24218 2009-09-06  Akim Demaille  <demaille@gostai.com>
24219
24220         bootstrap: improve error message
24221         * build-aux/bootstrap (find_tool): Upon failure, report the list
24222         of candidates.
24223         Honor the initial value of the envvar.
24224
24225 2009-09-05  Eric Blake  <ebb9@byu.net>
24226
24227         symlinkat: new module
24228         * modules/symlinkat: New file.
24229         * lib/symlinkat.c: Likewise.
24230         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
24231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24232         * modules/unistd (Makefile.am): Use them.
24233         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
24234         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
24235         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
24236         * MODULES.html.sh (File system functions): Mention module.
24237         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24238         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24239         * modules/symlinkat-tests: New test.
24240         * tests/test-symlinkat.c: Likewise.
24241
24242         test-openat-safer: add more checks
24243         * tests/test-openat-safer.c (main): Check more code paths.
24244
24245 2009-09-05  Jim Meyering  <meyering@redhat.com>
24246
24247         syntax-check: detect unnecessary inclusion of openat.h
24248         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
24249
24250 2009-09-05  Bruno Haible  <bruno@clisp.org>
24251
24252         Support towlower, towupper.
24253         * doc/posix-functions/towlower.texi: Mention module wctype.
24254         * doc/posix-functions/towupper.texi: Likewise.
24255         * lib/wctype.in.h (towlower, towupper): New functions.
24256         * tests/test-wctype.c: Include stdio.h, stdlib.h.
24257         (ASSERT): New macro.
24258         (e): New variable.
24259         (main): Test also towlower, towupper. Test WEOF argument.
24260         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24261
24262 2009-09-05  Bruno Haible  <bruno@clisp.org>
24263
24264         Fix conversion behaviour when the input is invalid.
24265         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
24266         mark occurring in first pass of indirect conversion.
24267         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
24268         input.
24269         Found by clang's static analyzer.
24270
24271 2009-09-05  Bruno Haible  <bruno@clisp.org>
24272
24273         * tests/test-striconveh.c (main): Test indirect conversion on platforms
24274         where direct conversion is possible.
24275
24276 2009-09-04  Eric Blake  <ebb9@byu.net>
24277
24278         openat: fail with ENOENT on empty name
24279         * lib/openat-proc.c (openat_proc_name): Special-case the empty
24280         buffer.
24281
24282         link-follow: fix logic bug in prior patch
24283         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
24284         reversed sense of yes and no in prior patch.  Avoid confusing
24285         compilation failure with desired semantics.
24286
24287         link-follow: accomodate mingw and cross-compilation
24288         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
24289         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
24290         cross-compilation results to -1, to make linkat easier to
24291         implement when cross-compiling.  Trivially support mingw.
24292         * modules/link-follow (configure.ac): Call new name.
24293         * NEWS: Mention this.
24294
24295 2009-09-03  Eric Blake  <ebb9@byu.net>
24296
24297         faccessat: compile replacement
24298         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
24299         needed.
24300
24301         fts: fix compilation error
24302         * lib/fts.c (includes): Re-add "openat.h", for
24303         openat_needs_fchdir.
24304
24305         faccessat: new module
24306         * modules/faccessat: New file.
24307         * lib/faccessat.c: Likewise.
24308         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24310         * modules/unistd (Makefile.am): Use it.
24311         * lib/unistd.in.h (faccessat): Declare it.
24312         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
24313         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
24314         * MODULES.html.sh (File system functions): Mention it.
24315         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
24316         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24317
24318         euidaccess: prefer POSIX over non-standard implementation
24319         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
24320         * lib/euidaccess.c (euidaccess): Use it if available.
24321
24322         openat: make template easier to use
24323         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
24324         AT_FUNC_F2 to be undefined.
24325         (VALIDATE_FLAG): New macro; use it to reject bad flags.
24326         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
24327         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
24328         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
24329         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
24330         Likewise.
24331         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
24332         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
24333         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
24334         Likewise.
24335
24336         openat: declare in POSIX headers
24337         * NEWS: Mention this.
24338         * modules/openat (configure.ac): Declare witnesses.
24339         (Depends-on): Add fcntl-h, sys_stat, unistd.
24340         (Include): Mention correct headers.
24341         * modules/fcntl-h (Depends-on): Add link-warning.
24342         (Files): Add openat.m4.
24343         (Makefile.am): Substitute witnesses.
24344         * modules/sys_stat (Files, Makefile.am): Likewise.
24345         * modules/unistd (Files, Makefile.am): Likewise.
24346         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
24347         (gl_OPENAT_DEFAULTS): New macro.
24348         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
24349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
24350         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
24351         (SYS_STAT_H): Remove unused variable.
24352         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
24353         * lib/fcntl--.h (includes): Remove unneeded header.
24354         * lib/openat-safer.c (includes): Likewise.
24355         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
24356         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
24357         appropriate headers.
24358         (__OPENAT_PREFIX): Delete.
24359         * lib/fcntl.in.h (openat): Provide declaration.
24360         (AT_FDCWD): Fix Solaris bug.
24361         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
24362         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
24363         * lib/fchmodat.c (includes):  Adjust to find declaration.
24364         * lib/fchownat.c (includes): Likewise.
24365         * lib/mkdirat.c (includes): Likewise.
24366         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
24367         still visible.
24368
24369 2009-09-02  Eric Blake  <ebb9@byu.net>
24370
24371         errno: use consistently
24372         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
24373         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
24374         * lib/canonicalize.c (ELOOP): Likewise.
24375         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
24376         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
24377         * lib/lchown.c (EOPNOTSUPP): Likewise.
24378         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
24379         * lib/savewd.c (ESTALE): Likewise.
24380         * lib/settime.c (ENOSYS): Likewise.
24381         * lib/utimens.c (ENOSYS): Likewise.
24382         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
24383         * lib/chdir-safer.c (ELOOP): Likewise.
24384         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
24385         * modules/c-stack (Depends-on): Add errno.
24386         * modules/canonicalize (Depends-on): Likewise.
24387         * modules/chdir-safer (Depends-on): Likewise.
24388         * modules/fdopendir (Depends-on): Likewise.
24389         * modules/inet_ntop (Depends-on): Likewise.
24390         * modules/inet_pton (Depends-on): Likewise.
24391         * modules/lchown (Depends-on): Likewise.
24392         * modules/openat (Depends-on): Likewise.
24393         * modules/savewd (Depends-on): Likewise.
24394         * modules/settime (Depends-on): Likewise.
24395         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
24396
24397         fts: avoid leaking fds
24398         * modules/fts (Depends-on): Add cloexec.
24399         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
24400         flag.
24401
24402         fts: make directory fds more robust
24403         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
24404         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
24405
24406         backupfile, chdir-long, fts, savedir: make safer
24407         * lib/backupfile.c (includes): Use "dirent--.h", since
24408         numbered_backup can write to stderr during readdir.
24409         * lib/savedir.c (includes): Likewise.
24410         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
24411         emulation can write to stderr on failure.
24412         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
24413         * lib/getcwd.c: Document why opendir_safer is unused.
24414         * lib/glob.c: Likewise.
24415         * lib/scandir.c: Likewise.
24416         * lib/openat-proc.c: Likewise, for open_safer.
24417         * modules/backupfile (Depends-on): Add dirent-safer.
24418         * modules/savedir (Depends-on): Likewise.
24419         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
24420         * modules/chdir-long (Depends-on): Add openat-safer.
24421
24422         openat-safer: new module
24423         * modules/openat-safer: New file.
24424         * lib/openat-safer.c: Likewise.
24425         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
24426         * lib/fcntl-safer.h (openat_safer): Declare.
24427         * lib/fcntl--.h (openat): Override.
24428         * MODULES.html.sh (File descriptor based I/O): Mention it.
24429         * lib/openat.h: Add double-inclusion guards.
24430         * lib/openat.c (includes): Only include "fcntl-safer.h", not
24431         "fcntl--.h", so we can implement openat.
24432         * modules/openat-safer-tests: New test.
24433         * tests/test-openat-safer.c: New file.
24434
24435         dirent-safer: new module
24436         * modules/dirent-safer: New file.
24437         * lib/dirent--.h: Likewise.
24438         * lib/dirent-safer.h: Likewise.
24439         * lib/opendir-safer.c: Likewise.
24440         * m4/dirent-safer.m4: Likewise.
24441         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
24442         * modules/dirent-safer-tests: New test.
24443         * tests/test-dirent-safer.c: New file.
24444         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
24445
24446         fdopendir: optimize on mingw
24447         * lib/unistd.in.h (_gl_directory_name): New prototype.
24448         * lib/fchdir.c (_gl_directory_name): Implement it.
24449         (fchdir): Use it to simplify implementation.
24450         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
24451         fchdir, when available, to avoid calling [f]chdir().
24452
24453         fdopendir: split into its own module
24454         * lib/openat.c (fdopendir): Move...
24455         * lib/fdopendir.c: ...into new file.
24456         * modules/fdopendir: New module.
24457         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
24458         * modules/openat (Depends-on): Add fdopendir.
24459         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
24460         fdopendir here.
24461         * modules/savedir (Depends-on): Only need fdopendir, not full
24462         openat.
24463         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
24464         * lib/openat.h (fdopendir): Drop prototype.
24465         * lib/dirent.in.h (fdopendir): Provide prototype.
24466         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
24467         * modules/dirent (Makefile.am): Substitute them.
24468         * MODULES.html.sh (File system functions): Mention it.
24469         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
24470         * modules/fdopendir-tests: New file.
24471         * tests/test-fdopendir.c: Likewise.
24472
24473         fchdir: use more consistent macro convention
24474         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
24475         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
24476         REPLACE_FCHDIR, rather than relying on config.h macros.
24477         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
24478         inside a single make-time REPLACE_FCHDIR block, rather than using
24479         the config.h FCHDIR_REPLACEMENT.
24480         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
24481         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
24482         Manage fstat replacement.
24483         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
24484         REPLACE_FCHDIR.
24485         * modules/sys_stat (Files): Add m4/unistd_h.m4.
24486         (Makefile.am): Substitute REPLACE_FCHDIR.
24487         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
24488         FCHDIR_REPLACEMENT.
24489         * lib/dup-safer.c (dup_safer): Likewise.
24490         * lib/dup2.c (rpl_dup2): Likewise.
24491         * lib/dup3.c (rpl_dup3): Likewise.
24492         * lib/open.c (rpl_open): Likewise.
24493
24494         fchdir: simplify error handling, and support dup3
24495         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
24496         stdbool, malloc-posix, realloc-posix.
24497         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
24498         (ensure_dirs_slot): Return false on allocation failure.
24499         (rpl_dup2): Delete.
24500         (_gl_register_dup): New function.
24501         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
24502         (_gl_register_fd): Close fd on allocation failure.
24503         * lib/fcntl.in.h (_gl_register_fd): Update signature.
24504         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
24505         prototype.
24506         (rpl_dup2_fchdir): Delete prototype.
24507         * lib/open.c (open): Update caller.
24508         * lib/dup2.c (dup2): Track fchdir metadata.
24509         * lib/dup3.c (dup3): Likewise.
24510         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
24511         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
24512
24513 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24514
24515         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
24516         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
24517         don't pass arguments to AC_OUTPUT.
24518
24519 2009-09-02  Bruno Haible  <bruno@clisp.org>
24520
24521         * modules/mkdtemp (License): Relicense under LGPLv2+.
24522         Reported by Paolo Bonzini.
24523
24524 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24525
24526         Replace uses of obsolete autoconf macros in Jim's modules.
24527         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
24528         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
24529         can evoke a warning from autoconf when run with -Wobsolete
24530         enabled.  They were declared obsolete for good reasons (see
24531         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
24532         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
24533         should not continue using the deprecated macros.
24534         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
24535         obsolete Autoconf macros with modern counterparts.
24536         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24537         * m4/dos.m4 (gl_AC_DOS): Likewise.
24538         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
24539         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24540         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
24541         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
24542         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
24543         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
24544         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
24545         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
24546         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
24547         Likewise.
24548         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24549         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
24550         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
24551         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
24552         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
24553         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
24554
24555 2009-09-01  Eric Blake  <ebb9@byu.net>
24556
24557         fchdir: fix off-by-one bug in previous patch
24558         * lib/fchdir.c (rpl_fstat): Use correct bounds.
24559         (_gl_unregister_fd): Delete useless if.
24560
24561 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
24562
24563         maint.mk: sort the list of syntax-check rules
24564         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
24565         easier to get a sense of progress when the rules are run sequentially
24566         and take a long time.
24567
24568 2009-09-01  Simon Josefsson  <simon@josefsson.org>
24569
24570         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
24571         * modules/netinet_in: Likewise.
24572         * modules/sys_file: Likewise.
24573         * modules/sys_ioctl: Likewise.
24574         * modules/sys_select: Likewise.
24575         * modules/sys_socket: Likewise.
24576         * modules/sys_stat: Likewise.
24577         * modules/sys_time: Likewise.
24578         * modules/sys_times: Likewise.
24579         * modules/sys_utsname: Likewise.
24580         * modules/sys_wait: Likewise.
24581
24582 2009-09-01  Jim Meyering  <meyering@redhat.com>
24583
24584         fts: help ensure that return values are not ignored
24585         * lib/fts_.h (__GNUC_PREREQ): Define.
24586         (__attribute_warn_unused_result__): Define.
24587         (fts_children, fts_close, fts_open, fts_read): Declare with
24588         __attribute_warn_unused_result__.
24589
24590         fts: fts_close now fails also when closing a dir file descriptor fails
24591         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
24592         and propagate to caller, along with errno.
24593
24594         announce-gen: correct formatting in --help output
24595         * build-aux/announce-gen (usage): Move the one-line description in
24596         --help output "up", to where it belongs, just after Usage:.
24597
24598 2009-08-31  Eric Blake  <ebb9@byu.net>
24599
24600         fchdir: port to mingw
24601         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
24602         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
24603         opened, then use a substitute.
24604         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
24605         replacement.
24606         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
24607         (_gl_register_fd): No need to check stat if open already filters
24608         all directories.
24609         (fchdir): Fix error condition to match POSIX.
24610         * modules/fchdir (Depends-on): Add sys_stat.
24611         * doc/posix-functions/open.texi (open): Document the limitation.
24612         * modules/fchdir-tests: New file.
24613         * tests/test-fchdir.c: Likewise.
24614
24615         canonicalize: allow cross-testing from cygwin to mingw
24616         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
24617         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
24618         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
24619         Likewise.
24620         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
24621         target does not support symlinks.
24622         * tests/test-canonicalize-lgpl.sh: Likewise.
24623
24624         chown: avoid compilation warning on mingw
24625         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
24626         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
24627         mingw.
24628         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24629         * modules/chown (Depends-on): Add errno.
24630
24631 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24632
24633         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
24634         command.
24635
24636 2009-08-31  Jim Meyering  <meyering@redhat.com>
24637
24638         canonicalize: remove useless initialization
24639         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
24640         initialization of local, "end".
24641
24642 2009-08-30  Bruno Haible  <bruno@clisp.org>
24643
24644         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
24645         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
24646         ENOSYS.
24647
24648 2009-08-30  Bruno Haible  <bruno@clisp.org>
24649
24650         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
24651         /usr/xpg4/bin/tr when it exists.
24652         * tests/test-pipe-filter-gi1.sh: Likewise.
24653
24654 2009-08-30  Bruno Haible  <bruno@clisp.org>
24655
24656         Work around deficient /usr/bin/id program on Solaris.
24657         * tests/test-file-has-acl.sh (ID): New variable.
24658         * tests/test-set-mode-acl.sh (ID): Likewise.
24659         * tests/test-copy-acl.sh (ID): Likewise.
24660         * tests/test-copy-file.sh (ID): Likewise.
24661
24662 2009-08-30  Bruno Haible  <bruno@clisp.org>
24663
24664         New module 'xstriconveh'.
24665         * lib/xstriconveh.h: New file.
24666         * lib/xstriconveh.c: New file.
24667         * modules/xstriconveh: New file.
24668
24669 2009-08-30  Bruno Haible  <bruno@clisp.org>
24670
24671         Make it easier to use mem_cd_iconveh.
24672         * lib/striconveh.h (iconveh_t): New type.
24673         (iconveh_open, iconveh_close): New declarations.
24674         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24675         with a single 'const iconveh_t *' argument.
24676         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
24677         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24678         with a single 'const iconveh_t *' argument.
24679         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
24680         * tests/test-striconveh.c (main): Update.
24681         * NEWS: Mention the change.
24682
24683 2009-08-30  Bruno Haible  <bruno@clisp.org>
24684
24685         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24686         problem.
24687
24688 2009-08-30  Bruno Haible  <bruno@clisp.org>
24689
24690         Work around iconv_open problem on Solaris.
24691         * lib/iconv_open-solaris.gperf: New file.
24692         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24693         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24694         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24695         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24696         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24697         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24698
24699 2009-08-29  Jim Meyering  <meyering@redhat.com>
24700
24701         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24702         * top/maint.mk (cvs-check): Remove target; it was just an alias
24703         to the better-named vc-diff-check.
24704         (maintainer-distcheck): Remove rule.  It was used only from
24705         the (alpha/beta/major) target, and all of its commands but one
24706         were coreutils-specific.
24707         (vc-dist): Remove rule.
24708         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24709         Run vc-diff-check, not vc-dist.
24710         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24711
24712 2009-08-27  Bruno Haible  <bruno@clisp.org>
24713
24714         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24715         of 0.
24716
24717 2009-08-27  Bruno Haible  <bruno@clisp.org>
24718
24719         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24720         compilers.
24721         * doc/func.texi: Document the SunPRO C bug.
24722
24723 2009-08-27  Bruno Haible  <bruno@clisp.org>
24724
24725         Fix link error on Solaris.
24726         * tests/test-parse-duration.c (xstrdup): Remove function.
24727
24728 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24729
24730         ignore-value: handle pointer types, too
24731         * lib/ignore-value.h (__attribute__): Remove definition.
24732         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24733         of a more concise and more-often effective "(void) i" statement.
24734         (ignore_ptr): New function to suppress warnings from functions that
24735         return pointers, and to make it explicit that one function doesn't
24736         handle all cases.
24737
24738 2009-08-25  Bruno Haible  <bruno@clisp.org>
24739
24740         dup2: work around a Linux bug.
24741         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24742         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24743         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24744         Reported by Simon Josefsson.
24745
24746 2009-08-25  Jim Meyering  <meyering@redhat.com>
24747
24748         libguestfs uses gnulib
24749         * users.txt: Add libguestfs.
24750
24751 2009-08-24  Eric Blake  <ebb9@byu.net>
24752
24753         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24754         * lib/pipe2.c (includes): Add binary-io.h.
24755         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24756
24757 2009-08-24  Bruno Haible  <bruno@clisp.org>
24758
24759         Tolerate declared but missing accept4 syscall.
24760         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24761         available.
24762         * lib/sys_socket.in.h (accept4): If the function is already present,
24763         override it.
24764         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24765         * modules/accept4 (Makefile.am): Compile accept4.c always.
24766         Reported by Paolo Bonzini and Eric Blake.
24767
24768 2009-08-23  Bruno Haible  <bruno@clisp.org>
24769
24770         New module 'accept4'.
24771         * lib/sys_socket.in.h (accept4): New declaration.
24772         * lib/accept4.c: New file.
24773         * m4/accept4.m4: New file.
24774         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24775         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24776         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24777         HAVE_ACCEPT4.
24778         * modules/accept4: New file.
24779         * doc/glibc-functions/accept4.texi: Mention the new module.
24780
24781 2009-08-24  Jim Meyering  <meyering@redhat.com>
24782
24783         progname: also set global program_invocation_name, when possible
24784         Before this change, a libtool-enabled program that calls glibc's
24785         error function would report the program name as
24786         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24787         * modules/progname (configure.ac): Check for a declaration of
24788         program_invocation_name.
24789         * lib/progname.c:  Include <errno.h>.
24790         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24791         Set program_invocation_name.
24792
24793 2009-08-23  Bruno Haible  <bruno@clisp.org>
24794
24795         * lib/dup3.c: Include <string.h>.
24796
24797 2009-08-23  Bruno Haible  <bruno@clisp.org>
24798
24799         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24800         * lib/pipe2.c (pipe2): Likewise.
24801         Suggested by Eric Blake.
24802
24803 2009-08-23  Bruno Haible  <bruno@clisp.org>
24804
24805         Tolerate declared but missing dup3 syscall.
24806         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24807         * lib/unistd.in.h (dup3): If the function is already present,
24808         override it.
24809         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24810         * modules/dup3 (Makefile.am): Compile dup3.c always.
24811         Reported by Paolo Bonzini.
24812
24813 2009-08-23  Bruno Haible  <bruno@clisp.org>
24814
24815         Tolerate declared but missing pipe2 syscall.
24816         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24817         available.
24818         * lib/unistd.in.h (pipe2): If the function is already present,
24819         override it.
24820         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24821         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24822         Reported by Paolo Bonzini.
24823
24824 2009-08-23  Bruno Haible  <bruno@clisp.org>
24825
24826         * lib/pipe2.c (pipe2): Move #ifs inside function.
24827
24828 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24829
24830         quotearg: document limitations of quote_these_too
24831         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24832         those limitations are created.
24833         * lib/quotearg.h (set_char_quoting): Document that digits and
24834         letters that are special after backslash are not permitted.
24835         (quotearg_char): Cross-reference set_char_quoting documentation.
24836
24837 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24838
24839         quotearg: implement custom_quoting_style
24840         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24841         right_quote fields.
24842         (set_custom_quoting): New public function.
24843         (quotearg_buffer_restyled): Add left_quote and right_quote
24844         arguments, handle them very much like locale quoting, and update
24845         all uses.
24846         (quotearg_n_custom): New public function.
24847         (quotearg_n_custom_mem): New public function.
24848         (quotearg_custom): New public function.
24849         (quotearg_custom_mem): New public function.
24850         * lib/quotearg.h: Prototype and document new public functions.
24851         (enum quoting_style): For escape_quoting_style and
24852         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24853         ignored even though they're otherwise like c_quoting_style.
24854         Add custom_quoting_style member and document with comparison to
24855         clocale_quoting_style.
24856         * tests/test-quotearg.c (custom_quotes): New array.
24857         (custom_results): New array.
24858         (main): Extend to test custom quoting.
24859
24860 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24861
24862         quotearg: fix right quote escaping when it's in quote_these_too
24863         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24864         quote, be sure to prepend only one backslash.
24865         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24866         (main): Test it.
24867
24868 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24869
24870         quotearg-tests: test escaping of embedded locale quotes
24871         * tests/test-quotearg.c (struct result_strings): Add member for
24872         new input.
24873         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24874         (inputs): Add new input.
24875         (results_g): Add expected results.
24876         (flag_results): Likewise.
24877         (locale_results): Likewise.
24878         (compare_strings): Check those.
24879
24880 2009-08-23  Bruno Haible  <bruno@clisp.org>
24881
24882         Tests for module 'dup3'.
24883         * modules/dup3-tests: New file.
24884         * tests/test-dup3.c: New file.
24885
24886         New module 'dup3'.
24887         * lib/unistd.in.h (dup3): New declaration.
24888         * lib/dup3.c: New file.
24889         * m4/dup3.m4: New file.
24890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24891         HAVE_DUP3.
24892         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24893         * modules/dup3: New file.
24894         * doc/glibc-functions/dup3.texi: Mention the new module.
24895
24896 2009-08-23  Bruno Haible  <bruno@clisp.org>
24897
24898         Tweak the dup2 test.
24899         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24900         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24901         the test file is still empty. Fix argument order of lseek.
24902
24903 2009-08-23  Bruno Haible  <bruno@clisp.org>
24904
24905         Avoid test link errors when the modules getopt-gnu, gettext are used.
24906         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24907         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24908
24909 2009-08-23  Bruno Haible  <bruno@clisp.org>
24910
24911         Fix getdtablesize() on mingw.
24912         * lib/getdtablesize.c (getdtablesize): Implement differently.
24913         * lib/unistd.in.h (getdtablesize): Improve comment.
24914
24915 2009-08-23  Bruno Haible  <bruno@clisp.org>
24916
24917         New module 'mkostemp'.
24918         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24919         * lib/stdlib.in.h (mksotemp): New declaration.
24920         * lib/mkostemp.c: New file, from glibc with modifications.
24921         * lib/tempname.h (GT_FILE): Remove outdated comment.
24922         (gen_tempname): Add flags argument.
24923         * lib/tempname.c (__GT_BIGFILE): Remove macro.
24924         (__GT_FILE): Map to 1.
24925         (small_open, large_open): Remove macros.
24926         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
24927         * lib/mkstemp.c (mkstemp): Update.
24928         * lib/mkdtemp.c (mkdtemp): Likewise.
24929         * m4/mkostemp.m4: New file.
24930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
24931         HAVE_MKOSTEMP.
24932         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
24933         HAVE_MKOSTEMP.
24934         * modules/mkostemp: New file, based on modules/mkstemp.
24935         * doc/glibc-functions/mkostemp.texi: Mention the new module.
24936         * NEWS: Mention the change.
24937
24938 2009-08-23  Bruno Haible  <bruno@clisp.org>
24939
24940         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
24941         Reported by Eric Blake.
24942
24943 2009-08-23  Bruno Haible  <bruno@clisp.org>
24944
24945         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
24946         Reported by Eric Blake.
24947
24948 2009-08-23  Bruno Haible  <bruno@clisp.org>
24949
24950         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
24951         * modules/pipe2 (Depends-on): Likewise.
24952
24953 2009-08-23  Eric Blake  <ebb9@byu.net>
24954
24955         fcntl-h: add O_TTY_INIT support
24956         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
24957         * tests/test-fcntl-h.c (o): Test it.
24958         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24959
24960         fcntl-h: rename from fcntl, in preparation for fcntl(2)
24961         * modules/fcntl: Move <fcntl.h> header replacement...
24962         * modules/fcntl-h: ...to new name, so as not to collide with
24963         like-named function.
24964         * tests/test-fcntl.c: Rename...
24965         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
24966         * modules/fcntl-tests: Rename...
24967         * modules/fcntl-h-tests: ...to this.  Update test file name.
24968         * modules/chdir-long (Depends-on): Update clients.
24969         * modules/chdir-safer (Depends-on): Likewise.
24970         * modules/fcntl-safer (Depends-on): Likewise.
24971         * modules/fts (Depends-on): Likewise.
24972         * modules/mkancesdirs (Depends-on): Likewise.
24973         * modules/mkdir-p (Depends-on): Likewise.
24974         * modules/open (Depends-on): Likewise.
24975         * modules/savewd (Depends-on): Likewise.
24976         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
24977         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24978
24979 2009-08-22  Bruno Haible  <bruno@clisp.org>
24980
24981         * modules/binary-io (License): Relicense under LGPL.
24982         * modules/pipe2 (License): Likewise.
24983
24984 2009-08-22  Bruno Haible  <bruno@clisp.org>
24985
24986         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
24987         return value.
24988         * lib/pipe-filter-gi.c (filter_init): Likewise.
24989         Reported by Eric Blake.
24990
24991 2009-08-22  Bruno Haible  <bruno@clisp.org>
24992
24993         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
24994         * modules/pipe (Depends-on): Add pipe2.
24995
24996 2009-08-22  Bruno Haible  <bruno@clisp.org>
24997
24998         Tests for module 'pipe2'.
24999         * modules/pipe2-tests: New file.
25000         * tests/test-pipe2.c: New file.
25001
25002         New module 'pipe2'.
25003         * lib/unistd.in.h (pipe2): New declaration.
25004         * lib/pipe2.c: New file.
25005         * m4/pipe2.m4: New file.
25006         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
25007         HAVE_PIPE2.
25008         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
25009         * modules/pipe2: New file.
25010         * doc/glibc-functions/pipe2.texi: Mention the new module.
25011
25012 2009-08-22  Bruno Haible  <bruno@clisp.org>
25013
25014         Reference some new glibc functions.
25015         * doc/glibc-functions/accept4.texi: New file.
25016         * doc/glibc-functions/dup3.texi: New file.
25017         * doc/glibc-functions/mkostemp.texi: New file.
25018         * doc/glibc-functions/pipe2.texi: New file.
25019         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
25020         (Glibc sys/socket.h): Refer to accept4.
25021         (Glibc unistd.h): Refer to dup3, pipe2.
25022         Reported by Eric Blake.
25023
25024 2009-08-22  Jim Meyering  <meyering@redhat.com>
25025             Bruno Haible  <bruno@clisp.org>
25026
25027         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
25028         This makes it so packages using automake-1.11's silent-rules option
25029         can print e.g., a single "GEN    configmake.h" line, rather than
25030         the 30+ statements that perform the job.  If you want to see the
25031         actual commands, you can still run "make V=1".
25032         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
25033         so that make output is abbreviated when those variables are defined
25034         appropriately.
25035         * modules/argz: Likewise.
25036         * modules/arpa_inet: Likewise.
25037         * modules/byteswap: Likewise.
25038         * modules/configmake: Likewise.
25039         * modules/dirent: Likewise.
25040         * modules/errno: Likewise.
25041         * modules/fcntl: Likewise.
25042         * modules/float: Likewise.
25043         * modules/fnmatch: Likewise.
25044         * modules/getopt-posix: Likewise.
25045         * modules/glob: Likewise.
25046         * modules/iconv_open: Likewise.
25047         * modules/inttypes: Likewise.
25048         * modules/localcharset: Likewise.
25049         * modules/locale: Likewise.
25050         * modules/math: Likewise.
25051         * modules/netdb: Likewise.
25052         * modules/netinet_in: Likewise.
25053         * modules/poll: Likewise.
25054         * modules/posix_spawnp-tests: Likewise.
25055         * modules/sched: Likewise.
25056         * modules/search: Likewise.
25057         * modules/selinux-h: Likewise.
25058         * modules/signal: Likewise.
25059         * modules/spawn: Likewise.
25060         * modules/stdarg: Likewise.
25061         * modules/stdbool: Likewise.
25062         * modules/stddef: Likewise.
25063         * modules/stdint: Likewise.
25064         * modules/stdio: Likewise.
25065         * modules/stdlib: Likewise.
25066         * modules/string: Likewise.
25067         * modules/strings: Likewise.
25068         * modules/sys_file: Likewise.
25069         * modules/sys_ioctl: Likewise.
25070         * modules/sys_select: Likewise.
25071         * modules/sys_socket: Likewise.
25072         * modules/sys_stat: Likewise.
25073         * modules/sys_time: Likewise.
25074         * modules/sys_times: Likewise.
25075         * modules/sys_utsname: Likewise.
25076         * modules/sys_wait: Likewise.
25077         * modules/sysexits: Likewise.
25078         * modules/time: Likewise.
25079         * modules/unistd: Likewise.
25080         * modules/wchar: Likewise.
25081         * modules/wctype: Likewise.
25082
25083 2009-08-22  Jim Meyering  <meyering@redhat.com>
25084
25085         announce-gen: detect write failure
25086         * build-aux/announce-gen: Add Coda at end.
25087         Remove equivalent-but-more-verbose block at top.
25088
25089 2009-08-19  Akim Demaille  <demaille@gostai.com>
25090
25091         bootstrap: --help to stdout.
25092         * bootstrap (usage): Don't send --help to stderr.
25093         Use a here doc instead of a long string.
25094
25095 2009-08-21  Eric Blake  <ebb9@byu.net>
25096
25097         test-popen-safer: split from test-popen
25098         * tests/test-popen.c (main): Move...
25099         * tests/test-popen.h: ...into new file.
25100         * tests/test-popen-safer2.c: New file.
25101         * modules/popen-tests (Files): Add test-popen.h.
25102         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
25103         Suggested by Bruno Haible.
25104
25105         test-fcntl-safer: split from test-open
25106         * tests/test-open.c (main): Move...
25107         * tests/test-open.h: ...into new file.
25108         * tests/test-fcntl-safer.c: New file.
25109         * modules/open-tests (Files): Add test-open.h.
25110         * modules/fcntl-safer-tests: New file.
25111         Suggested by Bruno Haible.
25112
25113         test-fopen-safer: split from test-fopen
25114         * tests/test-fopen.c (main): Move...
25115         * tests/test-fopen.h: ...into new file.
25116         * tests/test-fopen-safer.c: New file.
25117         * modules/fopen-tests (Files): Add test-fopen.h.
25118         * modules/fopen-safer-tests: New file.
25119         Suggested by Bruno Haible.
25120
25121 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25122
25123         popen-safer: test O_CLOEXEC at run-time.
25124         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
25125
25126 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25127
25128         fcntl: move more flags to the header
25129         * lib/cloexec.c: Do not define FD_CLOEXEC here.
25130         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
25131         * lib/fcntl.in.h: Do both things here.
25132
25133 2009-08-21  Jim Meyering  <meyering@redhat.com>
25134
25135         consistently remove $@-t before redirecting to it
25136         * modules/argz: Remove $@-t and $@ before redirecting to the former.
25137         * modules/alloca-opt: Likewise.
25138         * modules/byteswap: Likewise.
25139         * modules/fnmatch: Likewise.
25140         * modules/getopt-posix: Likewise.
25141         * modules/glob: Likewise.
25142         * modules/poll: Likewise.
25143         * modules/posix_spawnp-tests: Likewise.
25144         * modules/sys_socket: Likewise.
25145         * modules/sysexits: Likewise.
25146
25147 2009-08-21  Eric Blake  <ebb9@byu.net>
25148
25149         popen: simplify access to original popen
25150         * lib/popen.c (rpl_popen): No need to worry about popen being a
25151         macro.
25152         Reported by Bruno Haible.
25153
25154 2009-08-20  Eric Blake  <ebb9@byu.net>
25155
25156         build: avoid some compiler warnings
25157         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
25158         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
25159         type.
25160         (new_exclude_segment, excluded_file_pattern_p)
25161         (excluded_file_name_p): Reduce scope.
25162         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
25163         old-style declaration.
25164
25165 2009-08-20  Simon Josefsson  <simon@josefsson.org>
25166
25167         * tests/test-exclude1.sh: Handle Windows EOL.
25168         * tests/test-exclude2.sh: Likewise.
25169         * tests/test-exclude3.sh: Likewise.
25170         * tests/test-exclude4.sh: Likewise.
25171         * tests/test-exclude5.sh: Likewise.
25172         * tests/test-exclude6.sh: Likewise.
25173         * tests/test-exclude7.sh: Likewise.
25174
25175 2009-08-19  Akim Demaille  <demaille@gostai.com>
25176
25177         bootstrap: find sha1sum when named gsha1sum.
25178         * bootstrap (find_tool): New.
25179         ($SHA1SUM): New.
25180         Use it.
25181
25182 2009-08-20  Jim Meyering  <meyering@redhat.com>
25183
25184         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
25185         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
25186         expression that converts "." in a file name to "\." in the resulting
25187         regexp.  Start with a dummy statement, so that prior shell variable
25188         definitions are expanded portably.  Reported by Simon Josefsson.
25189
25190 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
25191
25192         Fix polling for writeability of a screen buffer.
25193         * lib/poll.c: Distinguish input and screen buffers for the
25194         Win32 implementation.
25195         * lib/select.c: Likewise.
25196
25197 2009-08-19  Eric Blake  <ebb9@byu.net>
25198
25199         popen-safer: prevent popen from clobbering std descriptors
25200         * modules/popen-safer: New file.
25201         * lib/popen-safer.c: Likewise.
25202         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
25203         * lib/stdio--.h (popen): Provide override.
25204         * lib/stdio-safer.h (popen_safer): Provide declaration.
25205         * tests/test-popen.c (includes): Partially test this.
25206         * modules/popen-safer-tests: New file, for more tests.
25207         * tests/test-popen-safer.c: Likewise.
25208         * MODULES.html.sh (file stream based Input/Output): Mention it.
25209
25210         tests: test some of the *-safer modules
25211         * modules/fopen-safer (Depends-on): Add fopen.
25212         * modules/fcntl-safer (Depends-on): Add fcntl.
25213         * modules/stdlib-safer (Depends-on): Add stdlib.
25214         (configure.ac): Set indicator.
25215         * modules/unistd-safer (configure.ac): Likewise.
25216         * modules/tmpfile-safer (configure.ac): Likewise.
25217         (Depends-on): Add tmpfile.
25218         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
25219         active.
25220         * tests/test-fopen.c (includes): Test safer versions when they are
25221         in use.
25222         * tests/test-open.c (includes): Likewise.
25223
25224         popen: fix cygwin 1.5 bug when stdin closed
25225         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
25226         * modules/popen: New file.
25227         * modules/popen-tests: Likewise.
25228         * tests/test-popen.c: Likewise.
25229         * m4/popen.m4: Likewise.
25230         * lib/popen.c: Likewise.
25231         * lib/stdio.in.h (popen): New declaration.
25232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
25233         * modules/stdio (Makefile.am): Likewise.
25234         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
25235
25236 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
25237
25238         maint.mk: give full control over update-copyright exclusions
25239         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
25240         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
25241         (update-copyright): Don't force inclusion of top-level
25242         ChangeLog.  Don't force exclusion of all COPYING files, but make
25243         them the default exclusion instead.
25244
25245 2009-08-16  Bruno Haible  <bruno@clisp.org>
25246
25247         Fix test failures on Solaris 10.
25248         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
25249         tests when Solaris iconv() is used.
25250         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
25251         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
25252         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
25253         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
25254         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
25255
25256 2009-08-16  Bruno Haible  <bruno@clisp.org>
25257
25258         Fix test failures on Solaris 10.
25259         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
25260         'tr' program and pass it as first argument.
25261         * tests/test-pipe-filter-gi1.sh: Likewise.
25262         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
25263         program as first argument.
25264         * tests/test-pipe-filter-gi1.c (main): Likewise.
25265
25266 2009-08-16  Eric Blake  <ebb9@byu.net>
25267
25268         fpurge: fix previous commits
25269         * modules/fpurge (Makefile.am): Make replacement conditional,
25270         partially reverting 2007-04-29 change; missed in previous
25271         attempt.
25272         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
25273         is missing.
25274
25275 2009-08-16  Bruno Haible  <bruno@clisp.org>
25276
25277         Clarify fpurge's effect on the file position.
25278         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
25279         * tests/test-fpurge.c (main): Make a second pass for checking the file
25280         position.
25281
25282 2009-08-16  Bruno Haible  <bruno@clisp.org>
25283
25284         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
25285         declaration of fpurge is missing.
25286         * tests/test-fpurge.c (main): Check that the file has not more contents
25287         than expected. Close the file before removing it.
25288
25289 2009-08-15  Eric Blake  <ebb9@byu.net>
25290
25291         fpurge: don't wrap working cygwin implementation
25292         * lib/fpurge.c (fpurge): Fix comment typo.
25293         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
25294         1.7 to avoid replacement.
25295         * tests/test-fpurge.c (main): Enhance test.
25296
25297 2009-08-15  Eric Blake  <ebb9@byu.net>
25298         and Jim Meyering  <meyering@redhat.com>
25299
25300         test-update-copyright: skip if perl is insufficient
25301         * tests/test-update-copyright.sh: Failure to run maintainer tool
25302         should not cause testsuite failure on cygwin 1.5.
25303
25304 2009-08-14  Eric Blake  <ebb9@byu.net>
25305
25306         doc: mention more functions added in cygwin 1.7.0
25307         * doc/posix-headers/limits.texi (limits.h): Update for recent
25308         cygwin additions.
25309         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
25310         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
25311         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
25312         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
25313         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
25314
25315 2009-08-14  Eric Blake  <ebb9@byu.net>
25316
25317         maint.mk: simplify update-copyright rule
25318         * top/maint.mk (update-copyright-local): Delete, and document how
25319         to do it in cfg.mk instead.
25320         (update-copyright-exclude-regexp): Delete, and document how to do
25321         it in .x-update-copyright instead.
25322         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
25323         exclude ChangeLog.
25324
25325 2009-08-14  Bruno Haible  <bruno@clisp.org>
25326
25327         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
25328
25329 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25330
25331         maint.mk: support update-copyright-env
25332         * top/maint.mk (update-copyright-env): Define place-holder.
25333         (update-copyright): Expand $(update-copyright-env) before
25334         invoking update-copyright.
25335
25336 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25337
25338         update-copyright: implement forced reformatting
25339         * build-aux/update-copyright: Implement and document
25340         UPDATE_COPYRIGHT_FORCE.
25341         * tests/test-update-copyright.sh: Test it.
25342
25343 2009-08-14  Eric Blake  <ebb9@byu.net>
25344         and Bruno Haible  <bruno@clisp.org>
25345
25346         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
25347         * tests/test-locale.c: Revert previous patch related to NULL.
25348         * tests/test-stdio.c: Likewise.
25349         * tests/test-stdlib.c: Likewise.
25350         * tests/test-string.c: Likewise.
25351         * tests/test-unistd.c: Likewise.
25352         * modules/time-tests (Depends-on): Add verify.
25353         * modules/wchar-tests (Depends-on): Likewise.
25354         * tests/test-time.c: Test for NULL compliance.
25355         * tests/test-wchar.c: Likewise.
25356         * modules/locale (Depends-on): Add stddef.
25357         * modules/stdio (Depends-on): Likewise.
25358         * modules/stdlib (Depends-on): Likewise.
25359         * modules/string (Depends-on): Likewise.
25360         * modules/time (Depends-on): Likewise.
25361         * modules/unistd (Depends-on): Likewise.
25362         * modules/wchar (Depends-on): Likewise.
25363         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
25364         * lib/stdlib.in.h (includes): Likewise.
25365         * lib/string.in.h (includes): Likewise.
25366         * lib/time.in.h (includes): Likewise.
25367         * lib/unistd.in.h (includes): Likewise.
25368         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
25369         replaced.
25370         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25371         * m4/stddef_h.m4: New file.
25372         * modules/stddef: Likewise.
25373         * lib/stddef.in.h: Likewise.
25374         * modules/stddef-tests: Likewise.
25375         * tests/test-stddef.c: Likewise.
25376         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
25377         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
25378         * doc/posix-headers/locale.texi (locale.h): Likewise.
25379         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
25380         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25381         * doc/posix-headers/string.texi (string.h): Likewise.
25382         * doc/posix-headers/time.texi (time.h): Likewise.
25383         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
25384         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
25385
25386 2009-08-14  Eric Blake  <ebb9@byu.net>
25387
25388         doc: improve git diff of texinfo files
25389         * .gitattributes: Add rule for *.texi files, with hint on how to
25390         use it.
25391         Copied from m4, and based on a report by Bruno Haible.
25392
25393 2009-08-14  Bruno Haible  <bruno@clisp.org>
25394
25395         Disable multithread support by default on Cygwin 1.5.x for real.
25396         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
25397
25398 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25399
25400         update-copyright: much ado about intervals
25401         * build-aux/update-copyright: Implement and document
25402         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
25403         of copyright year intervals.
25404         Also, document UPDATE_COPYRIGHT_YEAR.
25405         * tests/test-update-copyright.sh: Test it.
25406
25407         update-copyright: convert 2-digit to 4-digit years
25408         * build-aux/update-copyright: Implement and document.
25409         * tests/test-update-copyright.sh: Update.
25410
25411 2009-08-14  Jim Meyering  <meyering@redhat.com>
25412
25413         test-exclude: avoid coreutils "make check" failure
25414         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
25415         just as in test-argmatch.c.
25416
25417 2009-08-13  Eric Blake  <ebb9@byu.net>
25418
25419         test-dup2: fix bad assumption
25420         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
25421         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
25422
25423         test-version-etc: fix CRLF portability issue
25424         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
25425         recognize \r.
25426         * tests/test-argp-version-etc-1.sh: Likewise.
25427
25428         getopt: update client modules
25429         * modules/argp (Depends-on): Use getopt-gnu.
25430         * modules/git-merge-changelog (Depends-on): Likewise.
25431         * modules/long-options (Depends-on): Likewise.
25432         * modules/xstrtol (Depends-on): Likewise.
25433
25434 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25435
25436         * tests/test-version-etc.sh: Don't fail on different
25437         project/version.  Don't fail on CRLF differences.  Rewrite to use
25438         multiple -e instead of multiple sed forks, suggested by Eric Blake
25439         <ebb9@byu.net>.
25440         * tests/test-argp-version-etc-1.sh: Likewise.
25441
25442 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25443
25444         * tests/test-version-etc.sh: Don't fail on different
25445         project/version.
25446
25447 2009-08-12  Bruno Haible  <bruno@clisp.org>
25448
25449         Tests for modules 'getopt-posix', 'getopt-gnu'.
25450         * modules/getopt-posix-tests: New file.
25451         * tests/test-getopt.c: New file.
25452         * tests/test-getopt.h: New file.
25453         * tests/test-getopt_long.h: New file.
25454
25455         New modules 'getopt-posix', 'getopt-gnu'.
25456         * modules/getopt-gnu: New file, renamed from modules/getopt.
25457         * modules/getopt-posix: New file.
25458         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
25459         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
25460         (gl_GETOPT): Remove macro.
25461         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
25462         Disable the test against BSD systems that declare optreset. Test
25463         against mingw bug. Test against lack of support of optional arguments
25464         on many platforms.
25465         * doc/glibc-headers/getopt.texi: Update module name and list of
25466         relevant platforms.
25467         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
25468         'getopt-gnu' and more portability problems.
25469         * NEWS: Mention the changes.
25470
25471 2009-08-12  Bruno Haible  <bruno@clisp.org>
25472
25473         Ensure that optarg etc. get declared by <unistd.h>.
25474         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
25475         AC_USE_SYSTEM_EXTENSIONS.
25476         * modules/getopt (Depends-on): Add 'extensions'.
25477
25478 2009-08-12  Bruno Haible  <bruno@clisp.org>
25479
25480         Avoid test link errors.
25481         * modules/pipe-filter-ii-tests (Makefile.am): Define
25482         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
25483         * modules/pipe-filter-gi-tests (Makefile.am): Define
25484         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
25485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25486
25487 2009-08-12  Bruno Haible  <bruno@clisp.org>
25488
25489         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
25490         gl_GETOPT_SUBSTITUTE before.
25491         (gl_GETOPT): Use it.
25492         * m4/argp.m4 (gl_ARGP): Update.
25493         Reported by Sergey Poznyakoff.
25494
25495         * m4/getopt.m4: Reorder macros.
25496         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
25497         (gl_GETOPT_SUBSTITUTE): Remove macro.
25498
25499 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25500
25501         Minor improvement in gitlog-to-changelog
25502
25503         * build-aux/gitlog-to-changelog: New option `--format' makes
25504         output format string configurable.
25505
25506 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25507
25508         Optimize exclude: use hash tables for non-wildcard patterns.
25509
25510         * lib/exclude.c: Include hash.h and mbuiter.h
25511         (struct exclude_pattern, exclude_segment): New data types.
25512         (struct exclude): Rewrite.
25513         (fnmatch_pattern_has_wildcards): New function.
25514         (new_exclude_segment, free_exclude_segment): New functions.
25515         (excluded_file_pattern_p, excluded_file_name_p): New functions.
25516         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
25517         * lib/exclude.h (is_fnmatch_pattern): New prototype.
25518         * modules/exclude: Depend on hash and mbuiter.
25519
25520         * modules/exclude-tests: New file.
25521         * tests/test-exclude.c: New file.
25522         * tests/test-exclude1.sh: New file.
25523         * tests/test-exclude2.sh: New file.
25524         * tests/test-exclude3.sh: New file.
25525         * tests/test-exclude4.sh: New file.
25526         * tests/test-exclude5.sh: New file.
25527         * tests/test-exclude6.sh: New file.
25528         * tests/test-exclude7.sh: New file.
25529
25530 2009-08-12  Bruno Haible  <bruno@clisp.org>
25531
25532         Ensure that getopt() gets declared by <unistd.h>.
25533         * lib/unistd.in.h: Conditionally include getopt.h.
25534         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
25535         Set GNULIB_UNISTD_H_GETOPT.
25536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25537         GNULIB_UNISTD_H_GETOPT.
25538         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
25539
25540 2009-08-12  Bruno Haible  <bruno@clisp.org>
25541
25542         Clarify logic.
25543         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
25544         gl_replace_getopt instead of GETOPT_H.
25545
25546 2009-08-12  Bruno Haible  <bruno@clisp.org>
25547
25548         * m4/getopt.m4: Add comments.
25549
25550 2009-08-12  Bruno Haible  <bruno@clisp.org>
25551
25552         Disable multithread support by default on Cygwin 1.5.x.
25553         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
25554         set gl_use_threads=no if not specified otherwise.
25555
25556 2009-08-11  Bruno Haible  <bruno@clisp.org>
25557
25558         Avoid compilation error on NetBSD 5.0.
25559         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
25560         * tests/test-stdio.c: Likewise.
25561         * tests/test-stdlib.c: Likewise.
25562         * tests/test-string.c: Likewise.
25563         * tests/test-unistd.c: Likewise.
25564         Reported by Greg Troxel <gdt@ir.bbn.com>
25565         at <https://savannah.gnu.org/support/?106973>.
25566
25567 2009-08-11  Bruno Haible  <bruno@clisp.org>
25568
25569         * modules/dup2-tests (Depends-on): Remove close.
25570
25571         Undo 2009-07-19 commit.
25572         * modules/acl-tests (Depends-on): Remove close.
25573         * modules/binary-io-tests (Depends-on): Likewise.
25574         * modules/closein-tests (Depends-on): Likewise.
25575         * modules/flock-tests (Depends-on): Likewise.
25576         * modules/fsync-tests (Depends-on): Likewise.
25577         * modules/lseek-tests (Depends-on): Likewise.
25578         * modules/pipe-tests (Depends-on): Likewise.
25579         * modules/posix_spawn-tests (Depends-on): Likewise.
25580         * modules/posix_spawnp-tests (Depends-on): Likewise.
25581         * modules/stat-time-tests (Depends-on): Likewise.
25582         * modules/yesno-tests (Depends-on): Likewise.
25583
25584 2009-08-10  Bruno Haible  <bruno@clisp.org>
25585
25586         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
25587
25588 2009-08-10  Bruno Haible  <bruno@clisp.org>
25589
25590         Fix a gcc warning.
25591         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
25592
25593 2009-08-10  Bruno Haible  <bruno@clisp.org>
25594
25595         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
25596         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
25597         not only the first time.
25598         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
25599         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
25600         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
25601         is 1, not only the the first time.
25602
25603 2009-08-10  Bruno Haible  <bruno@clisp.org>
25604
25605         Make it possible to use module 'gethostname' without module 'close'.
25606         * lib/unistd.in.h (close): Evoke a link error only if
25607         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25609         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25610         * modules/unistd (Makefile.am): Substitute
25611         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25612         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
25613         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25614         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25615         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25616         * modules/sys_ioctl (Makefile.am): Substitute
25617         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25618         * modules/socket (configure.ac): On native Windows, set
25619         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
25620         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25621         Reported by Sam Steingold <sds@gnu.org>.
25622
25623 2009-08-10  Bruno Haible  <bruno@clisp.org>
25624
25625         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
25626         * modules/ioctl (configure.ac): Likewise.
25627
25628 2009-08-10  Bruno Haible  <bruno@clisp.org>
25629
25630         Avoid collision between gnulib wrapper and libintl wrapper.
25631         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
25632         already defined in intl/printf.c.
25633         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
25634         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
25635
25636 2009-08-09  Bruno Haible  <bruno@clisp.org>
25637
25638         Make <sys/select.h> really self-contained, also on Solaris 10.
25639         * lib/sys_select.in.h: Include <string.h>.
25640         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
25641         Solaris 10 problem.
25642         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
25643         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
25644         Reported by Jim Meyering.
25645
25646 2009-08-09  Bruno Haible  <bruno@clisp.org>
25647
25648         Avoid warnings from 'aclocal' that are due to a use of macro name
25649         AM_XGETTEXT_OPTION that is not defined in automake.
25650         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
25651         automake.
25652         * modules/error (configure.ac): Likewise.
25653         * modules/propername (configure.ac): Likewise.
25654         * modules/vasprintf (configure.ac): Likewise.
25655         * modules/verror (configure.ac): Likewise.
25656         * modules/xprintf (configure.ac): Likewise.
25657         * modules/xvasprintf (configure.ac): Likewise.
25658
25659 2009-08-08  Bruno Haible  <bruno@clisp.org>
25660
25661         Avoid compilation error in C++ mode.
25662         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
25663         Reported by Sam Steingold <sds@gnu.org>.
25664
25665 2009-08-08  Bruno Haible  <bruno@clisp.org>
25666
25667         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
25668         for the various Unix platforms.
25669         * doc/posix-headers/limits.texi: Update platforms list regarding
25670         HOST_NAME_MAX.
25671         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25672
25673 2009-08-07  Jim Meyering  <meyering@redhat.com>
25674
25675         selinux-at: fix typo in a comment
25676         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
25677         Spotted by Paolo Bonzini.
25678
25679         selinux-at: remove redundant m4 code, add documentation
25680         * modules/selinux-at (configure.ac): Remove redundant code.
25681         LIB_SELINUX is already set via the dependent module, selinux-h.
25682         (Include): Add quotes around selinux-at.h.
25683         * lib/selinux-at.h: Add documentation.
25684         Reported by Bruno Haible in
25685         http://marc.info/?l=gnulib-bug&m=124958988300749
25686
25687 2009-08-07  Bruno Haible  <bruno@clisp.org>
25688
25689         Avoid link error on MacOS X 10.3 and 10.4.
25690         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25691         on non-ELF systems.
25692         * lib/argp-pv.c (argp_program_version): Likewise.
25693         Reported by Simon Josefsson.
25694
25695 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25696
25697         * tests/test-version-etc.sh: Use $EXEEXT.
25698
25699 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25700
25701         update-copyright: update documentation to point to maint.mk
25702         * build-aux/update-copyright: Here.
25703
25704 2009-08-06  Jim Meyering  <meyering@redhat.com>
25705
25706         maint.mk: support update-copyright-local
25707         * top/maint.mk (update-copyright-local): Define place-holder.
25708         (update-copyright): Depend on $(update-copyright-local).
25709
25710 2009-08-06  Jim Meyering  <meyering@redhat.com>
25711
25712         selinux-at: new module
25713         Initially written for coreutils, this module will soon be
25714         used by findutils, too.
25715         * MODULES.html.sh [Misc]: Add selinux-at.
25716         * lib/selinux-at.h: New file, from coreutils.
25717         * lib/selinux-at.c: Likewise.
25718         * modules/selinux-at: Likewise.
25719         (License): Change from LGPL to GPL, since it depends
25720         on the GPL'd openat module.
25721
25722         doc: update README
25723         * README: Remove references to cogito.
25724         Remove cvs-repo-updating instructions from 2007.
25725         Don't imply that CVS is better if you have limited disk space.
25726
25727 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25728
25729         update-copyright: support C-style comments
25730         * build-aux/update-copyright: Implement and document.
25731         * tests/test-update-copyright.sh: Test.
25732
25733 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25734
25735         update-copyright: support omitted "(C)"
25736         * build-aux/update-copyright: Implement and document.  Also,
25737         allow variable whitespace before "(C)".
25738         * tests/test-update-copyright.sh: Test.
25739
25740 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25741
25742         update-copyright: don't trip on non-FSF copyright statements
25743         * build-aux/update-copyright: Fix so that the first correctly
25744         formatted FSF copyright statement is recognized no matter what
25745         appears before it.  Update documentation.
25746         * tests/test-update-copyright.sh: Test that.
25747
25748 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25749
25750         update-copyright: clean up code a little
25751         * build-aux/update-copyright: Append "_re" to the name of any
25752         variable holding a regular expression.
25753         Replace "old" and "new" with "stmt" in variable names.
25754         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25755         handled correctly.
25756         Format code more consistently.
25757
25758 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25759
25760         update-copyright-tests: improve portability
25761         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25762         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25763
25764 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25765
25766         update-copyright: support @copyright{} and &copy;
25767         * build-aux/update-copyright: Implement and document.
25768         * tests/test-update-copyright.sh: Test.
25769
25770 2009-08-04  Jim Meyering  <meyering@redhat.com>
25771
25772         update-copyright-tests: correctly test EOL=\r\n handling
25773         * tests/test-update-copyright.sh: Put \r at the end of some lines
25774         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25775
25776         maint.mk: make update-copyright exclusion list more configurable
25777         * top/maint.mk (update-copyright): Default to excluding COPYING,
25778         but allow an override, in case someone does want to update that file.
25779
25780         maint.mk: don't update copyright date in COPYING
25781         * top/maint.mk (update-copyright): Exclude COPYING.
25782
25783         maint.mk: add a copyright-updating rule
25784         * top/maint.mk (update-copyright): New rule.
25785         Derived from coreutils/Makefile.am.
25786
25787         update-copyright: rename some variables
25788         * build-aux/update-copyright: Rename a few variables for clarity.
25789         Tweak syntax.  List Joel E. Denny as coauthor.
25790
25791 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25792
25793         update-copyright: fix bug for 2-digit last year and add tests
25794         * build-aux/update-copyright: Fix bug.
25795         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25796         specified.
25797         * modules/update-copyright-tests: New
25798         * tests/test-update-copyright.sh: New.
25799
25800 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25801
25802         update-copyright: handle leading tabs in line prefix
25803         * build-aux/update-copyright: Count leading tabs as 8 spaces
25804         when computing margin.  This helps with the formatting of
25805         ChangeLogs, for example.
25806         Fix documentation a little.
25807
25808 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25809
25810         update-copyright: support EOL=\r\n
25811         * build-aux/update-copyright: Implement that.
25812
25813 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25814
25815         update-copyright: automatically format copyright statements
25816         * build-aux/update-copyright: Implement that.
25817         Also, be a little more predictable and safer by always failing
25818         when the full copyright format is not perfectly recognized as an
25819         unbroken whole.  Discussed at
25820         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25821         Rewrite documentation.
25822
25823 2009-08-03  Bruno Haible  <bruno@clisp.org>
25824
25825         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25826
25827 2009-08-02  Bruno Haible  <bruno@clisp.org>
25828
25829         Tests for module 'uname'.
25830         * modules/uname-tests: New file.
25831         * tests/test-uname.c: New file.
25832
25833         New module 'uname'.
25834         * lib/uname.c: New file.
25835         * m4/uname.m4: New file.
25836         * modules/uname: New file.
25837         * doc/posix-functions/uname.texi: Mention the new module.
25838
25839 2009-08-02  Bruno Haible  <bruno@clisp.org>
25840
25841         Tests for module 'sys_utsname'.
25842         * modules/sys_utsname-tests: New file.
25843         * tests/test-sys_utsname.c: New file.
25844
25845         New module 'sys_utsname'.
25846         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25847         * m4/sys_utsname_h.m4: New file.
25848         * modules/sys_utsname: New file.
25849         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25850
25851 2009-08-02  Bruno Haible  <bruno@clisp.org>
25852
25853         Implicitly initialize the sockets library.
25854         * lib/gethostname.c: Include sockets.h.
25855         (rpl_gethostname): Invoke gl_sockets_startup.
25856         * lib/socket.c: Include sockets.h.
25857         (rpl_socket): Invoke gl_sockets_startup.
25858         * modules/gethostname (Depends-on): Add sockets.
25859         * modules/socket (Depends-on): Likewise.
25860         * tests/test-poll.c: Don't include sockets.h.
25861         (main): Don't invoke gl_sockets_startup.
25862         * tests/test-select.c: Don't include sockets.h.
25863         (main): Don't invoke gl_sockets_startup.
25864
25865 2009-08-02  Bruno Haible  <bruno@clisp.org>
25866
25867         Allow multiple calls to gl_sockets_startup.
25868         * lib/sockets.c (initialized_sockets_version): New variable.
25869         (gl_sockets_startup): Do nothing if already called for this or a higher
25870         version.
25871         (gl_sockets_cleanup): Reset initialized_sockets_version.
25872
25873 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25874
25875         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25876         different project/version.
25877
25878 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25879             Bruno Haible  <bruno@clisp.org>
25880
25881         Tests for module 'pipe-filter-gi'.
25882         * modules/pipe-filter-gi-tests: New file.
25883         * tests/test-pipe-filter-gi1.sh: New file.
25884         * tests/test-pipe-filter-gi1.c: New file.
25885         * tests/test-pipe-filter-gi2.sh: New file.
25886         * tests/test-pipe-filter-gi2-main.c: New file.
25887         * tests/test-pipe-filter-gi2-child.c: New file.
25888
25889         New module 'pipe-filter-gi'.
25890         * lib/pipe-filter-gi.c: New file.
25891         * modules/pipe-filter-gi: New file.
25892
25893 2009-08-02  Bruno Haible  <bruno@clisp.org>
25894             Paolo Bonzini  <bonzini@gnu.org>
25895
25896         Tests for module 'pipe-filter-ii'.
25897         * modules/pipe-filter-ii-tests: New file.
25898         * tests/test-pipe-filter-ii1.sh: New file.
25899         * tests/test-pipe-filter-ii1.c: New file.
25900         * tests/test-pipe-filter-ii2.sh: New file.
25901         * tests/test-pipe-filter-ii2-main.c: New file.
25902         * tests/test-pipe-filter-ii2-child.c: New file.
25903
25904         New module 'pipe-filter-ii'.
25905         * lib/pipe-filter.h: New file.
25906         * lib/pipe-filter-ii.c: New file.
25907         * lib/pipe-filter-aux.h: New file.
25908         * modules/pipe-filter-ii: New file.
25909
25910 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25911
25912         * lib/gc-libgcrypt.c: Change copyright to FSF.
25913         * lib/gc-gnulib.c: Likewise.
25914
25915 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25916
25917         * lib/gethostname.c: Include limits.h.
25918
25919 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25920             Bruno Haible  <bruno@clisp.org>
25921
25922         Ensure HOST_NAME_MAX as part of the gethostname module.
25923         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
25924         define also HOST_NAME_MAX.
25925         * tests/test-gethostname.c: Include <limits.h>.
25926         (main): Check also HOST_NAME_MAX.
25927         * doc/posix-headers/limits.texi: Document the mingw problem.
25928
25929 2009-08-02  Bruno Haible  <bruno@clisp.org>
25930
25931         * lib/gethostname.c (gethostname): Fix handling of large len argument.
25932         Add comments.
25933
25934 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25935
25936         * lib/gethostname.c: Add Windows wrapper.
25937         * m4/gethostname.m4: Look for gethostname in -lws2_32.
25938         * modules/gethostname: Depend on sys_socket & errno, for also
25939         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
25940         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
25941
25942 2009-07-31  Jim Meyering  <meyering@redhat.com>
25943
25944         getloadavg: fix symbol name in comment
25945         * lib/getloadavg.c: Correct a typo I introduced when adding
25946         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
25947         Matt Kraai spotted the problem.
25948
25949 2009-07-29  Matt Kraai  <mkraai@beckman.com>
25950
25951         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
25952         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
25953         code also if ! defined N_NAME_POINTER.
25954         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
25955         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
25956         but the n_name member is a 12-byte array.
25957
25958 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
25959
25960         update-copyright: generalize comment handling
25961         * build-aux/update-copyright: Handle copyright statements
25962         within more comment styles.
25963         Document usage.
25964         Report any file with an external copyright holder or parse failure.
25965
25966 2009-07-29  Jim Meyering  <meyering@redhat.com>
25967
25968         mktime: correct setting of REPLACE_MKTIME
25969         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
25970
25971         update-copyright: new module
25972         * modules/update-copyright: New file.
25973         * build-aux/update-copyright: New file.
25974         * MODULES.html.sh (maint+release support): Add update-copyright.
25975
25976 2009-07-27  Bruno Haible  <bruno@clisp.org>
25977
25978         Fix compilation error when <ctime> is used and mktime is replaced.
25979         * lib/time.in.h (mktime): New declaration.
25980         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
25981         REPLACE_MKTIME instead of defining mktime in config.h.
25982         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
25983         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
25984         Reported by Ross McFarland <rwmcfa1@neces.com>.
25985
25986 2009-07-27  Bruno Haible  <bruno@clisp.org>
25987
25988         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
25989         Reported by Matt Kraai <mkraai@beckman.com>.
25990
25991 2009-07-25  Jim Meyering  <meyering@redhat.com>
25992
25993         maint.mk: avoid warnings about missing files
25994         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
25995         diagnostic when .prev-version does not exist.
25996         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
25997         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
25998         nonexistent cfg.mk.
25999         Suggestions from Simon Josefsson.
26000
26001 2009-07-25  Bruno Haible  <bruno@clisp.org>
26002
26003         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
26004         defined as macros. Needed on QNX 6.4.1.
26005         Reported by Matt Kraai <mkraai@beckman.com>.
26006
26007 2009-07-23  Jim Meyering  <meyering@redhat.com>
26008
26009         maint.mk: invoke "make dist" with a working value of XZ_OPT
26010         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
26011
26012 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
26013
26014         Make fseeko.c compile on QNX.
26015         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
26016
26017 2009-07-22  Peter Simons  <simons@cryp.to>
26018
26019         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
26020         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
26021         * lib/md4.h: Likewise.
26022         * lib/md5.h: Likewise.
26023         * lib/sha1.h: Likewise.
26024         * lib/sha256.h: Likewise.
26025         * lib/sha512.h: Likewise.
26026
26027         tests-sha1: don't assign literal string to 'char *' variable
26028         * tests/test-sha1.c (main): Declare locals with "const" to match
26029         attributes of the right hand side.
26030
26031 2009-07-21  Eric Blake  <ebb9@byu.net>
26032
26033         dup2: fix more mingw problems
26034         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
26035         fd to itself.
26036         * doc/posix-functions/dup2.texi (dup2): Document the bug.
26037         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
26038         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
26039         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
26040         care of mingw bugs.
26041
26042 2009-07-21  Jim Meyering  <meyering@redhat.com>
26043
26044         vc-list-files: avoid failure when /bin/sh is dash
26045         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
26046         On some Debian based systems, /bin/sh is a symlink to dash, and running
26047         this command would omit the "/" following each 'tests' prefix:
26048           dash -x build-aux/vc-list-files -C . tests
26049         That is because bash and dash work differently:
26050           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
26051           bash ok
26052           dash odd
26053
26054 2009-07-21  Eric Blake  <ebb9@byu.net>
26055
26056         dup2-tests: test previous patch
26057         * modules/dup2-tests: New file.
26058         * tests/test-dup2.c: Likewise.
26059         * tests/test-open.c (main): Avoid unspecified behavior.
26060         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
26061         test.
26062
26063         dup2: work around mingw and cygwin 1.5 bug
26064         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
26065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26066         * modules/unistd (Makefile.am): Substitute it.
26067         * lib/unistd.in.h (dup2): Declare the replacement.
26068         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
26069         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
26070         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
26071         * modules/execute (Depends-on): Add dup2.
26072         * modules/fseterr (Depends-on): Likewise.
26073         * modules/pipe (Depends-on): Likewise.
26074         * modules/posix_spawn-internal (Depends-on): Likewise.
26075
26076 2009-07-21  Bruno Haible  <bruno@clisp.org>
26077
26078         * modules/.gitattributes: New file.
26079
26080 2009-07-20  Bruno Haible  <bruno@clisp.org>
26081
26082         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
26083         (main): Use it.
26084
26085 2009-07-20  Eric Blake  <ebb9@byu.net>
26086
26087         test-pipe: make a bit more robust.
26088         * tests/test-pipe.c (myerr): Allow error messages regardless of
26089         what we do to stderr.
26090         (test_pipe): Rearrange to avoid deadlock.
26091         (child_main): Try a larger read, to ensure we avoided deadlock.
26092         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
26093         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
26094         if misused.
26095
26096 2009-07-19  Jim Meyering  <meyering@redhat.com>
26097
26098         fts: avoid false-positive cycle-detection
26099         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
26100         for each new command line argument.
26101
26102 2009-07-19  Bruno Haible  <bruno@clisp.org>
26103
26104         Fix build error on mingw with the modules sys_select and unistd.
26105         * modules/acl-tests (Depends-on): Add close.
26106         * modules/binary-io-tests (Depends-on): Likewise.
26107         * modules/closein-tests (Depends-on): Likewise.
26108         * modules/flock-tests (Depends-on): Likewise.
26109         * modules/fsync-tests (Depends-on): Likewise.
26110         * modules/lseek-tests (Depends-on): Likewise.
26111         * modules/pipe-tests (Depends-on): Likewise.
26112         * modules/posix_spawn-tests (Depends-on): Likewise.
26113         * modules/posix_spawnp-tests (Depends-on): Likewise.
26114         * modules/stat-time-tests (Depends-on): Likewise.
26115         * modules/yesno-tests (Depends-on): Likewise.
26116
26117 2009-07-19  Bruno Haible  <bruno@clisp.org>
26118
26119         Unify conditionals.
26120         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
26121         macros, not at the compiler macros.
26122         * lib/pipe.c: Likewise.
26123         * lib/execute.c: Likewise.
26124         * lib/spawni.c: Likewise.
26125
26126 2009-07-19  Bruno Haible  <bruno@clisp.org>
26127
26128         Fix handling of closed stdin/stdout/stderr on mingw.
26129         * lib/w32spawn.h: Include unistd.h.
26130         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
26131         file descriptor with O_NOINHERIT flag.
26132         (fd_safer_noinherit): New function, based on fd-safer.c.
26133         (dup_safer_noinherit): New function, based on dup-safer.c.
26134         (undup_safer_noinherit): New function.
26135         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
26136         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
26137         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
26138         instead of fd_safer.
26139         * tests/test-pipe.c: Include <windows.h>.
26140         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
26141
26142         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
26143         from main.
26144         (test_pipe): Pass an extra argument for disambiguation.
26145         (main): Invoke parent_main or child_main.
26146
26147         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
26148         consistently.
26149
26150 2009-07-18  Eric Blake  <ebb9@byu.net>
26151
26152         test-pipe: fix mingw build
26153         * tests/test-pipe.c (main): Avoid fcntl on mingw.
26154
26155 2009-07-18  Bruno Haible  <bruno@clisp.org>
26156
26157         * modules/pipe-tests (Makefile.am): Fix typo.
26158
26159 2009-07-18  Eric Blake  <ebb9@byu.net>
26160
26161         error: fix mingw build
26162         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
26163         Reported by Bruno Haible.
26164
26165         error: avoid undefined use of stdout
26166         * lib/error.c (error, error_at_line): Check that fd 1 is open
26167         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
26168         is handling faults and the close_stdout module wants to report the
26169         detection of closed stdout as an error.
26170
26171 2009-07-17  Eric Blake  <ebb9@byu.net>
26172
26173         pipe: be robust in face of closed fds
26174         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
26175         should cause child to misbehave.
26176         * modules/pipe-tests: New module.
26177         * tests/test-pipe.c: New file.
26178         * tests/test-pipe.sh: New file.
26179         Reported by Akim Demaille.
26180
26181 2009-07-14  Bruno Haible  <bruno@clisp.org>
26182
26183         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
26184         Reported by anonymous kc.
26185
26186 2009-07-07  Jim Meyering  <meyering@redhat.com>
26187
26188         maint.mk: don't look for translatable strings in *.m4 or *.mk
26189         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
26190         when searching for translatable strings.
26191
26192 2009-07-05  Jim Meyering  <meyering@redhat.com>
26193
26194         remove superfluous parentheses in STREQ definition
26195         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
26196         * lib/getugroups.c (STREQ): Likewise.
26197         * lib/fnmatch.c (STREQ): Likewise.
26198         Spotted by Bruno Haible.
26199
26200 2009-07-04  Jim Meyering  <meyering@redhat.com>
26201
26202         argv-iter: new module
26203         * MODULES.html.sh: Add argv-iter.
26204         * lib/argv-iter.c, lib/argv-iter.h: New files.
26205         * modules/argv-iter: New file.
26206         * modules/argv-iter-tests: New file.
26207         * tests/test-argv-iter.c: Test it.
26208
26209 2009-07-04  Bruno Haible  <bruno@clisp.org>
26210
26211         Fix assertion.
26212         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
26213         contains more exact copies of a given entry than file2, leave the extra
26214         copies unpaired rather than aborting.
26215         Reported by Eric Blake.
26216
26217 2009-07-02  Bruno Haible  <bruno@clisp.org>
26218
26219         Speedup git-merge-changelog for git cherry-pick.
26220         * lib/git-merge-changelog.c (struct entries_mapping): New type.
26221         (entries_mapping_get): New function, extracted from compute_mapping.
26222         (entries_mapping_reverse_get): New function.
26223         (compute_mapping): Add a 'full' argument. Return the result in a
26224         'struct entries_mapping'.
26225         (main): Update. Access the mappings through entries_mapping_get.
26226         Reported by Eric Blake.
26227
26228 2009-07-02  Bruno Haible  <bruno@clisp.org>
26229
26230         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
26231         best_i.
26232
26233 2009-07-02  Bruno Haible  <bruno@clisp.org>
26234
26235         Speed up approximate search for matching ChangeLog entries.
26236         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
26237         argument. Call fstrcmp_bounded instead of fstrcmp.
26238         (compute_mapping, try_split_merged_entry, main): Update callers.
26239
26240 2009-07-02  Bruno Haible  <bruno@clisp.org>
26241
26242         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
26243
26244 2009-06-30  Bruno Haible  <bruno@clisp.org>
26245
26246         Reduce the number of uc_is_cased calls.
26247         * lib/unicase.h (casing_suffix_context_t): Add
26248         'first_char_except_ignorable' field.
26249         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
26250         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
26251         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
26252         Update initializer.
26253         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
26254         case-ignorable characters.
26255         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
26256         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
26257         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
26258         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
26259         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
26260
26261 2009-06-30  Bruno Haible  <bruno@clisp.org>
26262
26263         Tests for module 'unicase/ignorable'.
26264         * modules/unicase/ignorable-tests: New file.
26265         * tests/unicase/test-ignorable.c: New file, generated by
26266         gen-uni-tables.
26267
26268         Tests for module 'unicase/cased'.
26269         * modules/unicase/cased-tests: New file.
26270         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
26271         * tests/unicase/test-predicate-part1.h: New file, derived from
26272         tests/unictype/test-predicate-part1.h.
26273         * tests/unicase/test-predicate-part2.h: New file, same as
26274         tests/unictype/test-predicate-part2.h.
26275
26276         Fix evaluation of "Before C" condition of FINAL_SIGMA.
26277         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
26278         (output_casing_properties): New function.
26279         (main): Call it.
26280         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
26281         * lib/unicase/cased.c: Include unictype/bitmap.h.
26282         (uc_is_cased): Define through a bitmap lookup.
26283         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
26284         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
26285         (uc_is_case_ignorable): Define through a bitmap lookup.
26286         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
26287         lib/unictype/bitmap.h.
26288         (Depends-on): Add inline. Clean up.
26289         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
26290         lib/unictype/bitmap.h.
26291         (Depends-on): Add inline. Clean up.
26292         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
26293         recognition.
26294         * tests/unicase/test-u16-tolower.c (main): Likewise.
26295         * tests/unicase/test-u32-tolower.c (main): Likewise.
26296
26297 2009-06-30  Bruno Haible  <bruno@clisp.org>
26298
26299         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
26300         * lib/unicase/u16-casemap.c: Likewise.
26301         * lib/unicase/u32-casemap.c: Likewise.
26302
26303 2009-06-29  Bruno Haible  <bruno@clisp.org>
26304
26305         Define u32_casefold as a wrapper around u32_ct_casefold.
26306         * lib/unicase/u32-casefold.c: Update.
26307         * modules/unicase/u32-casefold (Depends-on): Add
26308         unicase/u32-ct-casefold, unicase/empty-prefix-context,
26309         unicase/empty-suffix-context. Clean up.
26310
26311         Define u16_casefold as a wrapper around u16_ct_casefold.
26312         * lib/unicase/u16-casefold.c: Update.
26313         * modules/unicase/u16-casefold (Depends-on): Add
26314         unicase/u16-ct-casefold, unicase/empty-prefix-context,
26315         unicase/empty-suffix-context. Clean up.
26316
26317         Define u8_casefold as a wrapper around u8_ct_casefold.
26318         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
26319         * lib/unicase/u8-casefold.c: Update.
26320         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
26321         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26322
26323         Define u32_totitle as a wrapper around u32_ct_totitle.
26324         * lib/unicase/u32-totitle.c: Update.
26325         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
26326         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26327
26328         Define u16_totitle as a wrapper around u16_ct_totitle.
26329         * lib/unicase/u16-totitle.c: Update.
26330         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
26331         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26332
26333         Define u8_totitle as a wrapper around u8_ct_totitle.
26334         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
26335         functions.
26336         (FUNC): Delegate to U_CT_TOTITLE.
26337         * lib/unicase/u8-totitle.c: Update.
26338         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
26339         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26340
26341         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
26342         invocation.
26343         * modules/unicase/u32-tolower (Depends-on): Add
26344         unicase/empty-prefix-context, unicase/empty-suffix-context.
26345
26346         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
26347         invocation.
26348         * modules/unicase/u16-tolower (Depends-on): Add
26349         unicase/empty-prefix-context, unicase/empty-suffix-context.
26350
26351         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
26352         * modules/unicase/u8-tolower (Depends-on): Add
26353         unicase/empty-prefix-context, unicase/empty-suffix-context.
26354
26355         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
26356         invocation.
26357         * modules/unicase/u32-toupper (Depends-on): Add
26358         unicase/empty-prefix-context, unicase/empty-suffix-context.
26359
26360         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
26361         invocation.
26362         * modules/unicase/u16-toupper (Depends-on): Add
26363         unicase/empty-prefix-context, unicase/empty-suffix-context.
26364
26365         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
26366         * modules/unicase/u8-toupper (Depends-on): Add
26367         unicase/empty-prefix-context, unicase/empty-suffix-context.
26368
26369         New module 'unicase/u32-ct-casefold'.
26370         * lib/unicase/u32-ct-casefold.c: New file.
26371         * modules/unicase/u32-ct-casefold: New file.
26372
26373         New module 'unicase/u16-ct-casefold'.
26374         * lib/unicase/u16-ct-casefold.c: New file.
26375         * modules/unicase/u16-ct-casefold: New file.
26376
26377         New module 'unicase/u8-ct-casefold'.
26378         * lib/unicase/u8-ct-casefold.c: New file.
26379         * lib/unicase/u-ct-casefold.h: New file, derived from
26380         lib/unicase/u-casefold.h.
26381         * modules/unicase/u8-ct-casefold: New file.
26382
26383         New module 'unicase/u32-ct-totitle'.
26384         * lib/unicase/u32-ct-totitle.c: New file.
26385         * modules/unicase/u32-ct-totitle: New file.
26386
26387         New module 'unicase/u16-ct-totitle'.
26388         * lib/unicase/u16-ct-totitle.c: New file.
26389         * modules/unicase/u16-ct-totitle: New file.
26390
26391         New module 'unicase/u8-ct-totitle'.
26392         * lib/unicase/u8-ct-totitle.c: New file.
26393         * lib/unicase/u-ct-totitle.h: New file, derived from
26394         lib/unicase/u-totitle.h.
26395         * modules/unicase/u8-ct-totitle: New file.
26396
26397         New module 'unicase/u32-ct-tolower'.
26398         * lib/unicase/u32-ct-tolower.c: New file.
26399         * modules/unicase/u32-ct-tolower: New file.
26400
26401         New module 'unicase/u16-ct-tolower'.
26402         * lib/unicase/u16-ct-tolower.c: New file.
26403         * modules/unicase/u16-ct-tolower: New file.
26404
26405         New module 'unicase/u8-ct-tolower'.
26406         * lib/unicase/u8-ct-tolower.c: New file.
26407         * modules/unicase/u8-ct-tolower: New file.
26408
26409         New module 'unicase/u32-ct-toupper'.
26410         * lib/unicase/u32-ct-toupper.c: New file.
26411         * modules/unicase/u32-ct-toupper: New file.
26412
26413         New module 'unicase/u16-ct-toupper'.
26414         * lib/unicase/u16-ct-toupper.c: New file.
26415         * modules/unicase/u16-ct-toupper: New file.
26416
26417         New module 'unicase/u8-ct-toupper'.
26418         * lib/unicase/u8-ct-toupper.c: New file.
26419         * modules/unicase/u8-ct-toupper: New file.
26420
26421         Add context arguments to u*_casemap functions.
26422         * lib/unicase/unicasemap.h: Include unicase.h.
26423         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
26424         suffix_context arguments.
26425         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
26426         functions.
26427         (FUNC): Add prefix_context and suffix_context arguments. Use
26428         uc_is_cased and uc_is_case_ignorable.
26429         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
26430         * lib/unicase/u16-casemap.c: Likewise.
26431         * lib/unicase/u32-casemap.c: Likewise.
26432         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
26433         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26434         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
26435         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26436         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
26437         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26438
26439         New module 'unicase/u32-suffix-context'.
26440         * lib/unicase/u32-suffix-context.c: New file.
26441         * modules/unicase/u32-suffix-context: New file.
26442
26443         New module 'unicase/u16-suffix-context'.
26444         * lib/unicase/u16-suffix-context.c: New file.
26445         * modules/unicase/u16-suffix-context: New file.
26446
26447         New module 'unicase/u8-suffix-context'.
26448         * lib/unicase/u8-suffix-context.c: New file.
26449         * lib/unicase/u-suffix-context.h: New file.
26450         * modules/unicase/u8-suffix-context: New file.
26451
26452         New module 'unicase/empty-suffix-context'.
26453         * lib/unicase/empty-suffix-context.c: New file.
26454         * modules/unicase/empty-suffix-context: New file.
26455
26456         New module 'unicase/u32-prefix-context'.
26457         * lib/unicase/u32-prefix-context.c: New file.
26458         * modules/unicase/u32-prefix-context: New file.
26459
26460         New module 'unicase/u16-prefix-context'.
26461         * lib/unicase/u16-prefix-context.c: New file.
26462         * modules/unicase/u16-prefix-context: New file.
26463
26464         New module 'unicase/u8-prefix-context'.
26465         * lib/unicase/u8-prefix-context.c: New file.
26466         * lib/unicase/u-prefix-context.h: New file.
26467         * lib/unicase/context.h: New file.
26468         * modules/unicase/u8-prefix-context: New file.
26469
26470         New module 'unicase/empty-prefix-context'.
26471         * lib/unicase/empty-prefix-context.c: New file.
26472         * modules/unicase/empty-prefix-context: New file.
26473
26474         New module 'unicase/ignorable'.
26475         * lib/unicase/ignorable.c: New file.
26476         * modules/unicase/ignorable: New file.
26477
26478         New module 'unicase/cased'.
26479         * lib/unicase/caseprop.h: New file.
26480         * lib/unicase/cased.c: New file.
26481         * modules/unicase/cased: New file.
26482
26483         New functions for case mapping of substrings.
26484         * lib/unicase.h (casing_prefix_context_t): New type.
26485         (unicase_empty_prefix_context): New variable.
26486         (u8_casing_prefix_context, u16_casing_prefix_context,
26487         u32_casing_prefix_context, u8_casing_prefixes_context,
26488         u16_casing_prefixes_context, u32_casing_prefixes_context): New
26489         declarations.
26490         (casing_suffix_context_t): New type.
26491         (unicase_empty_suffix_context): New variable.
26492         (u8_casing_suffix_context, u16_casing_suffix_context,
26493         u32_casing_suffix_context, u8_casing_suffixes_context,
26494         u16_casing_suffixes_context, u32_casing_suffixes_context,
26495         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
26496         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
26497         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
26498         declarations.
26499
26500 2009-06-28  Jim Meyering  <meyering@redhat.com>
26501
26502         boostrap: indent only with spaces
26503         * build-aux/bootstrap: Indent only with spaces, never TABs.
26504
26505         bootstrap: split long lines
26506         * build-aux/bootstrap: Keep line length < 80.
26507
26508         bootstrap: sync from coreutils
26509         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
26510         just as autoreconf does.  Verify a list of prerequisite
26511         package-name,version-number pairs if defined in bootstrap.conf.
26512         Refer to README-prereq, if prerequisites are not satisfied.
26513
26514 2009-06-27  Eric Blake  <ebb9@byu.net>
26515
26516         tests: add test for bogus NULL definition
26517         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
26518         * tests/test-stdlib.c: Likewise.
26519         * tests/test-string.c: Likewise.
26520         * tests/test-locale.c: Likewise.
26521         * tests/test-unistd.c: Likewise.
26522         * modules/stdio-tests (Depends-on): Add verify.
26523         * modules/stdlib-tests (Depends-on): Likewise.
26524         * modules/string-tests (Depends-on): Likewise.
26525         * modules/locale-tests (Depends-on): Likewise.
26526         * modules/unistd-tests (Depends-on): Likewise.
26527
26528 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
26529
26530         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
26531         self-explaining comment.
26532         * m4/selinux-selinux-h: Update serial.
26533         (gl_LIBSELINUX): New macro, adding a warning for missing development
26534         packages to code extracted from...
26535         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
26536         Add warning for missing development packages here, too.
26537
26538 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
26539
26540         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
26541
26542 2009-06-25  Eric Blake  <ebb9@byu.net>
26543
26544         version-etc: fix regression
26545         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
26546         gcc.
26547         (version_etc): Use it, to catch bugs with trailing NULL.
26548         * lib/version-etc.c (version_etc_arn): Delete unused argument.
26549         (version_etc_va): Fix logic bug.
26550         * modules/version-etc-tests: Add test.
26551         * tests/test-version-etc.c: New file.
26552         * tests/test-version-etc.sh: Likewise.
26553
26554 2009-06-25  Sam Steingold  <sds@gnu.org>
26555
26556         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
26557         mbtowc declaration.
26558
26559 2009-06-25  Eric Blake  <ebb9@byu.net>
26560
26561         fpurge: migrate into <stdio.h>
26562         * lib/fpurge.h: Delete...
26563         * lib/stdio.in.h (fpurge): ...and declare here, instead.
26564         * lib/fpurge.c (fpurge): Change declaring header.
26565         * modules/fpurge (Files): Drop deleted file.
26566         (Depends-on): Add stdio.
26567         (configure.ac): Set witness.
26568         * modules/stdio (Makefile.am): Support fpurge macros.
26569         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26570         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
26571         * lib/fflush.c: Update client.
26572         * tests/test-fpurge.c: Likewise.
26573         * NEWS: Mention the change.
26574
26575 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26576
26577         * lib/argp-version-etc.c (program_authors): Add const
26578         qualifier.
26579         * lib/version-etc.c: Fix typos in the comments.
26580         * modules/argp-version-etc: Depends on version-etc.
26581
26582 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26583
26584         argp-version-etc: new module.
26585
26586         * lib/argp-version-etc.c: New file.
26587         * lib/argp-version-etc.h: New file.
26588         * modules/argp-version-etc: New file.
26589         * modules/argp-version-etc-tests: New file.
26590         * tests/test-argp-version-etc.c: New test.
26591         * tests/test-argp-version-etc-1.sh: New test.
26592
26593 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26594
26595         Provide additional interfaces and documentation for version-etc
26596         module.
26597
26598         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
26599         interfaces.
26600         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
26601         prototypes.
26602
26603 2009-06-24  Bruno Haible  <bruno@clisp.org>
26604
26605         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
26606         HAVE_LIB${NAME} macro.
26607         Reported by Sam Steingold <sds@gnu.org>.
26608
26609 2009-06-23  Simon Josefsson  <simon@josefsson.org>
26610
26611         * modules/hash-tests (test_hash_LDADD): Link to libintl when
26612         needed.
26613
26614 2009-06-21  Bruno Haible  <bruno@clisp.org>
26615
26616         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
26617         work.
26618         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
26619         together with LIB${NAME}, LTLIB${NAME}.
26620         Reported by Sam Steingold <sds@gnu.org>.
26621
26622 2009-06-20  Jim Meyering  <meyering@redhat.com>
26623
26624         tests: make sc_require_test_exit_idiom more generic
26625         * top/maint.mk (Exit_witness_file): New overridable variable.
26626         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
26627         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
26628
26629 2009-06-19  Jim Meyering  <meyering@redhat.com>
26630
26631         hash: reverse order of src/dst parameters in an internal interface
26632         * lib/hash.c (transfer_entries): Reverse order of parameters to
26633         put DST before SRC.  Adjust callers.
26634
26635         tests: test-hash: avoid wholesale duplication
26636         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
26637         Instead, use a loop and add a single conditional.
26638
26639         tests: test-hash: allow seed selection via a command line argument
26640         * tests/test-hash.c (get_seed): New function.
26641         (main): Use it.
26642
26643 2009-06-19  Eric Blake  <ebb9@byu.net>
26644
26645         hash: avoid memory leak on allocation failure
26646         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
26647         failure.  Factor repeated algorithm...
26648         (transfer_entries): ...into new helper routine.
26649         (hash_delete): React to hash_rehash return value.
26650
26651         hash: reduce memory pressure in hash_rehash no-op case
26652         * lib/hash.c (next_prime): Avoid overflow.
26653         (hash_initialize): Factor bucket size computation...
26654         (compute_bucket_size): ...into new helper function.
26655         (hash_rehash): Use new function and open coding to reduce memory
26656         pressure, and avoid a memory leak in USE_OBSTACK code.
26657         Reported by Jim Meyering.
26658
26659 2009-06-18  Eric Blake  <ebb9@byu.net>
26660
26661         hash: make rotation more obvious
26662         * modules/hash (Depends-on): Add bitrotate and stdint.
26663         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
26664         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
26665         (SIZE_MAX): Rely on headers for definition.
26666         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
26667         (raw_hasher): Use rotr_sz.
26668         Suggested by Jim Meyering.
26669
26670         hash: fix memory leak in last patch
26671         * lib/hash.c (hash_rehash): Avoid memory leak.
26672
26673         hash: avoid no-op rehashing
26674         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
26675
26676         hash: provide default callback functions
26677         * lib/hash.c (raw_hasher, raw_comparator): New functions.
26678         (hash_initialize): Use them as defaults.
26679         * tests/test-hash.c (main): Test this.
26680
26681         hash: minor optimization
26682         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
26683         when possible.
26684         (hash_initialize): Document this promise.
26685         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26686         * tests/test-hash.c (hash_compare_strings): Test this.
26687
26688 2009-06-18  Bruno Haible  <bruno@clisp.org>
26689
26690         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26691         going to be replaced anyway.
26692
26693 2009-06-18  Bruno Haible  <bruno@clisp.org>
26694
26695         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26696         in one place.
26697         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26698         be replaced anyway.
26699
26700 2009-06-18  Eric Blake  <ebb9@byu.net>
26701
26702         hash: check for resize before insertion
26703         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26704         threshold before insertion, so that a pathological hash_rehash
26705         that fills every bucket can still trigger another rehash.
26706
26707 2009-06-18  Jim Meyering  <meyering@redhat.com>
26708
26709         hash-tests: add a loop around the small tests
26710         * tests/test-hash.c (main): Repeat small tests with selected
26711         small initial table sizes.
26712
26713 2009-06-17  Eric Blake  <ebb9@byu.net>
26714
26715         hash: minor cleanups
26716         * lib/hash.h (hash_entry): Make opaque, by moving...
26717         * lib/hash.c (hash_entry): ...here.
26718         (hash_insert): Clarify restrictions on what can be inserted.
26719         (hash_get_next): Clarify when it is safe to remove an element
26720         during traversal.
26721         (check_tuning): Skip verification when tuning is known safe.
26722         (hash_initialize): Clarify restrictions on tuning.
26723
26724 2009-06-17  Jim Meyering  <jim@meyering.net>
26725         and Eric Blake  <ebb9@byu.net>
26726
26727         hash-tests: new module
26728         * modules/hash-tests: New file.
26729         * tests/test-hash.c: New file.
26730
26731 2009-06-17  Eric Blake  <ebb9@byu.net>
26732
26733         strstr-simple: document new module
26734         * MODULES.html.sh: Document new module.
26735
26736         strstr, strcasestr: replace on platforms with broken memchr
26737         * modules/strstr: Split into...
26738         * modules/strstr-simple: ...new module that does not care about
26739         performance, but does care about glibc bug.
26740         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26741         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26742         if platform memchr is broken, per Debian bug 521737.
26743         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26744         memchr.
26745         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26746         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26747         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26748         * modules/mountlist (Depends-on): Add strstr-simple.
26749         * modules/gen-uni-tables (Depends-on): Likewise.
26750         * modules/argz (Depends-on): Add strstr.
26751
26752 2009-06-17  Bruno Haible  <bruno@clisp.org>
26753
26754         * modules/posix_spawn-internal (Depends-on): Add errno.
26755
26756 2009-06-17  Bruno Haible  <bruno@clisp.org>
26757
26758         Define missing ESTALE on Interix 3.5.
26759         * lib/errno.in.h (ESTALE): Assign a value if missing.
26760         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26761         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26762         missing.
26763         * doc/posix-headers/errno.texi: Mention the Interix bug.
26764         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26765
26766 2009-06-15  Eric Blake  <ebb9@byu.net>
26767
26768         memchr, memchr2: add valgrind exception
26769         * lib/memchr.valgrind: New file.
26770         * lib/memchr2.valgrind: New file.
26771         * modules/memchr (Files): Distribute valgrind file.
26772         * modules/memchr2 (Files): Likewise.
26773
26774         docs: memchr is no longer obsolete
26775         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26776         * lib/string.in.h (memchr): Simplify logic.
26777
26778 2009-06-14  Jim Meyering  <meyering@redhat.com>
26779
26780         link-follow: fix the "checking..." message to not mention trailing slash
26781         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26782         never considered trailing slashes.
26783
26784 2009-06-14  Bruno Haible  <bruno@clisp.org>
26785
26786         * m4/memchr.m4: Mention also the bug on IA-64.
26787         * doc/posix-functions/memchr.texi: Likewise.
26788
26789 2009-06-12  Eric Blake  <ebb9@byu.net>
26790
26791         memchr: detect broken x86_64 and alpha implementations
26792         * modules/memchr-tests (Depends-on): Move mmap detection...
26793         * modules/memchr (Depends-on): ...here.
26794         (configure.ac): Set indicator.
26795         * lib/string.in.h (memchr): Declare replacement.
26796         * modules/string (Makefile.am): Trigger replacement.
26797         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26798         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26799         bugs.
26800         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26801         * modules/getpagesize (License): Relax license.
26802
26803 2009-06-11  Bruno Haible  <bruno@clisp.org>
26804
26805         * lib/idpriv.h: Add more references.
26806
26807 2009-06-08  Bruno Haible  <bruno@clisp.org>
26808
26809         Tests for module 'idpriv-droptemp'.
26810         * modules/idpriv-droptemp-tests: New file.
26811         * tests/test-idpriv-droptemp.sh: New file.
26812         * tests/test-idpriv-droptemp.su.sh: New file.
26813         * tests/test-idpriv-droptemp.c: New file.
26814
26815         New module 'idpriv-droptemp'.
26816         * lib/idpriv-droptemp.c: New file.
26817         * modules/idpriv-droptemp: New file.
26818
26819 2009-06-08  Bruno Haible  <bruno@clisp.org>
26820
26821         Tests for module 'idpriv-drop'.
26822         * modules/idpriv-drop-tests: New file.
26823         * tests/test-idpriv-drop.sh: New file.
26824         * tests/test-idpriv-drop.su.sh: New file.
26825         * tests/test-idpriv-drop.c: New file.
26826
26827         New module 'idpriv-drop'.
26828         * lib/idpriv.h: New file.
26829         * lib-idpriv-drop.c: New file.
26830         * m4/idpriv.m4: New file.
26831         * modules/idpriv-drop: New file.
26832
26833 2009-06-08  Bruno Haible  <bruno@clisp.org>
26834
26835         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26836         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26837         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26838         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26839         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26840         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26841         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26842
26843 2009-06-08  Eric Blake  <ebb9@byu.net>
26844
26845         test-strstr: use memory fence, when possible
26846         * tests/test-strstr.c (main): Use memory fence, in order to be
26847         more likely to trigger Debian bug 521737.
26848         * modules/strstr-tests (Files): Pull in additional files.
26849
26850         memchr: no longer obsolete, for wider field testing
26851         * modules/memchr (Status, Notice): Delete, this module is no
26852         longer obsolete.
26853         * modules/vasnprintf (Depends-on): Add memchr.
26854
26855 2009-06-07  Jim Meyering  <meyering@redhat.com>
26856
26857         hash: declare some functions with the warn_unused_result attribute
26858         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26859
26860 2009-06-07  Bruno Haible  <bruno@clisp.org>
26861
26862         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26863         Reported by Eric Blake.
26864
26865 2009-06-06  Eric Blake  <ebb9@byu.net>
26866
26867         test-alignof: fix typo with long double
26868         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26869         compiler error.
26870
26871 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26872
26873         Escape non-texinfo { and }s.
26874         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26875         markup error.
26876
26877 2009-06-04  Jim Meyering  <meyering@redhat.com>
26878
26879         gitlog-to-changelog: don't infloop on an empty commit log
26880         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26881         Reported by Boris Petersen <transacid@centerim.org>.
26882
26883 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26884
26885         version-etc: extend for packagers
26886         Add three new configure options, intended for packagers:
26887           --with-packager="packager name"
26888           --with-packager-version="packager-specific version"
26889           --with-packager-bug-reports="packager bug reporting"
26890         An example with coreutils:
26891           $ ./configure \
26892             --with-packager=Gentoo \
26893             --with-packager-bug-report=http://bugs.gentoo.org/ \
26894             --with-packager-version="patchset 1.6"
26895           $ ./src/ls --version | head -n2
26896           ls (GNU coreutils) 7.1-dirty
26897           Packaged by Gentoo (patchset 1.6)
26898         Note that the bug reporting info via --help doesn't show up because
26899         coreutils uses its own custom emit_bug_reporting_address() implementation
26900         in src/system.h.  If it didn't, it'd look like:
26901           $ ./src/ls --help | tail -n4
26902           Report bugs to <bug-coreutils@gnu.org>.
26903           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26904           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26905           General help using GNU software: <http://www.gnu.org/gethelp/>.
26906         * lib/version-etc.c: Print new information, if provided.
26907         * m4/version-etc.m4: New file.
26908         * modules/version-etc (Files): Add m4/version-etc.m4.
26909         (configure.ac): Add gl_VERSION_ETC.
26910
26911 2009-05-31  Bruno Haible  <bruno@clisp.org>
26912
26913         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26914         and 'int64_t'.
26915         * modules/alignof-tests (Dependencies): Add stdint.
26916         Reported by Eric Blake.
26917
26918 2009-05-31  Bruno Haible  <bruno@clisp.org>
26919
26920         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
26921         restriction due to compiler bugs.
26922         Reported by Eric Blake.
26923
26924 2009-05-31  Simon Josefsson  <simon@josefsson.org>
26925             Bruno Haible  <bruno@clisp.org>
26926
26927         Fix test-alignof failure.
26928         * lib/alignof.h (alignof_slot): New macro.
26929         (alignof_type): New macro, with the same semantics as the previous
26930         'alignof'.
26931         (alignof): Alias to alignof_slot.
26932         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
26933         check that the results are usable as constant expressions.
26934
26935 2009-05-31  Bruno Haible  <bruno@clisp.org>
26936
26937         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
26938         * tests/test-memchr.c (main): Check that memchr does not read past the
26939         first occurrence of the byte.
26940         * tests/test-strstr.c (main): Update comment.
26941         Suggested by Eric Blake.
26942
26943 2009-05-30  Bruno Haible  <bruno@clisp.org>
26944
26945         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
26946         detail how to use dumpbin.
26947         Reported by David Byron <dbyron@dbyron.com>.
26948
26949 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26950
26951         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
26952
26953 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26954
26955         * m4/manywarnings.m4: Add GCC 4.4 warnings.
26956
26957 2009-05-28  Bruno Haible  <bruno@clisp.org>
26958
26959         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
26960         build-aux/ files.
26961
26962 2009-05-28  Simon Josefsson  <simon@josefsson.org>
26963
26964         * gnulib-tool (func_import): Transform license on build-aux/ files too.
26965
26966 2009-05-27  Simon Josefsson  <simon@josefsson.org>
26967
26968         * gnulib-tool (sed_transform_main_lib_file)
26969         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
26970         regexps.
26971
26972 2009-05-26  Simon Josefsson  <simon@josefsson.org>
26973
26974         * tests/test-strstr.c: Add another self-test.
26975         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
26976         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
26977
26978 2009-05-23  Bruno Haible  <bruno@clisp.org>
26979
26980         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
26981         change.
26982
26983 2009-05-21  Bruno Haible  <bruno@clisp.org>
26984
26985         Simplify use of mode_t varargs.
26986         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
26987         uses 'mode_t' or 'int'.
26988         * lib/openat.c (openat): Likewise.
26989         * lib/open-safer.c (open_safer): Likewise.
26990         * m4/mode_t.m4: New file.
26991         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
26992         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
26993         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
26994         * modules/open (Files): Add m4/mode_t.m4.
26995         * modules/openat (Files): Likewise.
26996         * modules/fcntl-safer (Files): Likewise.
26997         Suggested by Eric Blake.
26998
26999 2009-05-21  Pádraig Brady  <P@draigbrady.com>
27000
27001         * doc/glibc-functions/fallocate.texi: New file.
27002         * doc/gnulib.texi: Include it.
27003
27004 2009-05-21  Eric Blake  <ebb9@byu.net>
27005             Bruno Haible  <bruno@clisp.org>
27006
27007         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
27008         invocations.
27009         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27010
27011 2009-05-21  Eric Blake  <ebb9@byu.net>
27012             Bruno Haible  <bruno@clisp.org>
27013
27014         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
27015         include_next. Fix of 2008-11-20 commit.
27016         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
27017         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
27018         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
27019         NEXT_MATH_H.
27020         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
27021         instead of NEXT_MATH_H.
27022
27023 2009-05-21  Bruno Haible  <bruno@clisp.org>
27024
27025         Avoid redefinition warnings for SIZE_MAX.
27026         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
27027         Reported by Simon Josefsson.
27028
27029 2009-05-21  Bruno Haible  <bruno@clisp.org>
27030
27031         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
27032         AC_CACHE_VAL.
27033
27034 2009-05-20  Bruno Haible  <bruno@clisp.org>
27035
27036         Make zeroptr.h work on mingw.
27037         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
27038         mprotect.
27039         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
27040         * modules/memchr2-tests (configure.ac): Likewise.
27041         * modules/memcmp-tests (configure.ac): Likewise.
27042         * modules/memmem-tests (configure.ac): Likewise.
27043         * modules/memrchr-tests (configure.ac): Likewise.
27044         Reported by Simon Josefsson.
27045
27046 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27047
27048         * tests/test-glob.c: Include string.h for strcmp prototype.
27049
27050 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27051
27052         * modules/getdelim (Depends-on): Add explicit stdint, although it
27053         was implicitly already pulled in via realloc-posix.
27054         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
27055
27056 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27057
27058         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
27059         G. Christensen" <tgc@jupiterrise.com>.
27060         * m4/sys_socket_h.m4: Check for sa_family_t.
27061         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
27062         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
27063         * tests/test-sys_socket.c: Check that sa_family_t works.
27064
27065 2009-05-18  Eric Blake  <ebb9@byu.net>
27066
27067         maint.mk: allow gnulib_dir in VPATH build
27068         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
27069
27070 2009-05-15  Jim Meyering  <meyering@redhat.com>
27071
27072         maint.mk: Give gnulib_dir a default definition.
27073         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
27074         Thus, most packages no longer need to specify this variable in cfg.mk
27075
27076 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
27077
27078         rename.m4: fix typos that would make non-mingw cross-configure fail
27079         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
27080
27081 2009-05-13  Eric Blake  <ebb9@byu.net>
27082
27083         mmap-anon: avoid out-of-order autoconf expansion
27084         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
27085         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
27086         * modules/memchr-tests (Depends-on): Add extensions.
27087         * modules/memchr2-tests (Depends-on): Add extensions.
27088         * modules/memcmp-tests (Depends-on): Add extensions.
27089         * modules/memmem-tests (Depends-on): Add extensions.
27090         * modules/memrchr-tests (Depends-on): Add extensions.
27091
27092 2009-05-13  Bruno Haible  <bruno@clisp.org>
27093
27094         Make some tests ISO C 99 compliant.
27095         * tests/zerosize-ptr.h: New file.
27096         * tests/test-memchr.c: Include zerosize-ptr.h.
27097         (main): Use a zero-size object pointer instead of NULL.
27098         * tests/test-memchr2.c: Include zerosize-ptr.h.
27099         (main): Use a zero-size object pointer instead of NULL.
27100         * tests/test-memcmp.c: Include zerosize-ptr.h.
27101         (main): Use a zero-size object pointer instead of NULL.
27102         * tests/test-memmem.c: Include zerosize-ptr.h.
27103         (main): Use a zero-size object pointer instead of NULL.
27104         * tests/test-memrchr.c: Include zerosize-ptr.h.
27105         (main): Use a zero-size object pointer instead of NULL.
27106         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
27107         m4/mmap-anon.m4.
27108         (Depends-on): Add getpagesize.
27109         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27110         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
27111         m4/mmap-anon.m4.
27112         (Depends-on): Add getpagesize.
27113         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27114         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
27115         m4/mmap-anon.m4.
27116         (Depends-on): Add getpagesize.
27117         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27118         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
27119         m4/mmap-anon.m4.
27120         (Depends-on): Add getpagesize.
27121         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27122         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
27123         m4/mmap-anon.m4.
27124         (Depends-on): Add getpagesize.
27125         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27126
27127 2009-05-12  Bruno Haible  <bruno@clisp.org>
27128
27129         Tests for module 'alignof'.
27130         * modules/alignof-tests: New file.
27131         * tests/test-alignof.c: New file.
27132
27133 2009-05-12  Bruno Haible  <bruno@clisp.org>
27134
27135         Fix alignof macro.
27136         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
27137         vendor compilers that are always correct.
27138
27139 2009-05-12  Bruno Haible  <bruno@clisp.org>
27140
27141         Make the MAP_ANONYMOUS detection work on HP-UX 11.
27142         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
27143         not whether its fully works.
27144
27145 2009-05-12  Bruno Haible  <bruno@clisp.org>
27146
27147         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
27148
27149 2009-05-12  Jim Meyering  <meyering@redhat.com>
27150
27151         * top/maint.mk: Adjust backslash alignment.
27152
27153 2009-05-11  Simon Josefsson  <simon@josefsson.org>
27154
27155         * top/maint.mk: Make $(srcdir)/build-aux configurable.
27156
27157 2009-05-11  Eric Blake  <ebb9@byu.net>
27158
27159         argp: avoid undefined behavior
27160         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
27161         macros.
27162
27163 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27164
27165         * tests/test-vc-list-files-git.sh: Do git config of user.email and
27166         user.name to prevent git commit from complaining.
27167
27168 2009-05-10  Bruno Haible  <bruno@clisp.org>
27169
27170         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
27171         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
27172         it rewrites every file name only once.
27173         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
27174
27175 2009-05-08  Bruno Haible  <bruno@clisp.org>
27176
27177         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
27178         instead of 'max'.
27179
27180 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27181
27182         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
27183         sockaddr_storage test.
27184
27185 2009-05-07  Simon Josefsson  <simon@josefsson.org>
27186
27187         * modules/sys_socket (Makefile.am): Substitute
27188         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
27189         * m4/sys_socket_h.m4: Check for sockaddr_storage.
27190         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
27191         * tests/test-sys_socket.c: Check sockaddr_storage.
27192
27193 2009-05-08  Bruno Haible  <bruno@clisp.org>
27194
27195         New module 'alignof'.
27196         * lib/alignof.h: New file.
27197         * modules/alignof: New file.
27198
27199 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27200             Bruno Haible  <bruno@clisp.org>
27201
27202         Fix test-file-has-acl on FreeBSD.
27203         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
27204         mask is implicitly added.
27205         * tests/test-file-has-acl.c: Include <signal.h>.
27206         (main): Terminate the test after 5 seconds.
27207         * modules/acl-tests (configure.ac): Check for alarm function.
27208
27209 2009-05-04  Bruno Haible  <bruno@clisp.org>
27210
27211         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
27212         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
27213         * modules/errno (configure.ac): Drop AC_REQUIRE.
27214         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
27215         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
27216
27217 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27218
27219         * modules/glob-tests: New module.
27220         * tests/test-glob.c: Add.
27221
27222 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27223
27224         * modules/fnmatch-tests: New module.
27225         * tests/test-fnmatch.c: Add.
27226
27227 2009-05-04  Eric Blake  <ebb9@byu.net>
27228
27229         maint: make the new no-submodule-changes rule VPATH-safe
27230         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
27231
27232 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27233             Bruno Haible  <bruno@clisp.org>
27234
27235         acl: Fix infinite loop on FreeBSD.
27236         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
27237         of return value from acl_get_entry.
27238         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
27239         Likewise.
27240
27241 2009-05-03  Bruno Haible  <bruno@clisp.org>
27242
27243         * lib/acl-internal.h (acl_entries): Clarify return value.
27244         * lib/acl_entries.c (acl_entries): Likewise.
27245
27246 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27247
27248         Bug fix in acl module.
27249         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
27250
27251 2009-05-03  Bruno Haible  <bruno@clisp.org>
27252
27253         Create gperf-generated file in the source dir, not in the build dir.
27254         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
27255         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
27256         * modules/unicase/locale-language (unicase/locale-languages.h):
27257         Likewise.
27258         * modules/unicase/special-casing (unicase/special-casing-table.h):
27259         Likewise.
27260         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
27261         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
27262         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
27263         Reported by Ralf Wildenhues.
27264
27265 2009-05-03  Bruno Haible  <bruno@clisp.org>
27266
27267         * modules/fnmatch (Description, configure.ac): Taken from
27268         fnmatch-posix.
27269         * modules/fnmatch-posix: Turn into a symbolic reference to the
27270         'fnmatch' module, and deprecate.
27271         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
27272
27273 2009-05-03  Bruno Haible  <bruno@clisp.org>
27274
27275         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
27276         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
27277         Reported by Ralf Wildenhues.
27278
27279 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27280
27281         * m4/fnmatch.m4: Fix fnmatch re-define.
27282
27283 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27284
27285         priv-set: new module and tests; adapt write-any-file
27286         * lib/priv-set.c: New file.
27287         * lib/priv-set.h: New file.
27288         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
27289         * lib/write-any-file.c: Simplify by using priv-set module.
27290         * m4/priv-set.m4: New file.
27291         * modules/priv-set: New file.
27292         * modules/unlinkdir: Add dependency on priv-set module.
27293         * modules/write-any-file: Likewise.
27294
27295         Tests for module 'priv-set'.
27296         * modules/priv-set-tests: New file.
27297         * tests/test-priv-set.c: New file.
27298
27299 2009-05-03  Jim Meyering  <meyering@redhat.com>
27300             Bruno Haible  <bruno@clisp.org>
27301
27302         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
27303         use the converted UTF-8 variant of the name instead.
27304
27305 2009-05-03  Jim Meyering  <meyering@redhat.com>
27306
27307         tests: tighten some getdate tests
27308         * tests/test-getdate.c (main): Tighten tests: require equality,
27309         not just greater than.  Set TZ envvar to UTC0.
27310
27311 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27312
27313         getdate: correctly interpret "next monday" when run on a Monday
27314         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
27315         that e.g., "next tues" (when run on a tuesday) results in a date
27316         that is one week in the future, and not today's date.
27317         I.e., add a week when the wday is the same as the current one.
27318         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
27319         and earlier by Martin Bernreuther and Jan Minář.
27320         * tests/test-getdate.c (main): Check that "next DAY" is always in
27321         the future and that "last DAY" is always in the past.
27322
27323 2009-05-02  Jim Meyering  <meyering@redhat.com>
27324
27325         build: ensure that a release build fails when a submodule is unclean
27326         * top/maint.mk (no-submodule-changes): New rule.
27327         (alpha beta major): Depend on it.
27328
27329 2009-05-02  Bruno Haible  <bruno@clisp.org>
27330
27331         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
27332         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
27333         shell variable gl_fnmatch_required to detect which variant is
27334         requested.
27335         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
27336         gl_FUNC_FNMATCH_POSIX.
27337         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
27338         exclude fnmatch-posix.
27339
27340 2009-05-02  Bruno Haible  <bruno@clisp.org>
27341
27342         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
27343         * modules/mbsrtowcs (License): Change to LGPLv2+.
27344         * modules/strnlen1 (License): Likewise.
27345         Reported by Simon Josefsson.
27346
27347 2009-05-02  Bruno Haible  <bruno@clisp.org>
27348
27349         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
27350         "cross".
27351         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
27352         gnulib-tool was called with option --source-base=lib.
27353
27354 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27355
27356         Use automake *-local hooks without commands, for extensibility.
27357         * modules/localcharset (Makefile.am): Rename install-exec-local
27358         rule to install-exec-localcharset, and make it a prerequisite of
27359         install-exec-local.  Likewise, rename the uninstall-local rule to
27360         uninstall-localcharset, and make it a prerequisite of the former.
27361
27362 2009-05-01  Bruno Haible  <bruno@clisp.org>
27363
27364         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
27365         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27366         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
27367         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
27368         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
27369         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27370         m4/locale-zh.m4, m4/codeset.m4.
27371
27372         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27373         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
27374         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27375         m4/locale-zh.m4.
27376
27377         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
27378         REPLACE_WCRTOMB if mbstate_t must be replaced.
27379         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
27380         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
27381
27382 2009-05-01  Bruno Haible  <bruno@clisp.org>
27383
27384         Avoid compiler warnings when redefining macros defined by <libintl.h>.
27385         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
27386         dngettext, dcngettext, textdomain, bindtextdomain,
27387         bind_textdomain_codeset): Undefine before redefining.
27388
27389 2009-04-30  Bruno Haible  <bruno@clisp.org>
27390
27391         Fix bug introduced on 2009-04-25.
27392         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
27393         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
27394         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
27395         is defined.
27396         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
27397         is defined.
27398         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
27399         is defined.
27400         Reported by Elbert_Pol <elbert.pol@gmail.com>.
27401
27402 2009-04-28  Bruno Haible  <bruno@clisp.org>
27403
27404         Comment tweaks.
27405         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
27406         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
27407         * lib/unicase.h (u*_casexfrm): Likewise.
27408         Reported by Paolo Bonzini.
27409
27410 2009-04-28  Bruno Haible  <bruno@clisp.org>
27411
27412         Fix a compilation error.
27413         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
27414         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
27415         Reported by Jim Meyering.
27416
27417 2009-04-27  Bruno Haible  <bruno@clisp.org>
27418
27419         New module 'libunistring'.
27420         * modules/libunistring: New file.
27421         * m4/libunistring.m4: New file.
27422         * MODULES.html.sh (Unicode string functions): Add it.
27423
27424 2009-04-27  Eric Blake  <ebb9@byu.net>
27425
27426         maint.mk: allow package-specific header to provide <config.h>
27427         * top/maint.mk (sc_require_config_h): New variable.
27428         (sc_require_config_h, sc_require_config_h_first): Use it.
27429
27430 2009-04-27  Simon Josefsson  <simon@josefsson.org>
27431
27432         * top/maint.mk (sc_avoid_if_before_free): Except
27433         useless-if-before-free script.
27434
27435 2009-04-27  Eric Blake  <ebb9@byu.net>
27436
27437         maintainer-makefile: depend on all required helper scripts
27438         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
27439         useless-if-before-free.
27440         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
27441         version, rather than assuming gnulib checkout is available.
27442         Reported by Simen Josefsson.
27443
27444 2009-04-26  Bruno Haible  <bruno@clisp.org>
27445
27446         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
27447         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
27448         "../" or "..".
27449
27450 2009-04-26  Bruno Haible  <bruno@clisp.org>
27451
27452         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
27453         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
27454         AC_LIB_HAVE_LINKFLAGS.
27455
27456 2009-04-26  Bruno Haible  <bruno@clisp.org>
27457
27458         Simplify calling convention of u*_conv_from_encoding.
27459         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
27460         u32_conv_from_encoding): Expect a resultbuf argument and return the
27461         result directly as a pointer.
27462         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
27463         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
27464         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
27465         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
27466         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
27467         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27468         Update.
27469         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
27470         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
27471         * lib/vasnprintf.c (VASNPRINTF): Update.
27472         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
27473         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
27474         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
27475         * NEWS: Mention the change.
27476
27477 2009-04-26  Bruno Haible  <bruno@clisp.org>
27478
27479         Simplify calling convention of u*_conv_to_encoding.
27480         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
27481         u32_conv_to_encoding): Expect a resultbuf argument and return the
27482         result directly as a pointer.
27483         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27484         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
27485         freeing scaled_offsets if mem_iconveha failed.
27486         * lib/unicase/u-casexfrm.h (FUNC): Update.
27487         * lib/uninorm/u-normxfrm.h (FUNC): Update.
27488         * lib/vasnprintf.c (VASNPRINTF): Update.
27489         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
27490         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
27491         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
27492         * NEWS: Mention the change.
27493
27494 2009-04-26  Bruno Haible  <bruno@clisp.org>
27495
27496         Avoid test failures on AIX and OSF/1.
27497         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
27498         malloc(0).
27499         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27500         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27501         Likewise.
27502         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
27503         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
27504         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
27505         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
27506         * doc/posix-functions/malloc.texi: Document the portability problem
27507         related to malloc(0).
27508
27509 2009-04-26  Bruno Haible  <bruno@clisp.org>
27510
27511         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
27512         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
27513         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
27514
27515 2009-04-25  Bruno Haible  <bruno@clisp.org>
27516
27517         Avoid link error when creating a namespace clean library.
27518         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
27519         as macro with arguments if already defined as an alias.
27520         * lib/signbitf.c (gl_signbitf): Don't undefine.
27521         * lib/signbitd.c (gl_signbitd): Don't undefine.
27522         * lib/signbitl.c (gl_signbitl): Don't undefine.
27523
27524 2009-04-25  Jim Meyering  <meyering@redhat.com>
27525
27526         vc-list-files: fix another quoting bug
27527         * build-aux/vc-list-files: Avoid sed backslash expansion
27528         of pathological directory names.
27529
27530 2009-04-25  Eric Blake  <ebb9@byu.net>
27531
27532         vc-list-files: fix shell quoting error
27533         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
27534         timestamp.
27535
27536 2009-04-25  Jim Meyering  <meyering@redhat.com>
27537
27538         vc-list-files: restore lost functionality with subdir argument
27539         * build-aux/vc-list-files: When given a non-"." sub-directory
27540         argument, substitute the $dir/ prefix back onto each resulting name.
27541         Otherwise, coreutils' root_tests check would fail.
27542
27543 2009-04-24  Eric Blake  <ebb9@byu.net>
27544
27545         vc-list-files: ignore git symlinks
27546         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
27547         than ls-files, to ignore git symlinks.
27548
27549         maint.mk: import improvements from m4
27550         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
27551         (move_if_change): Delete unused macro.
27552         (news-date-check, vc-diff-check): Support VPATH builds.
27553         (announcement): Likewise.  Split --bootstrap-tools list...
27554         (boostrap-tools): ...into separate list, which can be overridden
27555         in cfg.mk.
27556         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
27557         requiring dependency on useless-if-before-free module.
27558         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
27559         Support VPATH builds.
27560
27561 2009-04-24  Jim Meyering  <meyering@redhat.com>
27562
27563         maint.mk: remove coreutils-specific rules and variables
27564         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
27565         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
27566         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
27567
27568         maint.mk: remove obsolete rule
27569         * top/maint.mk (rel-check): Remove rule.
27570         (WGET, WGETFLAGS): Remove now-unused variables.
27571
27572 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27573
27574         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
27575         consistency.
27576
27577         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
27578         '$(PATH_SEPARATOR)' instead of ':'.
27579
27580 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27581
27582         * lib/getopt1.c (main): Use 'const' for static array.
27583
27584 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27585
27586         * top/maint.mk: Sync with coreutils.
27587         * NEWS: Explain incompatibilities.
27588
27589 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27590             Bruno Haible  <bruno@clisp.org>
27591
27592         Fix cross-compilation results.
27593         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
27594         statement, as third argument of AC_TRY_RUN.
27595         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27596         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27597         Likewise.
27598         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27599         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27600         Likewise.
27601         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27602         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
27603         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
27604
27605 2009-04-20  Bruno Haible  <bruno@clisp.org>
27606
27607         Avoid test failure on mingw.
27608         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
27609
27610 2009-04-20  Bruno Haible  <bruno@clisp.org>
27611
27612         Avoid compilation error on mingw.
27613         * modules/localename-tests (Depends-on): Add locale.
27614
27615 2009-04-19  Bruno Haible  <bruno@clisp.org>
27616
27617         Support for building a shared library on Windows platforms.
27618         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
27619         (main): Test the presence of UNINORM_NFC here.
27620         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
27621         (main): Test the presence of UNINORM_NFD here.
27622         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
27623         (main): Test the presence of UNINORM_NFKC here.
27624         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
27625         (main): Test the presence of UNINORM_NFKD here.
27626
27627 2009-04-19  Bruno Haible  <bruno@clisp.org>
27628
27629         Avoid a compiler warning.
27630         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
27631         Change type of variable 'sequence'.
27632
27633 2009-04-19  Bruno Haible  <bruno@clisp.org>
27634
27635         * modules/configmake (Makefile.am): When the contents of configmake.h
27636         does not change, arrange to preserve its modification time.
27637
27638 2009-04-17  Simon Josefsson  <simon@josefsson.org>
27639
27640         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
27641         gettext domain.
27642
27643 2009-04-16  Jim Meyering  <meyering@redhat.com>
27644
27645         useless-if-before-free: improve conversion code
27646         * build-aux/useless-if-before-free: Adjust code-in-comment to match
27647         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
27648
27649 2009-04-14  Bruno Haible  <bruno@clisp.org>
27650
27651         * modules/fcntl (Depends-on): Add extensions.
27652         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
27653
27654 2009-04-12  Ben Pfaff  <blp@gnu.org>
27655
27656         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
27657         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
27658
27659 2009-03-20  Ben Pfaff  <blp@gnu.org>
27660
27661         Make rename replace existing destinations on Windows.
27662         * m4/rename.m4: Add test for Mingw.
27663         * lib/rename.c: Add rename replacement that uses MoveFileEx with
27664         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
27665         * doc/posix-functions/rename.texi: Document.
27666
27667 2009-04-10  Bruno Haible  <bruno@clisp.org>
27668
27669         New include file "iconveh.h".
27670         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
27671         * lib/striconveh.h: Include it.
27672         (enum iconv_ilseq_handler): Remove definition.
27673         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
27674         striconveh.h.
27675         * lib/striconveha.c: Include striconveh.h.
27676         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
27677         * modules/striconveh (Files): Add lib/iconveh.h.
27678         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
27679         lib/striconveh.h.
27680
27681 2009-04-10  Bruno Haible  <bruno@clisp.org>
27682
27683         * lib/uniconv.h: Update comment.
27684
27685 2009-04-10  Bruno Haible  <bruno@clisp.org>
27686
27687         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27688         always.
27689         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27690         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27691         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27692         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27693         "unistring-notinline.h", so that the function gets defined always.
27694         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27695         * lib/unistr/u8-uctomb.c: Likewise.
27696         * lib/unistr/u16-mbtouc.c: Likewise.
27697         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27698         * lib/unistr/u16-uctomb.c: Likewise.
27699         * lib/unistr/u32-mbtouc.c: Likewise.
27700         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27701         * lib/unistr/u32-uctomb.c: Likewise.
27702
27703 2009-04-10  Bruno Haible  <bruno@clisp.org>
27704
27705         Mark 'utime' obsolete.
27706         * modules/utime (Status, Notice): New sections.
27707         Suggested by Jim Meyering.
27708
27709         Fix cross-compile guess for utime test.
27710         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27711         autoconf.
27712         * doc/posix-functions/utime.texi: Give more precisions.
27713         Reported by Jan <ipif@ymail.com>.
27714
27715 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27716
27717         filevercmp: correct today's change
27718         * lib/filevercmp.c: Also handle coreutils' test inputs.
27719         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27720
27721         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27722         for reporting it.
27723         * lib/filevercmp.c: Special handle for "", "." and "..".
27724         * tests/test-filevercmp.c: Enlarge the set suite.
27725
27726 2009-04-07  Jim Meyering  <meyering@redhat.com>
27727
27728         useless-if-before-free: show how to remove braced useless free, too
27729         * build-aux/useless-if-before-free: still only in a comment, though.
27730
27731 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27732
27733         maint.mk: import changes to syntax-check macros from coreutils
27734         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27735         Use them in the relevant macros.
27736
27737 2009-04-06  Bruno Haible  <bruno@clisp.org>
27738
27739         Fix unportable use of bit-fields.
27740         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27741         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27742         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27743
27744 2009-04-06  Bruno Haible  <bruno@clisp.org>
27745
27746         Avoid test failures on AIX and OSF/1.
27747         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27748         that malloc(0) = NULL.
27749         * tests/unicase/test-u8-tolower.c (check): Likewise.
27750         * tests/unicase/test-u8-totitle.c (check): Likewise.
27751         * tests/unicase/test-u8-toupper.c (check): Likewise.
27752         * tests/unicase/test-u16-casefold.c (check): Likewise.
27753         * tests/unicase/test-u16-tolower.c (check): Likewise.
27754         * tests/unicase/test-u16-totitle.c (check): Likewise.
27755         * tests/unicase/test-u16-toupper.c (check): Likewise.
27756         * tests/unicase/test-u32-casefold.c (check): Likewise.
27757         * tests/unicase/test-u32-tolower.c (check): Likewise.
27758         * tests/unicase/test-u32-totitle.c (check): Likewise.
27759         * tests/unicase/test-u32-toupper.c (check): Likewise.
27760         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27761         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27762         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27763         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27764         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27765         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27766         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27767         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27768         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27769         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27770         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27771         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27772
27773 2009-04-05  Bruno Haible  <bruno@clisp.org>
27774
27775         Work around an autoconf limitation.
27776         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27777         comment line if it would be longer than 3 KB.
27778
27779 2009-04-05  Bruno Haible  <bruno@clisp.org>
27780
27781         Avoid test failure with libiconv-1.13.
27782         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27783         of the expected test results.
27784
27785 2009-04-05  Bruno Haible  <bruno@clisp.org>
27786
27787         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27788         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27789         that it should be installed.
27790
27791 2009-04-05  Bruno Haible  <bruno@clisp.org>
27792
27793         * gnulib-tool: New option --copy-file.
27794         (func_usage): Document it.
27795         (func_dest_tmpfilename): Moved out of func_import.
27796         (func_add_file, func_update_file): New functions, extracted from
27797         func_import.
27798         (func_import): Update.
27799
27800 2009-04-05  Karl Berry  <karl@gnu.org>
27801
27802         * README: prominently mention gnulib-tool.
27803         Rearrange sections so getting the code is near the top.
27804
27805 2009-04-05  Bruno Haible  <bruno@clisp.org>
27806
27807         * lib/unicase.h: Mention u*_cmp2.
27808         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27809         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27810         * lib/unicase/ulc-casecmp.c: Likewise.
27811         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27812         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27813         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27814         unistr/u8-cmp.
27815         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27816         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27817         unistr/u16-cmp.
27818         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27819         unistr/u32-cmp.
27820
27821         * lib/uninorm.h: Mention u*_cmp2.
27822         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27823         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27824         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27825         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27826         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27827         unistr/u8-cmp.
27828         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27829         unistr/u16-cmp.
27830         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27831         unistr/u32-cmp.
27832
27833         New module 'unistr/u32-cmp2'.
27834         * lib/unistr/u32-cmp2.c: New file.
27835         * modules/unistr/u32-cmp2: New file.
27836
27837         New module 'unistr/u16-cmp2'.
27838         * lib/unistr/u16-cmp2.c: New file.
27839         * modules/unistr/u16-cmp2: New file.
27840
27841         New module 'unistr/u8-cmp2'.
27842         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27843         * lib/unistr/u8-cmp2.c: New file.
27844         * lib/unistr/u-cmp2.h: New file.
27845         * modules/unistr/u8-cmp2: New file.
27846
27847 2009-04-05  Bruno Haible  <bruno@clisp.org>
27848
27849         * lib/unictype.h (uc_property_is_valid): New macro.
27850         * tests/unictype/test-pr_byname.c (main): Use it.
27851
27852         * lib/unistr.h: Doc fixes.
27853         * lib/uniconv.h: Doc fixes.
27854         * lib/unictype.h: Doc fixes.
27855
27856 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27857
27858         Port coreutils 7.2 to Solaris 8.
27859
27860         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27861         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27862         for Solaris 8.  This is a bit of a hack, as it means it's the
27863         caller's responsibility to add -lnsl if needed, but most likely it
27864         won't be needed since only getaddrinfo uses this and getaddrinfo
27865         isn't needed on Solaris 8.
27866
27867         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27868         problem to Solaris 8 encountered with coreutils 7.2, which
27869         resulted in a message "fnmatch.c:292: warning: passing argument 4
27870         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27871         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27872
27873 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27874
27875         * m4/ld-version-script.m4: Add FIXME comment.
27876
27877 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27878
27879         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27880         SOVERSION variable.
27881
27882 2009-04-02  Bruno Haible  <bruno@clisp.org>
27883
27884         * Makefile (info, html, dvi, pdf): Combine the rules.
27885         Suggested by Jim Meyering.
27886
27887 2009-04-01  Bruno Haible  <bruno@clisp.org>
27888
27889         * Makefile (info, html, dvi, pdf): New targets.
27890         Reported by Reuben Thomas <rrt@sc3d.org>.
27891
27892 2009-04-01  Bruno Haible  <bruno@clisp.org>
27893
27894         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27895         can be put into PATH.
27896         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27897
27898 2009-04-01  Bruno Haible  <bruno@clisp.org>
27899
27900         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27901
27902 2009-04-01  Bruno Haible  <bruno@clisp.org>
27903
27904         Rename module 'visibility'.
27905         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27906         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27907         * doc/gnulib.texi: Update.
27908         * MODULES.html.sh (Misc): Update.
27909         * NEWS: Mention the change.
27910
27911 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27912
27913         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27914         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27915         Eric Blake <ebb9@byu.net> for review.
27916         * MODULES.html.sh: Add lib-msvc-compat.
27917         * doc/gnulib.texi: Link to new section.
27918         * m4/ld-output-def.m4: New file.
27919         * doc/ld-output-def.texi: New file.
27920
27921 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27922
27923         Rename ld-version-script to lib-symbol-versions.  Suggested by
27924         Bruno Haible <bruno@clisp.org>.
27925         * modules/ld-version-script: Renamed to lib-symbol-versions.
27926         * doc/ld-version-script.texi: Fix module name.
27927         * MODULES.html.sh: Add lib-symbol-versions.
27928
27929 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27930
27931         * modules/u64-tests: New file.
27932         * tests/test-u64.c: New file.
27933
27934 2009-03-04  Simon Josefsson  <simon@josefsson.org>
27935
27936         * MODULES.html.sh: Mention u64.
27937         * modules/u64: New module.
27938         * modules/crypto/sha512: Depend on u64 module instead of providing
27939         u64.h.
27940
27941 2009-03-27  Eric Blake  <ebb9@byu.net>
27942
27943         test-strerror: make debugging EAI_SYSTEM easier
27944         * modules/getaddrinfo-tests (Depends-on): Add strerror.
27945         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
27946         failure was EAI_SYSTEM.
27947
27948 2009-03-25  Bruno Haible  <bruno@clisp.org>
27949
27950         Fix a problem with --enable-relocatable on Solaris 7.
27951         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
27952         since 2008-02-24.
27953
27954 2009-03-25  Eric Blake  <ebb9@byu.net>
27955
27956         test-sockets: avoid gcc warning
27957         * tests/test-sockets.c (main): Silence compiler warning.
27958
27959 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27960
27961         New modules nproc, pthread, contributed by Glen Lenker.
27962
27963         * MODULES.html.sh: Add pthread, nproc.
27964         * lib/nproc.c: New file.
27965         * lib/nproc.h: New file.
27966         * lib/pthread.in.h: New file.
27967         * m4/pthread.m4: New file.
27968         * modules/nproc: New file.
27969         * modules/pthread: New file.
27970
27971 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27972
27973         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
27974         New variable.
27975
27976 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
27977
27978         filevercmp: handle simple~ and numbered.~3~ backup suffixes
27979         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
27980         * tests/test-filevercmp.c: Add tests for backup suffixes.
27981
27982 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27983
27984         * modules/stdlib (Depends-on): Add stdint, needed when defining
27985         struct random_data on, for example, HP-UX 10.20.  Reported by
27986         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27987
27988 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27989
27990         * lib/readline.c (readline): Call fflush on stdout after printing
27991         prompt.
27992
27993 2009-03-20  Bruno Haible  <bruno@clisp.org>
27994
27995         Remove dependency from 'close' module to -lws2_32 on native Windows.
27996         * lib/close-hook.h: New file.
27997         * lib/close-hook.c: New file.
27998         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
27999         w32sock.h.
28000         (_gl_close_fd_maybe_socket): Remove function.
28001         (rpl_close): Invoke execute_all_close_hooks instead of
28002         _gl_close_fd_maybe_socket.
28003         * lib/sockets.c: Include close-hook.h, w32sock.h.
28004         (close_fd_maybe_socket): New function, essentially from lib/close.c.
28005         (close_sockets_hook): New variable.
28006         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
28007         (gl_sockets_cleanup): Unregister it.
28008         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
28009         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
28010         * modules/close-hook: New file.
28011         * modules/close (Files): Remove lib/w32sock.h.
28012         (Depends-on): Add close-hook.
28013         (Link): Remove section.
28014         * modules/sockets (Files): Add lib/w32sock.h.
28015         (Depends-on): Add close-hook.
28016         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
28017         invocation.
28018         * NEWS: Mention that LIB_CLOSE is gone.
28019
28020 2009-03-23  Eric Blake  <ebb9@byu.net>
28021
28022         signal-tests: test previous patch
28023         * tests/test-signal.c: New file.
28024         * modules/signal-tests: Likewise.
28025
28026         signal.h: always support 'volatile sig_atomic_t'
28027         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
28028         (gl_SIGNAL_H_DEFAULTS): Add a default.
28029         * modules/signal (Makefile.am): Substitute if needed.
28030         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
28031         users can blindly add volatile.
28032         * doc/posix-headers/signal.texi (signal.h): Document it.
28033         Reported by Matthew Woehlke.
28034
28035 2009-03-23  Jim Meyering  <meyering@redhat.com>
28036
28037         pathmax: PATH_MAX: use pathconf only when available
28038         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
28039         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
28040         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
28041         This avoids a link failure in a PSP cross-compilation environment
28042         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
28043
28044         * lib/vasnprintf.c (divide): Fix typo in comment.
28045
28046 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28047
28048         * gnulib-tool (func_filter_filelist): Fix comment.
28049
28050 2009-03-20  Bruno Haible  <bruno@clisp.org>
28051
28052         Make sockets.h self-contained.
28053         * lib/sockets.c: Include sockets.h first.
28054         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
28055
28056 2009-03-19  Eric Blake  <ebb9@byu.net>
28057
28058         doc: mention more functions added in cygwin 1.7.0
28059         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
28060         addition.
28061         * doc/posix-functions/log2f.texi: Likewise.
28062
28063 2009-03-19  Jim Meyering  <meyering@redhat.com>
28064
28065         fsusage: avoid syntax error due to statement-before-declaration
28066         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
28067         after all declarations.  Reported by Matthew Woehlke in
28068         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
28069
28070 2009-03-18  Eric Blake  <ebb9@byu.net>
28071
28072         build-aux/compile: sync from automake
28073         * build-aux/compile: New file, from automake.
28074         * config/srclist.txt: Mention build-aux/compile.
28075
28076 2009-03-17  Bruno Haible  <bruno@clisp.org>
28077
28078         * lib/git-merge-changelog.c: Fix typo in comment.
28079         Reported by Reuben Thomas <rrt@sc3d.org>.
28080
28081 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
28082
28083         * m4/regex.m4: update and improve help for
28084         --without-included-regex.
28085
28086 2009-03-17  Simon Josefsson  <simon@josefsson.org>
28087
28088         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
28089         failure on missing include files.
28090
28091 2009-03-17  Eric Blake  <ebb9@byu.net>
28092
28093         doc: mention more functions added in cygwin 1.7.0
28094         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
28095         addition.
28096         * doc/posix-functions/fwscanf.texi: Likewise.
28097         * doc/posix-functions/swprintf.texi: Likewise.
28098         * doc/posix-functions/swscanf.texi: Likewise.
28099         * doc/posix-functions/vfwprintf.texi: Likewise.
28100         * doc/posix-functions/vfwscanf.texi: Likewise.
28101         * doc/posix-functions/vswprintf.texi: Likewise.
28102         * doc/posix-functions/vswscanf.texi: Likewise.
28103         * doc/posix-functions/vwprintf.texi: Likewise.
28104         * doc/posix-functions/vwscanf.texi: Likewise.
28105         * doc/posix-functions/wcscasecmp.texi: Likewise.
28106         * doc/posix-functions/wcsdup.texi: Likewise.
28107         * doc/posix-functions/wcsftime.texi: Likewise.
28108         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28109         * doc/posix-functions/wprintf.texi: Likewise.
28110         * doc/posix-functions/wscanf.texi: Likewise.
28111         * doc/glibc-functions/gethostbyname2.texi: Likewise.
28112
28113 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28114
28115         maint.mk: really add $(AM_MAKEFLAGS)
28116         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
28117         was inadvertently omitted in the last commit.
28118         Spotted by Bruno Haible.
28119
28120         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
28121         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
28122         $(AM_MAKEFLAGS)' rather than plain `make'.
28123
28124         gnulib-tool: execute $MAKE not make
28125         * gnulib-tool: Default $MAKE to 'make'.
28126         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
28127         than make.  Initialize $MAKE in the do-autobuild script.
28128
28129         gnulib-tool: use $MAKE not make in generated files
28130         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
28131         make, in generated files.  Initialize $MAKE in the do-autobuild
28132         script.
28133
28134         * top/GNUmakefile (_have-git-version-gen): Fix typo.
28135
28136         GNUmakefile: disable parallelism only for multiple, recursive targets
28137         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
28138         additions in the Makefile.
28139         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
28140         by Automake.
28141         (.NOTPARALLEL): Only disable parallel builds if multiple targets
28142         are listed on the command line and at least one of them is
28143         listed in $(ALL_RECURSIVE_TARGETS).
28144
28145 2009-03-14  Bruno Haible  <bruno@clisp.org>
28146
28147         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
28148         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
28149         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
28150         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
28151         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
28152         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
28153         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
28154         unistr/u8-uctomb.
28155         * modules/unistr/u8-strchr (Depends-on): Likewise.
28156         * modules/unistr/u8-strrchr (Depends-on): Likewise.
28157         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
28158         unistr/u16-uctomb.
28159         * modules/unistr/u16-strchr (Depends-on): Likewise.
28160         * modules/unistr/u16-strrchr (Depends-on): Likewise.
28161
28162 2009-03-12  Bruno Haible  <bruno@clisp.org>
28163
28164         Work around select() bug on Interix 3.5.
28165         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
28166         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
28167         * m4/select.m4: New file.
28168         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
28169         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
28170         * modules/select (Files): Add m4/select.m4.
28171         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
28172         * modules/nanosleep (Depends-on): Add select.
28173         * modules/poll (Depends-on): Likewise.
28174         * doc/posix-functions/select.texi: Mention the Interix bug.
28175         Reported by Markus Duft <mduft@gentoo.org>.
28176
28177         * lib/select.c: Renamed from lib/winsock-select.c.
28178         * modules/select (Files): Add lib/select.c, remove
28179         lib/winsock-select.c.
28180         (configure.ac): Update.
28181
28182 2009-03-12  Jim Meyering  <meyering@redhat.com>
28183
28184         avoid gcc warnings about unused macro definitions
28185         * lib/readtokens.c (STREQ): Remove unused definition.
28186         * lib/xmalloc.c (SIZE_MAX): Likewise.
28187         * lib/openat-die.c (N_): Likewise.
28188         * lib/mountlist.c (SIZE_MAX): Remove definition.
28189         Instead, include <stdint.h>.
28190         * lib/readutmp.c: Likewise.
28191         * modules/readutmp (Depends-on): Add stdint.
28192         * modules/mountlist (Depends-on): Add stdint.
28193         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
28194
28195 2009-03-10  Bruno Haible  <bruno@clisp.org>
28196
28197         Tests for module 'mbmemcasecoll'.
28198         * modules/mbmemcasecoll-tests: New file.
28199         * tests/test-mbmemcasecoll1.sh: New file.
28200         * tests/test-mbmemcasecoll2.sh: New file.
28201         * tests/test-mbmemcasecoll3.sh: New file.
28202         * tests/test-mbmemcasecoll.c: New file.
28203
28204         New module 'mbmemcasecoll'.
28205         * lib/mbmemcasecoll.h: New file.
28206         * lib/mbmemcasecoll.c: New file.
28207         * modules/mbmemcasecoll: New file.
28208
28209         * tests/test-mbmemcasecmp.h: New file, extracted from
28210         tests/test-mbmemcasecmp.c.
28211         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
28212         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
28213         (main): Update.
28214         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
28215
28216 2009-03-09  Bruno Haible  <bruno@clisp.org>
28217
28218         Tests for module 'mbmemcasecmp'.
28219         * modules/mbmemcasecmp-tests: New file.
28220         * tests/test-mbmemcasecmp1.sh: New file.
28221         * tests/test-mbmemcasecmp2.sh: New file.
28222         * tests/test-mbmemcasecmp3.sh: New file.
28223         * tests/test-mbmemcasecmp.c: New file.
28224
28225         New module 'mbmemcasecmp'.
28226         * lib/mbmemcasecmp.h: New file.
28227         * lib/mbmemcasecmp.c: New file.
28228         * modules/mbmemcasecmp: New file.
28229
28230 2009-03-09  Bruno Haible  <bruno@clisp.org>
28231
28232         Tests for module 'unicase/ulc-casecoll'.
28233         * modules/unicase/ulc-casecoll-tests: New file.
28234         * tests/unicase/test-ulc-casecoll1.sh: New file.
28235         * tests/unicase/test-ulc-casecoll2.sh: New file.
28236         * tests/unicase/test-ulc-casecoll.c: New file.
28237
28238         New module 'unicase/ulc-casecoll'.
28239         * lib/unicase.h (ulc_casecoll): New declaration.
28240         * lib/unicase/ulc-casecoll.c: New file.
28241         * modules/unicase/ulc-casecoll: New file.
28242
28243         New module 'unicase/ulc-casexfrm'.
28244         * lib/unicase.h (ulc_casexfrm): New declaration.
28245         * lib/unicase/ulc-casexfrm.c: New file.
28246         * modules/unicase/ulc-casexfrm: New file.
28247
28248 2009-03-09  Bruno Haible  <bruno@clisp.org>
28249
28250         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
28251         invocations.
28252
28253         * m4/mbscasecmp.m4: Remove file.
28254         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
28255         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
28256
28257         * m4/mbscasestr.m4: Remove file.
28258         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
28259         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
28260
28261         * m4/mbschr.m4: Remove file.
28262         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
28263         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
28264
28265         * m4/mbscspn.m4: Remove file.
28266         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
28267         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
28268
28269         * m4/mbslen.m4: Remove file.
28270         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
28271         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
28272
28273         * m4/mbsncasecmp.m4: Remove file.
28274         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
28275         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
28276
28277         * m4/mbsnlen.m4: Remove file.
28278         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
28279         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
28280
28281         * m4/mbspbrk.m4: Remove file.
28282         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
28283         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
28284
28285         * m4/mbspcasecmp.m4: Remove file.
28286         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
28287         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
28288
28289         * m4/mbsrchr.m4: Remove file.
28290         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
28291         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
28292
28293         * m4/mbssep.m4: Remove file.
28294         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
28295         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
28296
28297         * m4/mbsspn.m4: Remove file.
28298         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
28299         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
28300
28301         * m4/mbsstr.m4: Remove file.
28302         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
28303         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
28304
28305         * m4/mbstok_r.m4: Remove file.
28306         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
28307         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
28308
28309         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
28310
28311         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
28312         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
28313
28314         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
28315
28316 2009-03-08  Bruno Haible  <bruno@clisp.org>
28317
28318         Tests for module 'unicase/ulc-casecmp'.
28319         * modules/unicase/ulc-casecmp-tests: New file.
28320         * tests/unicase/test-ulc-casecmp1.sh: New file.
28321         * tests/unicase/test-ulc-casecmp2.sh: New file.
28322         * tests/unicase/test-ulc-casecmp.c: New file.
28323
28324         New module 'unicase/ulc-casecmp'.
28325         * lib/unicase.h (ulc_casecmp): New declaration.
28326         * lib/unicase/ulc-casecmp.c: New file.
28327         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
28328         'const SRC_UNIT *'.
28329         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
28330         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
28331         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
28332         * modules/unicase/ulc-casecmp: New file.
28333
28334         Tests for module 'unicase/u32-is-cased'.
28335         * modules/unicase/u32-is-cased-tests: New file.
28336         * tests/unicase/test-u32-is-cased.c: New file.
28337
28338         Tests for module 'unicase/u16-is-cased'.
28339         * modules/unicase/u16-is-cased-tests: New file.
28340         * tests/unicase/test-u16-is-cased.c: New file.
28341
28342         Tests for module 'unicase/u8-is-cased'.
28343         * modules/unicase/u8-is-cased-tests: New file.
28344         * tests/unicase/test-u8-is-cased.c: New file.
28345         * tests/unicase/test-is-cased.h: New file.
28346
28347         New module 'unicase/u32-is-cased'.
28348         * lib/unicase/u32-is-cased.c: New file.
28349         * modules/unicase/u32-is-cased: New file.
28350
28351         New module 'unicase/u16-is-cased'.
28352         * lib/unicase/u16-is-cased.c: New file.
28353         * modules/unicase/u16-is-cased: New file.
28354
28355         New module 'unicase/u8-is-cased'.
28356         * lib/unicase/u8-is-cased.c: New file.
28357         * lib/unicase/u-is-cased.h: New file.
28358         * modules/unicase/u8-is-cased: New file.
28359
28360         Tests for module 'unicase/u32-is-casefolded'.
28361         * modules/unicase/u32-is-casefolded-tests: New file.
28362         * tests/unicase/test-u32-is-casefolded.c: New file.
28363
28364         Tests for module 'unicase/u16-is-casefolded'.
28365         * modules/unicase/u16-is-casefolded-tests: New file.
28366         * tests/unicase/test-u16-is-casefolded.c: New file.
28367
28368         Tests for module 'unicase/u8-is-casefolded'.
28369         * modules/unicase/u8-is-casefolded-tests: New file.
28370         * tests/unicase/test-u8-is-casefolded.c: New file.
28371         * tests/unicase/test-is-casefolded.h: New file.
28372
28373         New module 'unicase/u32-is-casefolded'.
28374         * lib/unicase/u32-is-casefolded.c: New file.
28375         * modules/unicase/u32-is-casefolded: New file.
28376
28377         New module 'unicase/u16-is-casefolded'.
28378         * lib/unicase/u16-is-casefolded.c: New file.
28379         * modules/unicase/u16-is-casefolded: New file.
28380
28381         New module 'unicase/u8-is-casefolded'.
28382         * lib/unicase/u8-is-casefolded.c: New file.
28383         * modules/unicase/u8-is-casefolded: New file.
28384
28385         Tests for module 'unicase/u32-is-titlecase'.
28386         * modules/unicase/u32-is-titlecase-tests: New file.
28387         * tests/unicase/test-u32-is-titlecase.c: New file.
28388
28389         Tests for module 'unicase/u16-is-titlecase'.
28390         * modules/unicase/u16-is-titlecase-tests: New file.
28391         * tests/unicase/test-u16-is-titlecase.c: New file.
28392
28393         Tests for module 'unicase/u8-is-titlecase'.
28394         * modules/unicase/u8-is-titlecase-tests: New file.
28395         * tests/unicase/test-u8-is-titlecase.c: New file.
28396         * tests/unicase/test-is-titlecase.h: New file.
28397
28398         New module 'unicase/u32-is-titlecase'.
28399         * lib/unicase/u32-is-titlecase.c: New file.
28400         * modules/unicase/u32-is-titlecase: New file.
28401
28402         New module 'unicase/u16-is-titlecase'.
28403         * lib/unicase/u16-is-titlecase.c: New file.
28404         * modules/unicase/u16-is-titlecase: New file.
28405
28406         New module 'unicase/u8-is-titlecase'.
28407         * lib/unicase/u8-is-titlecase.c: New file.
28408         * modules/unicase/u8-is-titlecase: New file.
28409
28410         Tests for module 'unicase/u32-is-lowercase'.
28411         * modules/unicase/u32-is-lowercase-tests: New file.
28412         * tests/unicase/test-u32-is-lowercase.c: New file.
28413
28414         Tests for module 'unicase/u16-is-lowercase'.
28415         * modules/unicase/u16-is-lowercase-tests: New file.
28416         * tests/unicase/test-u16-is-lowercase.c: New file.
28417
28418         Tests for module 'unicase/u8-is-lowercase'.
28419         * modules/unicase/u8-is-lowercase-tests: New file.
28420         * tests/unicase/test-u8-is-lowercase.c: New file.
28421         * tests/unicase/test-is-lowercase.h: New file.
28422
28423         New module 'unicase/u32-is-lowercase'.
28424         * lib/unicase/u32-is-lowercase.c: New file.
28425         * modules/unicase/u32-is-lowercase: New file.
28426
28427         New module 'unicase/u16-is-lowercase'.
28428         * lib/unicase/u16-is-lowercase.c: New file.
28429         * modules/unicase/u16-is-lowercase: New file.
28430
28431         New module 'unicase/u8-is-lowercase'.
28432         * lib/unicase/u8-is-lowercase.c: New file.
28433         * modules/unicase/u8-is-lowercase: New file.
28434
28435         Tests for module 'unicase/u32-is-uppercase'.
28436         * modules/unicase/u32-is-uppercase-tests: New file.
28437         * tests/unicase/test-u32-is-uppercase.c: New file.
28438
28439         Tests for module 'unicase/u16-is-uppercase'.
28440         * modules/unicase/u16-is-uppercase-tests: New file.
28441         * tests/unicase/test-u16-is-uppercase.c: New file.
28442
28443         Tests for module 'unicase/u8-is-uppercase'.
28444         * modules/unicase/u8-is-uppercase-tests: New file.
28445         * tests/unicase/test-u8-is-uppercase.c: New file.
28446         * tests/unicase/test-is-uppercase.h: New file.
28447
28448         New module 'unicase/u32-is-uppercase'.
28449         * lib/unicase/u32-is-uppercase.c: New file.
28450         * modules/unicase/u32-is-uppercase: New file.
28451
28452         New module 'unicase/u16-is-uppercase'.
28453         * lib/unicase/u16-is-uppercase.c: New file.
28454         * modules/unicase/u16-is-uppercase: New file.
28455
28456         New module 'unicase/u8-is-uppercase'.
28457         * lib/unicase/u8-is-uppercase.c: New file.
28458         * modules/unicase/u8-is-uppercase: New file.
28459
28460         New module 'unicase/u32-is-invariant'.
28461         * lib/unicase/u32-is-invariant.c: New file.
28462         * modules/unicase/u32-is-invariant: New file.
28463
28464         New module 'unicase/u16-is-invariant'.
28465         * lib/unicase/u16-is-invariant.c: New file.
28466         * modules/unicase/u16-is-invariant: New file.
28467
28468         New module 'unicase/u8-is-invariant'.
28469         * lib/unicase/u8-is-invariant.c: New file.
28470         * lib/unicase/invariant.h: New file.
28471         * lib/unicase/u-is-invariant.h: New file.
28472         * modules/unicase/u8-is-invariant: New file.
28473
28474         Tests for module 'unicase/u32-casecoll'.
28475         * modules/unicase/u32-casecoll-tests: New file.
28476         * tests/unicase/test-u32-casecoll.c: New file.
28477
28478         Tests for module 'unicase/u16-casecoll'.
28479         * modules/unicase/u16-casecoll-tests: New file.
28480         * tests/unicase/test-u16-casecoll.c: New file.
28481
28482         Tests for module 'unicase/u8-casecoll'.
28483         * modules/unicase/u8-casecoll-tests: New file.
28484         * tests/unicase/test-u8-casecoll.c: New file.
28485
28486         New module 'unicase/u32-casecoll'.
28487         * lib/unicase/u32-casecoll.c: New file.
28488         * modules/unicase/u32-casecoll: New file.
28489
28490         New module 'unicase/u16-casecoll'.
28491         * lib/unicase/u16-casecoll.c: New file.
28492         * modules/unicase/u16-casecoll: New file.
28493
28494         New module 'unicase/u8-casecoll'.
28495         * lib/unicase/u8-casecoll.c: New file.
28496         * lib/unicase/u-casecoll.h: New file.
28497         * modules/unicase/u8-casecoll: New file.
28498
28499         New module 'unicase/u32-casexfrm'.
28500         * lib/unicase/u32-casexfrm.c: New file.
28501         * modules/unicase/u32-casexfrm: New file.
28502
28503         New module 'unicase/u16-casexfrm'.
28504         * lib/unicase/u16-casexfrm.c: New file.
28505         * modules/unicase/u16-casexfrm: New file.
28506
28507         New module 'unicase/u8-casexfrm'.
28508         * lib/unicase/u8-casexfrm.c: New file.
28509         * lib/unicase/u-casexfrm.h: New file.
28510         * modules/unicase/u8-casexfrm: New file.
28511
28512         Tests for module 'unicase/u32-casecmp'.
28513         * modules/unicase/u32-casecmp-tests: New file.
28514         * tests/unicase/test-u32-casecmp.c: New file.
28515
28516         Tests for module 'unicase/u16-casecmp'.
28517         * modules/unicase/u16-casecmp-tests: New file.
28518         * tests/unicase/test-u16-casecmp.c: New file.
28519
28520         Tests for module 'unicase/u8-casecmp'.
28521         * modules/unicase/u8-casecmp-tests: New file.
28522         * tests/unicase/test-u8-casecmp.c: New file.
28523         * tests/unicase/test-casecmp.h: New file.
28524
28525         New module 'unicase/u32-casecmp'.
28526         * lib/unicase/u32-casecmp.c: New file.
28527         * modules/unicase/u32-casecmp: New file.
28528
28529         New module 'unicase/u16-casecmp'.
28530         * lib/unicase/u16-casecmp.c: New file.
28531         * modules/unicase/u16-casecmp: New file.
28532
28533         New module 'unicase/u8-casecmp'.
28534         * lib/unicase/u8-casecmp.c: New file.
28535         * lib/unicase/u-casecmp.h: New file.
28536         * modules/unicase/u8-casecmp: New file.
28537
28538         Tests for module 'unicase/u32-casefold'.
28539         * modules/unicase/u32-casefold-tests: New file.
28540         * tests/unicase/test-u32-casefold.c: New file.
28541
28542         Tests for module 'unicase/u16-casefold'.
28543         * modules/unicase/u16-casefold-tests: New file.
28544         * tests/unicase/test-u16-casefold.c: New file.
28545
28546         Tests for module 'unicase/u8-casefold'.
28547         * modules/unicase/u8-casefold-tests: New file.
28548         * tests/unicase/test-u8-casefold.c: New file.
28549
28550         New module 'unicase/u32-casefold'.
28551         * lib/unicase/u32-casefold.c: New file.
28552         * modules/unicase/u32-casefold: New file.
28553
28554         New module 'unicase/u16-casefold'.
28555         * lib/unicase/u16-casefold.c: New file.
28556         * modules/unicase/u16-casefold: New file.
28557
28558         New module 'unicase/u8-casefold'.
28559         * lib/unicase/u8-casefold.c: New file.
28560         * lib/unicase/u-casefold.h: New file.
28561         * modules/unicase/u8-casefold: New file.
28562
28563         New module 'unicase/tocasefold'.
28564         * lib/unicase/casefold.h: New file.
28565         * lib/unicase/tocasefold.c: New file.
28566         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
28567         * modules/unicase/tocasefold: New file.
28568
28569         Tests for module 'unicase/u32-totitle'.
28570         * modules/unicase/u32-totitle-tests: New file.
28571         * tests/unicase/test-u32-totitle.c: New file.
28572
28573         Tests for module 'unicase/u16-totitle'.
28574         * modules/unicase/u16-totitle-tests: New file.
28575         * tests/unicase/test-u16-totitle.c: New file.
28576
28577         Tests for module 'unicase/u8-totitle'.
28578         * modules/unicase/u8-totitle-tests: New file.
28579         * tests/unicase/test-u8-totitle.c: New file.
28580
28581         New module 'unicase/u32-totitle'.
28582         * lib/unicase/u32-totitle.c: New file.
28583         * modules/unicase/u32-totitle: New file.
28584
28585         New module 'unicase/u16-totitle'.
28586         * lib/unicase/u16-totitle.c: New file.
28587         * modules/unicase/u16-totitle: New file.
28588
28589         New module 'unicase/u8-totitle'.
28590         * lib/unicase/u8-totitle.c: New file.
28591         * lib/unicase/u-totitle.h: New file.
28592         * modules/unicase/u8-totitle: New file.
28593
28594         Tests for module 'unicase/u32-tolower'.
28595         * modules/unicase/u32-tolower-tests: New file.
28596         * tests/unicase/test-u32-tolower.c: New file.
28597
28598         Tests for module 'unicase/u16-tolower'.
28599         * modules/unicase/u16-tolower-tests: New file.
28600         * tests/unicase/test-u16-tolower.c: New file.
28601
28602         Tests for module 'unicase/u8-tolower'.
28603         * modules/unicase/u8-tolower-tests: New file.
28604         * tests/unicase/test-u8-tolower.c: New file.
28605
28606         New module 'unicase/u32-tolower'.
28607         * lib/unicase/u32-tolower.c: New file.
28608         * modules/unicase/u32-tolower: New file.
28609
28610         New module 'unicase/u16-tolower'.
28611         * lib/unicase/u16-tolower.c: New file.
28612         * modules/unicase/u16-tolower: New file.
28613
28614         New module 'unicase/u8-tolower'.
28615         * lib/unicase/u8-tolower.c: New file.
28616         * modules/unicase/u8-tolower: New file.
28617
28618         Tests for module 'unicase/u32-toupper'.
28619         * modules/unicase/u32-toupper-tests: New file.
28620         * tests/unicase/test-u32-toupper.c: New file.
28621
28622         Tests for module 'unicase/u16-toupper'.
28623         * modules/unicase/u16-toupper-tests: New file.
28624         * tests/unicase/test-u16-toupper.c: New file.
28625
28626         Tests for module 'unicase/u8-toupper'.
28627         * modules/unicase/u8-toupper-tests: New file.
28628         * tests/unicase/test-u8-toupper.c: New file.
28629
28630         New module 'unicase/u32-toupper'.
28631         * lib/unicase/u32-toupper.c: New file.
28632         * modules/unicase/u32-toupper: New file.
28633
28634         New module 'unicase/u16-toupper'.
28635         * lib/unicase/u16-toupper.c: New file.
28636         * modules/unicase/u16-toupper: New file.
28637
28638         New module 'unicase/u8-toupper'.
28639         * lib/unicase/u8-toupper.c: New file.
28640         * modules/unicase/u8-toupper: New file.
28641
28642         New module 'unicase/u32-casemap'.
28643         * lib/unicase/u32-casemap.c: New file.
28644         * modules/unicase/u32-casemap: New file.
28645
28646         New module 'unicase/u16-casemap'.
28647         * lib/unicase/u16-casemap.c: New file.
28648         * modules/unicase/u16-casemap: New file.
28649
28650         New module 'unicase/u8-casemap'.
28651         * lib/unicase/unicasemap.h: New file.
28652         * lib/unicase/u8-casemap.c: New file.
28653         * lib/unicase/u-casemap.h: New file.
28654         * modules/unicase/u8-casemap: New file.
28655
28656         New module 'unicase/special-casing'.
28657         * lib/unicase/special-casing.h: New file.
28658         * lib/unicase/special-casing.c: New file.
28659         * lib/unicase/special-casing-table.gperf: New file, generated by
28660         gen-uni-tables.c.
28661         * modules/unicase/special-casing: New file.
28662
28663         Tests for module 'unicase/locale-language'.
28664         * modules/unicase/locale-language-tests: New file.
28665         * tests/unicase/test-locale-language.sh: New file.
28666         * tests/unicase/test-locale-language.c: New file.
28667
28668         New module 'unicase/locale-language'.
28669         * lib/unicase/locale-language.c: New file.
28670         * lib/unicase/locale-languages.gperf: New file.
28671         * modules/unicase/locale-language: New file.
28672
28673         Generate more tables for case conversion and case folding.
28674         * lib/gen-uni-tables.c (SCC_*): New enum items.
28675         (struct special_casing_rule): New type.
28676         (casing_rules, num_casing_rules, allocated_casing_rules): New
28677         variables.
28678         (add_casing_rule, fill_casing_rules): New functions.
28679         (struct casefold_rule): New type.
28680         (casefolding_rules, num_casefolding_rules,
28681         allocated_casefolding_rules): New variables.
28682         (fill_casefolding_rules): New function.
28683         (unicode_casefold): New variable.
28684         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
28685         sort_casing_rules, output_casing_rules): New functions.
28686         (main): Accept to more arguments: SpecialCasing.txt and
28687         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28688         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28689         Output mapping for casefolding.
28690
28691         * lib/unicase.h: Include stdbool.h, uninorm.h.
28692         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28693         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28694         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28695         arguments.
28696         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28697         resultp arguments.
28698         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28699         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28700         resultp arguments.
28701         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28702         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28703         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28704         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28705         declarations.
28706         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28707
28708 2009-03-08  Bruno Haible  <bruno@clisp.org>
28709
28710         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28711         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28712         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28713         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28714
28715 2009-03-07  Bruno Haible  <bruno@clisp.org>
28716
28717         Adjust u*_normcmp, u*_normcoll API.
28718         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28719         u16_normcoll, u32_normcoll): Change failure conventions.
28720         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28721         errno and return -1.
28722         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28723
28724 2009-03-07  Bruno Haible  <bruno@clisp.org>
28725
28726         Tests for module 'uninorm/u32-normcoll'.
28727         * modules/uninorm/u32-normcoll-tests: New file.
28728         * tests/uninorm/test-u32-normcoll.c: New file.
28729
28730         Tests for module 'uninorm/u16-normcoll'.
28731         * modules/uninorm/u16-normcoll-tests: New file.
28732         * tests/uninorm/test-u16-normcoll.c: New file.
28733
28734         Tests for module 'uninorm/u8-normcoll'.
28735         * modules/uninorm/u8-normcoll-tests: New file.
28736         * tests/uninorm/test-u8-normcoll.c: New file.
28737
28738 2009-03-07  Bruno Haible  <bruno@clisp.org>
28739
28740         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28741         tests/uninorm/test-u32-normcmp.c.
28742         * tests/uninorm/test-u32-normcmp.c: Include it.
28743         (test_nonascii): New function, extracted from main. Add some more
28744         tests.
28745         (main): Invoke test_ascii and test_nonascii.
28746         * modules/uninorm/u32-normcmp-tests (Files): Add
28747         tests/uninorm/test-u32-normcmp.h.
28748         (Depends-on): Remove uninorm/u32-normcmp.
28749
28750         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28751         tests/uninorm/test-u16-normcmp.c.
28752         * tests/uninorm/test-u16-normcmp.c: Include it.
28753         (test_nonascii): New function, extracted from main. Add some more
28754         tests.
28755         (main): Invoke test_ascii and test_nonascii.
28756         * modules/uninorm/u16-normcmp-tests (Files): Add
28757         tests/uninorm/test-u16-normcmp.h.
28758         (Depends-on): Remove uninorm/u16-normcmp.
28759
28760         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28761         tests/uninorm/test-u8-normcmp.c.
28762         * tests/uninorm/test-u8-normcmp.c: Include it.
28763         (test_nonascii): New function, extracted from main. Add some more
28764         tests.
28765         (main): Invoke test_ascii and test_nonascii.
28766         * modules/uninorm/u8-normcmp-tests (Files): Add
28767         tests/uninorm/test-u8-normcmp.h.
28768         (Depends-on): Remove uninorm/u8-normcmp.
28769
28770 2009-03-07  Bruno Haible  <bruno@clisp.org>
28771
28772         New module 'uninorm/u32-normcoll'.
28773         * lib/uninorm/u32-normcoll.c: New file.
28774         * modules/uninorm/u32-normcoll: New file.
28775
28776         New module 'uninorm/u16-normcoll'.
28777         * lib/uninorm/u16-normcoll.c: New file.
28778         * modules/uninorm/u16-normcoll: New file.
28779
28780         New module 'uninorm/u8-normcoll'.
28781         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28782         declarations.
28783         * lib/uninorm/u8-normcoll.c: New file.
28784         * lib/uninorm/u-normcoll.h: New file.
28785         * modules/uninorm/u8-normcoll: New file.
28786
28787         New module 'uninorm/u32-normxfrm'.
28788         * lib/uninorm/u32-normxfrm.c: New file.
28789         * modules/uninorm/u32-normxfrm: New file.
28790
28791         New module 'uninorm/u16-normxfrm'.
28792         * lib/uninorm/u16-normxfrm.c: New file.
28793         * modules/uninorm/u16-normxfrm: New file.
28794
28795         New module 'uninorm/u8-normxfrm'.
28796         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28797         declarations.
28798         * lib/uninorm/u8-normxfrm.c: New file.
28799         * lib/uninorm/u-normxfrm.h: New file.
28800         * modules/uninorm/u8-normxfrm: New file.
28801
28802 2009-03-07  Bruno Haible  <bruno@clisp.org>
28803
28804         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28805         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28806         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28807
28808 2009-03-07  Bruno Haible  <bruno@clisp.org>
28809
28810         New module 'memxfrm'.
28811         * lib/memxfrm.h: New file.
28812         * lib/memxfrm.c: New file.
28813         * modules/memxfrm: New file.
28814
28815 2009-03-07  Bruno Haible  <bruno@clisp.org>
28816
28817         New module 'memcmp2'.
28818         * lib/memcmp2.h: New file.
28819         * lib/memcmp2.c: New file.
28820         * modules/memcmp2: New file.
28821
28822 2009-03-07  Bruno Haible  <bruno@clisp.org>
28823
28824         Tests for module 'uninorm/decomposing-form'.
28825         * modules/uninorm/decomposing-form-tests: New file.
28826         * tests/uninorm/test-decomposing-form.c: New file.
28827
28828         New module 'uninorm/decomposing-form'.
28829         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28830         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28831         Add 'decomposing_variant' field.
28832         * lib/uninorm/decomposing-form.c: New file.
28833         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28834         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28835         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28836         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28837         * modules/uninorm/decomposing-form: New file.
28838         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28839         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28840
28841 2009-03-07  Bruno Haible  <bruno@clisp.org>
28842
28843         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28844         strings.
28845
28846 2009-03-06  Bruno Haible  <bruno@clisp.org>
28847
28848         Tests for module 'uninorm/u32-normcmp'.
28849         * tests/uninorm/test-u32-normcmp.c: New file.
28850         * modules/uninorm/u32-normcmp-tests: New file.
28851
28852         Tests for module 'uninorm/u16-normcmp'.
28853         * tests/uninorm/test-u16-normcmp.c: New file.
28854         * modules/uninorm/u16-normcmp-tests: New file.
28855
28856         Tests for module 'uninorm/u8-normcmp'.
28857         * tests/uninorm/test-u8-normcmp.c: New file.
28858         * modules/uninorm/u8-normcmp-tests: New file.
28859
28860         New module 'uninorm/u32-normcmp'.
28861         * lib/uninorm/u32-normcmp.c: New file.
28862         * modules/uninorm/u32-normcmp: New file.
28863
28864         New module 'uninorm/u16-normcmp'.
28865         * lib/uninorm/u16-normcmp.c: New file.
28866         * modules/uninorm/u16-normcmp: New file.
28867
28868         New module 'uninorm/u8-normcmp'.
28869         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28870         declarations.
28871         * lib/uninorm/u8-normcmp.c: New file.
28872         * lib/uninorm/u-normcmp.h: New file.
28873         * modules/uninorm/u8-normcmp: New file.
28874
28875 2009-03-06  Bruno Haible  <bruno@clisp.org>
28876
28877         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28878         Reported by Eric Blake.
28879
28880 2009-03-06  Eric Blake  <ebb9@byu.net>
28881             Bruno Haible  <bruno@clisp.org>
28882
28883         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28884         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28885         condition.
28886         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28887         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28888         condition.
28889         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28890
28891 2009-03-06  Eric Blake  <ebb9@byu.net>
28892
28893         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28894         to avoid compiler warnings.
28895         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28896
28897 2009-03-05  Bruno Haible  <bruno@clisp.org>
28898
28899         * tests/test-ftell.c (main): Disable test beyond end of file on
28900         FreeMiNT.
28901         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28902
28903 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28904
28905         * lib/filevercmp.c: Move hidden files up in ordering.
28906         * tests/test-filevercmp.c: Add tests for hidden files.
28907
28908 2009-03-04  Bruno Haible  <bruno@clisp.org>
28909
28910         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28911         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28912         AM_CFLAGS.
28913         Reported by Simon Josefsson.
28914
28915 2009-03-03  Bruno Haible  <bruno@clisp.org>
28916
28917         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28918         Reported by Simon Josefsson.
28919
28920         * doc/ld-version-script.texi: Update node reference.
28921
28922 2009-03-03  Bruno Haible  <bruno@clisp.org>
28923
28924         * modules/visibility (License): Change to 'unlimited'.
28925         Suggested by Simon Josefsson.
28926
28927 2009-03-03  Jim Meyering  <meyering@redhat.com>
28928
28929         unlinkdir: cannot_unlink_dir may modify process state
28930         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
28931         it's neither thread-safe nor appropriate for use in a library.
28932
28933 2009-03-03  Eric Blake  <ebb9@byu.net>
28934
28935         test-closein: silence test under Darwin
28936         * tests/test-closein.sh: Ignore stderr from cat, since we don't
28937         care if it dies from EPIPE or EBADF.
28938
28939 2009-03-03  Bruno Haible  <bruno@clisp.org>
28940
28941         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
28942         earlier.
28943         * doc/visibility.texi: Fix @node and @section.
28944
28945 2009-03-03  Simon Josefsson  <simon@josefsson.org>
28946
28947         * doc/gnulib.texi: Link to sections for ld version script and
28948         visibility.
28949         * doc/visibility.texi: Add @node and @section.
28950         * modules/ld-version-script: New module.
28951         * m4/ld-version-script.m4: New file.
28952         * doc/ld-version-script.texi: New file.
28953
28954 2009-03-02  David Lutterkort  <lutter@redhat.com>
28955
28956         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
28957         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28958
28959 2009-03-02  Bruno Haible  <bruno@clisp.org>
28960
28961         * doc/visibility.texi: Mention libtool's -export-symbols option.
28962
28963 2009-03-02  Jim Meyering  <meyering@redhat.com>
28964
28965         announce-gen: new option: --no-print-checksums
28966         * build-aux/announce-gen (usage): Describe it.
28967         (print_checksums): Print a newline here, not in the [*] footnote.
28968         (main): Honor it.
28969
28970 2009-03-01  Bruno Haible  <bruno@clisp.org>
28971
28972         Use socklen_t in the native Windows replacements prototypes.
28973         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
28974         instead of 'int'.
28975         * lib/getsockopt.c (rpl_getsockopt): Likewise.
28976         * lib/setsockopt.c (rpl_setsockopt): Likewise.
28977         * modules/getsockopt (Depends-on): Add socklen.
28978         * modules/setsockopt (Depends-on): Add socklen.
28979
28980 2009-03-01  Bruno Haible  <bruno@clisp.org>
28981
28982         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
28983         least 4.2.
28984
28985 2009-03-01  Eric Blake  <ebb9@byu.net>
28986             Bruno Haible  <bruno@clisp.org>
28987
28988         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
28989         error messages.
28990         * lib/wait-process.c (wait_subprocess): Omit error message about
28991         deadly signal sent to the child of termsigp != NULL.
28992
28993 2009-03-01  Eric Blake  <ebb9@byu.net>
28994
28995         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
28996
28997 2009-03-01  Bruno Haible  <bruno@clisp.org>
28998
28999         Avoid a gcc warning.
29000         * tests/test-sched.c (b): Make global.
29001         Reported by Eric Blake.
29002
29003 2009-01-19  Martin Lambers  <marlam@marlam.de>
29004
29005         Provide POSIX semantics for socket timeout options on W32.
29006         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
29007         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
29008         * modules/setsockopt: Depend on sys_time module for struct timeval.
29009         * modules/getsockopt: Depend on sys_time module for struct timeval.
29010
29011 2009-03-01  Simon Josefsson  <simon@josefsson.org>
29012
29013         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
29014         __USE_GNU, for consistency with netdb.in.h.
29015         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29016
29017 2009-03-01  Bruno Haible  <bruno@clisp.org>
29018
29019         More support for FreeMiNT.
29020         * lib/fseeko.c (rpl_fseeko): Complete last commit.
29021         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29022
29023 2009-03-01  Bruno Haible  <bruno@clisp.org>
29024
29025         More support for FreeMiNT.
29026         * lib/fpurge.c (fpurge): Correct last commit.
29027         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29028
29029 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29030
29031         Fix unportable awk script in vc-list-files.
29032         * build-aux/vc-list-files: In the replacement awk script, use
29033         substr with a second argument of 1, not zero.
29034         Report by Simon Josefsson.
29035
29036 2009-02-28  Bruno Haible  <bruno@clisp.org>
29037
29038         More support for FreeMiNT.
29039         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
29040         to FreeMiNT today.
29041         * lib/fwriting.c (fwriting): Likewise.
29042         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
29043
29044 2009-02-28  Bruno Haible  <bruno@clisp.org>
29045
29046         * tests/test-freadseek.c (main): Disable test beyond end of file on
29047         FreeMiNT.
29048         * tests/test-ftello.c (main): Likewise.
29049         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29050
29051 2009-02-28  Bruno Haible  <bruno@clisp.org>
29052
29053         Add tentative support for FreeMiNT.
29054         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
29055         * lib/fpurge.c (fpurge): Likewise.
29056         * lib/freadable.c (freadable): Likewise.
29057         * lib/freading.c (freading): Likewise.
29058         * lib/freadptr.c (freadptr): Likewise.
29059         * lib/freadseek.c (freadptrinc): Likewise.
29060         * lib/fseeko.c (rpl_fseeko): Likewise.
29061         * lib/fseterr.c (fseterr): Likewise.
29062         * lib/fwritable.c (fwritable): Likewise.
29063         * lib/fwriting.c (fwriting): Likewise.
29064         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
29065         Hourihane.
29066         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29067
29068 2009-02-28  Bruno Haible  <bruno@clisp.org>
29069
29070         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
29071         SIGCHLD.
29072         Reported by Jim Meyering.
29073
29074 2009-02-28  Bruno Haible  <bruno@clisp.org>
29075
29076         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
29077         Mention the results of these tests on various platforms.
29078         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
29079         order.
29080         * doc/posix-functions/printf.texi: Likewise.
29081         * doc/posix-functions/snprintf.texi: Likewise.
29082         * doc/posix-functions/sprintf.texi: Likewise.
29083         * doc/posix-functions/vfprintf.texi: Likewise.
29084         * doc/posix-functions/vprintf.texi: Likewise.
29085         * doc/posix-functions/vsnprintf.texi: Likewise.
29086         * doc/posix-functions/vsprintf.texi: Likewise.
29087         * doc/glibc-functions/obstack_printf.texi: Likewise.
29088         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29089
29090 2009-02-28  Bruno Haible  <bruno@clisp.org>
29091
29092         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
29093         Reported by Loïc Minier <lool@dooz.org>.
29094
29095 2009-02-27  Bruno Haible  <bruno@clisp.org>
29096
29097         * gnulib-tool (func_import): Make the sed expression used to create the
29098         sed script for updating the .gitignore file POSIX compliant.
29099         Reported by Eric Blake.
29100
29101 2009-02-27  Bruno Haible  <bruno@clisp.org>
29102
29103         * gnulib-tool (sed): Don't alias as "sed --posix".
29104         Reported by Eric Blake.
29105
29106 2009-02-27  Bruno Haible  <bruno@clisp.org>
29107
29108         Avoid test link errors.
29109         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
29110         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
29111         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
29112         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
29113         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29114
29115 2009-02-27  Bruno Haible  <bruno@clisp.org>
29116
29117         Avoid spurious "(cached)" in configure output.
29118         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
29119         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
29120         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29121         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29122         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29123         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29124         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29125         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29126         Reported by Eric Blake.
29127
29128 2009-02-27  Eric Blake  <ebb9@byu.net>
29129
29130         printf: fix regression in previous patch
29131         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
29132
29133 2009-02-27  Bruno Haible  <bruno@clisp.org>
29134
29135         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
29136         value.
29137         * lib/stdint.in.h: Likewise.
29138         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
29139
29140 2009-02-27  Eric Blake  <ebb9@byu.net>
29141
29142         doc: mention more functions added in cygwin 1.7.0
29143         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
29144         addition.
29145         * doc/posix-functions/open_wmemstream.texi: Likewise.
29146         * doc/posix-functions/wcsnlen.texi: Likewise.
29147         * doc/posix-functions/wcsnrtombs.texi: Likewise.
29148         * doc/posix-functions/wcstod.texi: Likewise.
29149         * doc/posix-functions/wcstof.texi: Likewise.
29150         * doc/posix-functions/wcstoimax.texi: Likewise.
29151         * doc/posix-functions/wcstok.texi: Likewise.
29152         * doc/posix-functions/wcstoumax.texi: Likewise.
29153
29154         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
29155         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
29156         * doc/posix-functions/fprintf.texi: Update.
29157         * doc/posix-functions/printf.texi: Update.
29158         * doc/posix-functions/snprintf.texi: Update.
29159         * doc/posix-functions/sprintf.texi: Update.
29160         * doc/posix-functions/vfprintf.texi: Update.
29161         * doc/posix-functions/vprintf.texi: Update.
29162         * doc/posix-functions/vsnprintf.texi: Update.
29163         * doc/posix-functions/vsprintf.texi: Update.
29164         * doc/glibc-functions/obstack_printf.texi: Update.
29165         * doc/glibc-functions/obstack_vprintf.texi: Update.
29166
29167 2009-02-26  Eric Blake  <ebb9@byu.net>
29168
29169         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
29170         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
29171         compilation bug by using runtime conversion.
29172         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29173         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
29174         * modules/ceill-tests (Files): Use nan.h.
29175         * modules/floorl-tests (Files): Likewise.
29176         * modules/frexpl-tests (Files): Likewise.
29177         * modules/isnanl-tests (Files): Likewise.
29178         * modules/ldexpl-tests (Files): Likewise.
29179         * modules/roundl-tests (Files): Likewise.
29180         * modules/truncl-tests (Files): Likewise.
29181         * tests/test-ceill.c (main): Use a working NaN.
29182         * tests/test-floorl.c (main): Likewise.
29183         * tests/test-frexpl.c (main): Likewise.
29184         * tests/test-isnan.c (test_long_double): Likewise.
29185         * tests/test-isnanl.h (main): Likewise.
29186         * tests/test-ldexpl.h (main): Likewise.
29187         * tests/test-roundl.h (main): Likewise.
29188         * tests/test-truncl.h (main): Likewise.
29189         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
29190
29191 2009-02-26  Eric Blake  <ebb9@byu.net>
29192             Bruno Haible  <bruno@clisp.org>
29193
29194         Work around a *printf bug with %ls on Solaris.
29195         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
29196         precision is specified, sprintf stops converting the wide string
29197         argument when the number of bytes that have been produced by this
29198         conversion equals or exceeds the precision.
29199         * doc/posix-functions/fprintf.texi: Update.
29200         * doc/posix-functions/printf.texi: Update.
29201         * doc/posix-functions/snprintf.texi: Update.
29202         * doc/posix-functions/sprintf.texi: Update.
29203         * doc/posix-functions/vfprintf.texi: Update.
29204         * doc/posix-functions/vprintf.texi: Update.
29205         * doc/posix-functions/vsnprintf.texi: Update.
29206         * doc/posix-functions/vsprintf.texi: Update.
29207         * doc/glibc-functions/obstack_printf.texi: Update.
29208         * doc/glibc-functions/obstack_vprintf.texi: Update.
29209
29210 2009-02-26  Eric Blake  <ebb9@byu.net>
29211
29212         stdlib: favor compiler check of random.h
29213         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
29214         to avoid an ObjC random.h installed by Swarm.
29215
29216 2009-02-26  Bruno Haible  <bruno@clisp.org>
29217
29218         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
29219         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
29220         Reported by Gary V. Vaughan <gary@gnu.org>.
29221
29222 2009-02-26  Bruno Haible  <bruno@clisp.org>
29223
29224         Fix *printf behaviour regarding the %ls directive.
29225         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
29226         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
29227         NEED_PRINTF_DIRECTIVE_LS.
29228         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
29229         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29230         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29231         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
29232         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
29233         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
29234         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29235         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29236         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29237         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29238         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29239         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
29240         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29241         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29242         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29243         * doc/posix-functions/fprintf.texi: Update.
29244         * doc/posix-functions/printf.texi: Update.
29245         * doc/posix-functions/snprintf.texi: Update.
29246         * doc/posix-functions/sprintf.texi: Update.
29247         * doc/posix-functions/vfprintf.texi: Update.
29248         * doc/posix-functions/vprintf.texi: Update.
29249         * doc/posix-functions/vsnprintf.texi: Update.
29250         * doc/posix-functions/vsprintf.texi: Update.
29251         * doc/glibc-functions/obstack_printf.texi: Update.
29252         * doc/glibc-functions/obstack_vprintf.texi: Update.
29253         Reported by Eric Blake.
29254
29255 2009-02-25  Bruno Haible  <bruno@clisp.org>
29256
29257         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
29258         with known value.
29259         Reported by Gary V. Vaughan <gary@gnu.org>.
29260
29261 2009-02-25  Bruno Haible  <bruno@clisp.org>
29262
29263         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
29264         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
29265         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
29266         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
29267         Reported by Gary V. Vaughan <gary@gnu.org>.
29268
29269 2009-02-25  Bruno Haible  <bruno@clisp.org>
29270
29271         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
29272         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
29273         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
29274         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
29275         Reported by Gary V. Vaughan <gary@gnu.org>.
29276
29277 2009-02-25  Eric Blake  <ebb9@byu.net>
29278
29279         tests: skip fseek/ftell tests if ungetc is broken
29280         * m4/ungetc.m4: New file.
29281         * modules/fseek-tests: Split test, so ungetc dependency is
29282         separate from rest of test.
29283         * modules/fseeko-tests: Likewise.
29284         * modules/ftell-tests: Likewise.
29285         * modules/ftello-tests: Likewise.
29286         * tests/test-fseek.c (main): Isolate ungetc dependency.
29287         * tests/test-fseeko.c (main): Likewise.
29288         * tests/test-ftell.c (main): Likewise.
29289         * tests/test-ftello.c (main): Likewise.
29290         * tests/test-fseek2.sh: New file.
29291         * tests/test-fseeko2.sh: Likewise.
29292         * tests/test-ftell2.sh: Likewise.
29293         * tests/test-ftello2.sh: Likewise.
29294
29295 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
29296
29297         test-getaddrinfo: fix usage of skip return code 77
29298         * tests/test-gettaddrinfo.c: Return skip code 77 only
29299         for first occurance of skip (4x77 is not 77)
29300
29301 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
29302
29303         strtod: avoid C99 decl-after-statement
29304         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
29305
29306 2009-02-24  Eric Blake  <ebb9@byu.net>
29307
29308         strtod: detect HP-UX 11.31 bug
29309         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
29310         Reported by Gary V. Vaughan.
29311
29312 2009-02-23  Bruno Haible  <bruno@clisp.org>
29313
29314         Fix invalid read past end of memory block.
29315         * lib/vasnprintf.c (DCHAR_SET): Define.
29316         (local_wcslen): Define only when needed.
29317         (local_strnlen, local_wcsnlen): New functions.
29318         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
29319         directives that involve a conversion ourselves.
29320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
29321         wcsnlen, mbrtowc, wcrtomb.
29322         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
29323         * tests/test-vasprintf-posix.c (test_function): Likewise.
29324         * tests/test-snprintf-posix.h (test_function): Likewise.
29325         * tests/test-sprintf-posix.h (test_function): Likewise.
29326         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29327
29328 2009-02-22  Bruno Haible  <bruno@clisp.org>
29329
29330         Implement new clarified decomposition of Hangul syllables.
29331         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
29332         of type LTV, return only a pairwise decomposition.
29333         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
29334         Likewise.
29335         * tests/uninorm/test-decomposition.c (main): Updated expected result.
29336         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
29337         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
29338
29339 2009-02-22  Bruno Haible  <bruno@clisp.org>
29340
29341         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
29342         zero-length results and shrink excess allocated memory.
29343         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
29344         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
29345         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
29346         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
29347         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
29348         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
29349         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
29350         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
29351         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
29352         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
29353         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
29354         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
29355
29356 2009-02-21  Bruno Haible  <bruno@clisp.org>
29357
29358         * doc/gnulib.texi: Include safe-alloc.texi earlier.
29359         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
29360         spaces after a period. Put a space between a macro name and its
29361         argument list. Trivial rewordings.
29362         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
29363         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
29364         (main): Return 0 explicitly.
29365
29366 2009-02-21  Bruno Haible  <bruno@clisp.org>
29367
29368         Tests for module 'uninorm/filter'.
29369         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
29370         * modules/uninorm/filter-tests: New file.
29371
29372         New module 'uninorm/filter'.
29373         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
29374         uninorm_filter_flush, uninorm_filter_free): New declarations.
29375         * lib/uninorm/uninorm-filter.c: New file.
29376         * modules/uninorm/filter: New file.
29377
29378 2009-02-21  Bruno Haible  <bruno@clisp.org>
29379
29380         Tests for module 'uninorm/nfkc'.
29381         * tests/uninorm/test-nfkc.c: New file.
29382         * tests/uninorm/test-u8-nfkc.c: New file.
29383         * tests/uninorm/test-u16-nfkc.c: New file.
29384         * tests/uninorm/test-u32-nfkc.c: New file.
29385         * tests/uninorm/test-u32-nfkc-big.sh: New file.
29386         * tests/uninorm/test-u32-nfkc-big.c: New file.
29387         * modules/uninorm/nfkc-tests: New file.
29388
29389         New module 'uninorm/nfkc'.
29390         * lib/uninorm/nfkc.c: New file.
29391         * modules/uninorm/nfkc: New file.
29392
29393         Tests for module 'uninorm/nfkd'.
29394         * tests/uninorm/test-nfkd.c: New file.
29395         * tests/uninorm/test-u8-nfkd.c: New file.
29396         * tests/uninorm/test-u16-nfkd.c: New file.
29397         * tests/uninorm/test-u32-nfkd.c: New file.
29398         * tests/uninorm/test-u32-nfkd-big.sh: New file.
29399         * tests/uninorm/test-u32-nfkd-big.c: New file.
29400         * modules/uninorm/nfkd-tests: New file.
29401
29402         New module 'uninorm/nfkd'.
29403         * lib/uninorm/nfkd.c: New file.
29404         * modules/uninorm/nfkd: New file.
29405
29406         Tests for module 'uninorm/nfc'.
29407         * tests/uninorm/test-nfc.c: New file.
29408         * tests/uninorm/test-u8-nfc.c: New file.
29409         * tests/uninorm/test-u16-nfc.c: New file.
29410         * tests/uninorm/test-u32-nfc.c: New file.
29411         * tests/uninorm/test-u32-nfc-big.sh: New file.
29412         * tests/uninorm/test-u32-nfc-big.c: New file.
29413         * modules/uninorm/nfc-tests: New file.
29414
29415         New module 'uninorm/nfc'.
29416         * lib/uninorm/nfc.c: New file.
29417         * modules/uninorm/nfc: New file.
29418
29419         Tests for module 'uninorm/nfd'.
29420         * tests/uninorm/test-nfd.c: New file.
29421         * tests/uninorm/test-u8-nfd.c: New file.
29422         * tests/uninorm/test-u16-nfd.c: New file.
29423         * tests/uninorm/test-u32-nfd.c: New file.
29424         * tests/uninorm/test-u32-nfd-big.sh: New file.
29425         * tests/uninorm/test-u32-nfd-big.c: New file.
29426         * tests/uninorm/test-u32-normalize-big.h: New file.
29427         * tests/uninorm/test-u32-normalize-big.c: New file.
29428         * tests/uninorm/NormalizationTest.txt: New file, created from
29429         Unicode 5.1.0 NormalizationTest.txt.
29430         * modules/uninorm/nfd-tests: New file.
29431
29432         New module 'uninorm/nfd'.
29433         * lib/uninorm/nfd.c: New file.
29434         * modules/uninorm/nfd: New file.
29435
29436         New module 'uninorm/u32-normalize'.
29437         * lib/uninorm/u32-normalize.c: New file.
29438         * modules/uninorm/u32-normalize: New file.
29439
29440         New module 'uninorm/u16-normalize'.
29441         * lib/uninorm/u16-normalize.c: New file.
29442         * modules/uninorm/u16-normalize: New file.
29443
29444         New module 'uninorm/u8-normalize'.
29445         * lib/uninorm/u8-normalize.c: New file.
29446         * lib/uninorm/normalize-internal.h: New file.
29447         * lib/uninorm/u-normalize-internal.h: New file.
29448         * modules/uninorm/u8-normalize: New file.
29449
29450         New module 'uninorm/decompose-internal'.
29451         * lib/uninorm/decompose-internal.c: New file.
29452         * modules/uninorm/decompose-internal: New file.
29453
29454         Tests for module 'uninorm/composition'.
29455         * tests/uninorm/test-composition.c: New file.
29456         * modules/uninorm/composition-tests: New file.
29457
29458         New module 'uninorm/composition'.
29459         * lib/uninorm/composition.c: New file.
29460         * lib/uninorm/composition-table.gperf: New file, generated by
29461         gen-uni-tables.
29462         * modules/uninorm/composition: New file.
29463
29464         Tests for module 'uninorm/compat-decomposition'.
29465         * tests/uninorm/test-compat-decomposition.c: New file.
29466         * modules/uninorm/compat-decomposition-tests: New file.
29467
29468         New module 'uninorm/compat-decomposition'.
29469         * lib/uninorm/decompose-internal.h: New file.
29470         * lib/uninorm/compat-decomposition.c: New file.
29471         * modules/uninorm/compat-decomposition: New file.
29472
29473         Tests for module 'uninorm/canonical-decomposition'.
29474         * tests/uninorm/test-canonical-decomposition.c: New file.
29475         * modules/uninorm/canonical-decomposition-tests: New file.
29476
29477         New module 'uninorm/canonical-decomposition'.
29478         * lib/uninorm/canonical-decomposition.c: New file.
29479         * modules/uninorm/canonical-decomposition: New file.
29480
29481         Tests for module 'uninorm/decomposition'.
29482         * tests/uninorm/test-decomposition.c: New file.
29483         * modules/uninorm/decomposition-tests: New file.
29484
29485         New module 'uninorm/decomposition'.
29486         * lib/uninorm/decomposition.c: New file.
29487         * modules/uninorm/decomposition: New file.
29488
29489         New module 'uninorm/decomposition-table'.
29490         * lib/uninorm/decomposition-table.h: New file.
29491         * lib/uninorm/decomposition-table.c: New file.
29492         * lib/uninorm/decomposition-table1.h: New file, generated by
29493         gen-uni-tables.
29494         * lib/uninorm/decomposition-table2.h: New file, generated by
29495         gen-uni-tables.
29496         * modules/uninorm/decomposition-table: New file.
29497
29498         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
29499         (UC_DECOMP_*): New enumeration items.
29500         (get_decomposition): New function.
29501         (struct decomp_table): New type.
29502         (output_decomposition, output_decomposition_tables): New functions.
29503         (unicode_composition_exclusions): New variable.
29504         (fill_composition_exclusions, debug_output_composition_tables): New
29505         functions.
29506         (main): Accept one more argument. Invoke fill_composition_exclusions.
29507         Output decomposition and composition tables.
29508
29509         New module 'uninorm/base'.
29510         * lib/uninorm.h: New file.
29511         * lib/unictype.h: Update comment.
29512         * modules/uninorm/base: New file.
29513
29514 2009-02-21  David Lutterkort  <lutter@redhat.com>
29515
29516         Tests for module 'safe-alloc'.
29517         * tests/test-safe-alloc.c: New file.
29518         * modules/safe-alloc-tests: New file.
29519
29520         New module 'safe-alloc'.
29521         * lib/safe-alloc.h: New file.
29522         * lib/safe-alloc.c: New file.
29523         * m4/safe-alloc.m4: New file.
29524         * modules/safe-alloc: New file.
29525         * doc/safe-alloc.texi: New file.
29526         * doc/gnulib.texi: Include it.
29527         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29528         safe-alloc.
29529
29530 2009-02-18  Bruno Haible  <bruno@clisp.org>
29531
29532         Fix link error on non-glibc systems.
29533         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
29534         variable.
29535         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29536
29537 2009-02-18  Jim Meyering  <meyering@redhat.com>
29538
29539         fts: avoid used-uninitialized error due to recent change
29540         * lib/fts.c (fts_read): Guard uses of the new member,
29541         parent->fts_n_dirs_remaining, since it's not relevant for
29542         the parent of a directory specified on the command-line.
29543
29544 2009-02-17  James Youngman  <jay@gnu.org>
29545             Bruno Haible  <bruno@clisp.org>
29546
29547         * m4/include_next.m4: Reformulate comment.
29548
29549 2009-02-16  Jim Meyering  <meyering@redhat.com>
29550
29551         fts: add #if guards so that the fts_lgpl module still builds
29552         * lib/fts.c: Guard just-added hash-table-using parts with
29553         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
29554         Reported by Simon Josefsson.
29555
29556 2009-02-15  Bruno Haible  <bruno@clisp.org>
29557
29558         * modules/array-mergesort-tests: New file.
29559         * tests/test-array-mergesort.c: New file.
29560
29561         New module 'array-mergesort'.
29562         * modules/array-mergesort: New file.
29563         * lib/array-mergesort.h: New file.
29564
29565 2009-02-15  Bruno Haible  <bruno@clisp.org>
29566
29567         Fix 2009-02-07 commit.
29568         * lib/gen-uni-tables.c (output_predicate, output_category,
29569         output_combclass, output_bidi_category, output_decimal_digit,
29570         output_digit, output_numeric, output_mirror, output_scripts,
29571         output_ident_category, output_simple_mapping): Fix format directives.
29572         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
29573
29574 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
29575
29576         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
29577         fixes are available from IBM.
29578
29579 2009-02-13  Jim Meyering  <meyering@redhat.com>
29580
29581         fts: arrange not to stat non-directories in more cases
29582         This makes GNU find (when it doesn't need to stat each file)
29583         *much* more efficient at traversing reiserfs file systems.
29584         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
29585         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
29586         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
29587         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
29588         (leaf_optimization_applies): New function.
29589         (LCO_hash, LCO_compare): New helper functions.
29590         (link_count_optimize_ok): New function.
29591         (fts_stat): Initialize new member (if dir).
29592         (fts_read): Decrement parent's fts_n_dirs_remaining count if
29593         we've just stat'ed a directory.  Skip the stat call when possible.
29594         ---
29595         Note this AFS-related exchange:
29596         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
29597         and note find's pioctl call in find/fstype.c.
29598         But that is necessary only if you want to enable the
29599         optimization for AFS, and for now, I don't.
29600
29601         fts: move a function definition "up" (no semantic change)
29602         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
29603         "up" to precede upcoming use of a related function.
29604
29605 2009-02-11  Jim Meyering  <meyering@redhat.com>
29606
29607         fts: correct internal computation of nlinks (optimization-related)
29608         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
29609         whether the current entry is a directory, so don't test it.
29610
29611 2009-02-10  Bruno Haible  <bruno@clisp.org>
29612
29613         Tests for module 'uniwbrk/ulc-wordbreaks'.
29614         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
29615         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
29616         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
29617
29618         Tests for module 'uniwbrk/u32-wordbreaks'.
29619         * modules/uniwbrk/u32-wordbreaks-tests: New file.
29620         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
29621
29622         Tests for module 'uniwbrk/u16-wordbreaks'.
29623         * modules/uniwbrk/u16-wordbreaks-tests: New file.
29624         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
29625
29626         Tests for module 'uniwbrk/u8-wordbreaks'.
29627         * modules/uniwbrk/u8-wordbreaks-tests: New file.
29628         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
29629
29630 2009-02-10  Bruno Haible  <bruno@clisp.org>
29631
29632         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
29633         property.
29634         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
29635         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
29636         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
29637
29638 2009-02-10  Simon Josefsson  <simon@josefsson.org>
29639
29640         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
29641         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
29642
29643 2009-02-10  Bruno Haible  <bruno@clisp.org>
29644
29645         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
29646         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
29647         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
29648         * lib/unilbrk/u8-possible-linebreaks.c: Update.
29649         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
29650         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
29651
29652 2009-02-09  Simon Josefsson  <simon@josefsson.org>
29653
29654         * lib/sockets.h (gl_fd_to_handle): New function.
29655
29656         * tests/test-sockets.c: Call gl_fd_to_handle.
29657
29658 2009-02-09  Bruno Haible  <bruno@clisp.org>
29659
29660         * doc/havelib.texi: Document the conventions on bi-arch systems.
29661
29662 2009-02-08  Bruno Haible  <bruno@clisp.org>
29663
29664         Document the AC_LIB_LINKFLAGS macro.
29665         * doc/havelib.texi: New file, mostly written on 2005-05-24.
29666         * doc/gnulib.texi: Include it.
29667
29668 2009-02-08  Bruno Haible  <bruno@clisp.org>
29669
29670         Fix wrong order of sections, compared to TOC.
29671         * doc/gnulib.texi: Include relocatable-maint.texi after the
29672         "Regular expressions" node, not before.
29673
29674 2009-02-08  Bruno Haible  <bruno@clisp.org>
29675
29676         Tests for module 'unicase/totitle'.
29677         * modules/unicase/totitle-tests: New file.
29678
29679         Tests for module 'unicase/tolower'.
29680         * modules/unicase/tolower-tests: New file.
29681
29682         Tests for module 'unicase/toupper'.
29683         * modules/unicase/toupper-tests: New file.
29684         * tests/unicase/test-mapping-part1.h: New file.
29685         * tests/unicase/test-mapping-part2.h: New file.
29686
29687         New module 'unicase/totitle'.
29688         * modules/unicase/totitle: New file.
29689         * lib/unicase/totitle.c: New file.
29690
29691         New module 'unicase/tolower'.
29692         * modules/unicase/tolower: New file.
29693         * lib/unicase/tolower.c: New file.
29694
29695         New module 'unicase/toupper'.
29696         * modules/unicase/toupper: New file.
29697         * lib/unicase/toupper.c: New file.
29698         * lib/unicase/simple-mapping.h: New file.
29699
29700         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29701         (mapping_table): New structure.
29702         (output_simple_mapping): New function.
29703         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29704         * modules/gen-uni-tables (Description): Update.
29705         * lib/unicase/toupper.h: New file, automatically generated by
29706         gen-uni-tables.
29707         * lib/unicase/tolower.h: New file, automatically generated by
29708         gen-uni-tables.
29709         * lib/unicase/totitle.h: New file, automatically generated by
29710         gen-uni-tables.
29711         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29712         gen-uni-tables.
29713         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29714         gen-uni-tables.
29715         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29716         gen-uni-tables.
29717
29718         New module 'unicase/base'.
29719         * modules/unicase/base: New file.
29720         * lib/unicase.h: New file.
29721
29722 2009-02-08  Bruno Haible  <bruno@clisp.org>
29723
29724         New module 'uniwbrk/ulc-wordbreaks'.
29725         * modules/uniwbrk/ulc-wordbreaks: New file.
29726         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29727
29728         New module 'uniwbrk/u32-wordbreaks'.
29729         * modules/uniwbrk/u32-wordbreaks: New file.
29730         * lib/uniwbrk/u32-wordbreaks.c: New file.
29731
29732         New module 'uniwbrk/u16-wordbreaks'.
29733         * modules/uniwbrk/u16-wordbreaks: New file.
29734         * lib/uniwbrk/u16-wordbreaks.c: New file.
29735
29736         New module 'uniwbrk/u8-wordbreaks'.
29737         * modules/uniwbrk/u8-wordbreaks: New file.
29738         * lib/uniwbrk/u8-wordbreaks.c: New file.
29739         * lib/uniwbrk/u-wordbreaks.h: New file.
29740
29741         New module 'uniwbrk/table'.
29742         * modules/uniwbrk/table: New file.
29743         * lib/uniwbrk/wbrktable.h: New file.
29744         * lib/uniwbrk/wbrktable.c: New file.
29745
29746         New module 'uniwbrk/wordbreak-property'.
29747         * modules/uniwbrk/wordbreak-property: New file.
29748         * lib/uniwbrk/wordbreak-property.c: New file.
29749
29750         * lib/gen-uni-tables.c (WBP_*): New enum items.
29751         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29752         (unicode_org_wbp): New variable.
29753         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29754         New functions.
29755         (wbp_table): New structure.
29756         (output_wbp, output_wbrk_tables): New functions.
29757         (main): Accept additional argument. Invoke fill_org_wbp,
29758         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29759         output_wbrk_tables.
29760         * modules/gen-uni-tables (Description): Update.
29761         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29762         gen-uni-tables.
29763
29764         New module 'uniwbrk/base'.
29765         * modules/uniwbrk/base: New file.
29766         * lib/uniwbrk.h: New file.
29767
29768 2009-02-08  Bruno Haible  <bruno@clisp.org>
29769
29770         Update to Unicode 5.1.0.
29771         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29772         U+2185..U+2188.
29773         (is_property_default_ignorable_code_point): Don't include characters
29774         of category Cc or Cs and not-a-characters.
29775         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29776         U+0D79, U+109E, U+109F, U+A60C.
29777         * lib/unictype/bidi_of.h: Regenerated.
29778         * lib/unictype/blocks.h: Regenerated.
29779         * lib/unictype/categ_C.h: Regenerated.
29780         * lib/unictype/categ_Cf.h: Regenerated.
29781         * lib/unictype/categ_Cn.h: Regenerated.
29782         * lib/unictype/categ_L.h: Regenerated.
29783         * lib/unictype/categ_Ll.h: Regenerated.
29784         * lib/unictype/categ_Lm.h: Regenerated.
29785         * lib/unictype/categ_Lo.h: Regenerated.
29786         * lib/unictype/categ_Lu.h: Regenerated.
29787         * lib/unictype/categ_M.h: Regenerated.
29788         * lib/unictype/categ_Mc.h: Regenerated.
29789         * lib/unictype/categ_Me.h: Regenerated.
29790         * lib/unictype/categ_Mn.h: Regenerated.
29791         * lib/unictype/categ_N.h: Regenerated.
29792         * lib/unictype/categ_Nd.h: Regenerated.
29793         * lib/unictype/categ_Nl.h: Regenerated.
29794         * lib/unictype/categ_No.h: Regenerated.
29795         * lib/unictype/categ_P.h: Regenerated.
29796         * lib/unictype/categ_Pd.h: Regenerated.
29797         * lib/unictype/categ_Pe.h: Regenerated.
29798         * lib/unictype/categ_Pf.h: Regenerated.
29799         * lib/unictype/categ_Pi.h: Regenerated.
29800         * lib/unictype/categ_Po.h: Regenerated.
29801         * lib/unictype/categ_Ps.h: Regenerated.
29802         * lib/unictype/categ_S.h: Regenerated.
29803         * lib/unictype/categ_Sk.h: Regenerated.
29804         * lib/unictype/categ_Sm.h: Regenerated.
29805         * lib/unictype/categ_So.h: Regenerated.
29806         * lib/unictype/categ_of.h: Regenerated.
29807         * lib/unictype/combining.h: Regenerated.
29808         * lib/unictype/ctype_alnum.h: Regenerated.
29809         * lib/unictype/ctype_alpha.h: Regenerated.
29810         * lib/unictype/ctype_graph.h: Regenerated.
29811         * lib/unictype/ctype_lower.h: Regenerated.
29812         * lib/unictype/ctype_print.h: Regenerated.
29813         * lib/unictype/ctype_punct.h: Regenerated.
29814         * lib/unictype/ctype_upper.h: Regenerated.
29815         * lib/unictype/decdigit.h: Regenerated.
29816         * lib/unictype/digit.h: Regenerated.
29817         * lib/unictype/mirror.h: Regenerated.
29818         * lib/unictype/numeric.h: Regenerated.
29819         * lib/unictype/pr_alphabetic.h: Regenerated.
29820         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29821         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29822         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29823         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29824         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29825         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29826         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29827         * lib/unictype/pr_combining.h: Regenerated.
29828         * lib/unictype/pr_dash.h: Regenerated.
29829         * lib/unictype/pr_decimal_digit.h: Regenerated.
29830         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29831         * lib/unictype/pr_deprecated.h: Regenerated.
29832         * lib/unictype/pr_diacritic.h: Regenerated.
29833         * lib/unictype/pr_extender.h: Regenerated.
29834         * lib/unictype/pr_format_control.h: Regenerated.
29835         * lib/unictype/pr_grapheme_base.h: Regenerated.
29836         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29837         * lib/unictype/pr_grapheme_link.h: Regenerated.
29838         * lib/unictype/pr_id_continue.h: Regenerated.
29839         * lib/unictype/pr_id_start.h: Regenerated.
29840         * lib/unictype/pr_ideographic.h: Regenerated.
29841         * lib/unictype/pr_ignorable_control.h: Regenerated.
29842         * lib/unictype/pr_lowercase.h: Regenerated.
29843         * lib/unictype/pr_math.h: Regenerated.
29844         * lib/unictype/pr_numeric.h: Regenerated.
29845         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29846         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29847         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29848         * lib/unictype/pr_other_id_continue.h: Regenerated.
29849         * lib/unictype/pr_other_lowercase.h: Regenerated.
29850         * lib/unictype/pr_other_math.h: Regenerated.
29851         * lib/unictype/pr_punctuation.h: Regenerated.
29852         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29853         * lib/unictype/pr_soft_dotted.h: Regenerated.
29854         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29855         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29856         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29857         * lib/unictype/pr_uppercase.h: Regenerated.
29858         * lib/unictype/pr_xid_continue.h: Regenerated.
29859         * lib/unictype/pr_xid_start.h: Regenerated.
29860         * lib/unictype/pr_zero_width.h: Regenerated.
29861         * lib/unictype/scripts.h: Regenerated.
29862         * lib/unictype/scripts_byname.gperf: Regenerated.
29863         * lib/unictype/sy_java_ident.h: Regenerated.
29864         * lib/unilbrk/lbrkprop1.h: Regenerated.
29865         * lib/unilbrk/lbrkprop2.h: Regenerated.
29866         * tests/unictype/test-categ_C.c: Regenerated.
29867         * tests/unictype/test-categ_Cf.c: Regenerated.
29868         * tests/unictype/test-categ_Cn.c: Regenerated.
29869         * tests/unictype/test-categ_L.c: Regenerated.
29870         * tests/unictype/test-categ_Ll.c: Regenerated.
29871         * tests/unictype/test-categ_Lm.c: Regenerated.
29872         * tests/unictype/test-categ_Lo.c: Regenerated.
29873         * tests/unictype/test-categ_Lu.c: Regenerated.
29874         * tests/unictype/test-categ_M.c: Regenerated.
29875         * tests/unictype/test-categ_Mc.c: Regenerated.
29876         * tests/unictype/test-categ_Me.c: Regenerated.
29877         * tests/unictype/test-categ_Mn.c: Regenerated.
29878         * tests/unictype/test-categ_N.c: Regenerated.
29879         * tests/unictype/test-categ_Nd.c: Regenerated.
29880         * tests/unictype/test-categ_Nl.c: Regenerated.
29881         * tests/unictype/test-categ_No.c: Regenerated.
29882         * tests/unictype/test-categ_P.c: Regenerated.
29883         * tests/unictype/test-categ_Pd.c: Regenerated.
29884         * tests/unictype/test-categ_Pe.c: Regenerated.
29885         * tests/unictype/test-categ_Pf.c: Regenerated.
29886         * tests/unictype/test-categ_Pi.c: Regenerated.
29887         * tests/unictype/test-categ_Po.c: Regenerated.
29888         * tests/unictype/test-categ_Ps.c: Regenerated.
29889         * tests/unictype/test-categ_S.c: Regenerated.
29890         * tests/unictype/test-categ_Sk.c: Regenerated.
29891         * tests/unictype/test-categ_Sm.c: Regenerated.
29892         * tests/unictype/test-categ_So.c: Regenerated.
29893         * tests/unictype/test-ctype_alnum.c: Regenerated.
29894         * tests/unictype/test-ctype_alpha.c: Regenerated.
29895         * tests/unictype/test-ctype_graph.c: Regenerated.
29896         * tests/unictype/test-ctype_lower.c: Regenerated.
29897         * tests/unictype/test-ctype_print.c: Regenerated.
29898         * tests/unictype/test-ctype_punct.c: Regenerated.
29899         * tests/unictype/test-ctype_upper.c: Regenerated.
29900         * tests/unictype/test-decdigit.h: Regenerated.
29901         * tests/unictype/test-digit.h: Regenerated.
29902         * tests/unictype/test-numeric.h: Regenerated.
29903         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29904         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29905         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29906         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29907         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29908         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29909         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29910         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29911         * tests/unictype/test-pr_combining.c: Regenerated.
29912         * tests/unictype/test-pr_dash.c: Regenerated.
29913         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29914         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29915         * tests/unictype/test-pr_deprecated.c: Regenerated.
29916         * tests/unictype/test-pr_diacritic.c: Regenerated.
29917         * tests/unictype/test-pr_extender.c: Regenerated.
29918         * tests/unictype/test-pr_format_control.c: Regenerated.
29919         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29920         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
29921         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
29922         * tests/unictype/test-pr_id_continue.c: Regenerated.
29923         * tests/unictype/test-pr_id_start.c: Regenerated.
29924         * tests/unictype/test-pr_ideographic.c: Regenerated.
29925         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
29926         * tests/unictype/test-pr_lowercase.c: Regenerated.
29927         * tests/unictype/test-pr_math.c: Regenerated.
29928         * tests/unictype/test-pr_numeric.c: Regenerated.
29929         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
29930         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
29931         Regenerated.
29932         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
29933         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
29934         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
29935         * tests/unictype/test-pr_other_math.c: Regenerated.
29936         * tests/unictype/test-pr_punctuation.c: Regenerated.
29937         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
29938         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
29939         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
29940         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
29941         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
29942         * tests/unictype/test-pr_uppercase.c: Regenerated.
29943         * tests/unictype/test-pr_xid_continue.c: Regenerated.
29944         * tests/unictype/test-pr_xid_start.c: Regenerated.
29945         * tests/unictype/test-pr_zero_width.c: Regenerated.
29946
29947         Update to Unicode 5.1.0.
29948         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
29949         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
29950         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
29951         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
29952         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
29953         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
29954         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
29955         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
29956         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
29957         (nonspacing_table_ind): Update.
29958         * tests/uniwidth/test-uc_width2.sh: Update expected result.
29959
29960         Update to Unicode 5.1.0.
29961         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
29962         code transform.
29963         * lib/uniname/uniname.c (unicode_character_name,
29964         unicode_name_character): Add the range 0x1Fxxx to the code transform.
29965         * lib/uniname/uninames.h: Regenerated.
29966         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
29967
29968 2009-02-07  Bruno Haible  <bruno@clisp.org>
29969
29970         Merge gen-ctype and gen-lbrk into a single program.
29971         * lib/gen-uni-tables.c: New file, incorporating
29972         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
29973         Add directory prefixes to the names of the generated files.
29974         * lib/unictype/gen-ctype.c: Remove file.
29975         * lib/unilbrk/gen-lbrk.c: Remove file.
29976         * modules/gen-uni-tables: New file.
29977         * modules/unictype/gen-ctype: Remove file.
29978         * modules/unilbrk/gen-lbrk: Remove file.
29979
29980 2009-02-07  Bruno Haible  <bruno@clisp.org>
29981
29982         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
29983
29984         New module 'unistr/u32-strcoll'.
29985         * modules/unistr/u32-strcoll: New file.
29986         * lib/unistr/u32-strcoll.c: New file.
29987
29988         New module 'unistr/u16-strcoll'.
29989         * modules/unistr/u16-strcoll: New file.
29990         * lib/unistr/u16-strcoll.c: New file.
29991
29992         New module 'unistr/u8-strcoll'.
29993         * modules/unistr/u8-strcoll: New file.
29994         * lib/unistr/u8-strcoll.c: New file.
29995         * lib/unistr/u-strcoll.h: New file.
29996
29997 2009-02-07  Bruno Haible  <bruno@clisp.org>
29998
29999         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
30000         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30001         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30002         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
30003         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
30004         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
30005
30006 2009-02-07  Bruno Haible  <bruno@clisp.org>
30007
30008         Make 64-bit clean.
30009         * lib/unictype/gen-ctype.c (output_predicate, output_category,
30010         output_combclass, output_bidi_category, output_decimal_digit,
30011         output_digit, output_numeric, output_mirror, output_scripts,
30012         output_ident_category): Use proper width specifier in format strings.
30013
30014 2009-02-07  Bruno Haible  <bruno@clisp.org>
30015
30016         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
30017         failure behaviour.
30018
30019 2009-02-07  Jim Meyering  <meyering@redhat.com>
30020
30021         regex: avoid compilation failure with upcoming gcc-4.4
30022         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
30023         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
30024         "... error: integer overflow in preprocessor expression".
30025
30026 2009-02-05  Ben Pfaff  <blp@gnu.org>
30027
30028         Fix link errors on Windows when close module is used.
30029         * modules/close: Add $(LIB_CLOSE) to Link section.
30030         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
30031         $(LIB_CLOSE) on Windows.
30032
30033 2009-02-05  Jim Meyering  <meyering@redhat.com>
30034
30035         still avoid unused-parameter warnings, but do it cleanly
30036         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
30037         (get_fs_usage): Cast to void instead.
30038         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
30039         (dev_from_mount_options, read_file_system_list): Cast to void.
30040         Prompted by Bruno Haible.
30041
30042 2009-02-04  Jim Meyering  <meyering@redhat.com>
30043
30044         fsusage.c: correct copyright year
30045         * lib/fsusage.c: Reflect year in which the change is pushed into
30046
30047         avoid misc. warnings
30048         * lib/fsusage.c (UNUSED_PARAM): Define.
30049         (get_fs_usage): Mark parameter "disk" as unused.
30050         * lib/getugroups.c (getgrent): Use "void" in prototype.
30051         * lib/mountlist.c: Mark unused parameters.
30052         (read_file_system_list): Declare a local with "const".
30053         * lib/nanosleep.c (getnow): Declare static.
30054         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
30055
30056         dirfd: set errno upon failure
30057         * lib/dirfd.c: Include <errno.h>.
30058         Set errno to ENOTSUP when returning -1.
30059         * modules/dirfd (Depends-on): Add errno.
30060         Suggested by John Kodis <kodis@comcast.net>.
30061
30062 2009-02-01  Bruno Haible  <bruno@clisp.org>
30063
30064         Don't assume sizeof (long) >= sizeof (void *).
30065         * lib/memcmp.c: Include stdint.h.
30066         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
30067         srcp2 to 'const byte *'.
30068         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
30069         types to uintptr_t.
30070         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
30071         * modules/memcmp (Depends-on): Add stdint.
30072         Reported by Ozkan Sezer <sezeroz@gmail.com>.
30073
30074 2009-01-30  Eric Blake  <ebb9@byu.net>
30075
30076         fix more require-before-expand issues
30077         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
30078         expand, AC_PROG_AWK.
30079         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
30080
30081 2009-01-28  Eric Blake  <ebb9@byu.net>
30082
30083         version-etc: use consistent URL formatting
30084         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
30085         Improve formatting.  Use fputs for string without %.
30086
30087 2009-01-28  Jim Meyering  <meyering@redhat.com>
30088
30089         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
30090         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
30091         "underquoted definition of NAME" from autoconf-2.59.
30092
30093 2009-01-28  Bruno Haible  <bruno@clisp.org>
30094
30095         * doc/gnulib.texi: Add "Obsolete modules" to index.
30096
30097 2009-01-28  Jim Meyering  <meyering@redhat.com>
30098
30099         useless-if-before-free: recognize more variants
30100         * build-aux/useless-if-before-free: Also recognize e.g.,
30101         if (NULL != p) free (p);
30102
30103 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
30104
30105         test-getaddrinfo: skip (don't fail) this test when there's no network
30106         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
30107         on the presumption that it means you lack network access.
30108
30109 2009-01-26  Jim Meyering  <meyering@redhat.com>
30110
30111         fflush: avoid warnings on modern systems
30112         * lib/fflush.c (rpl_fflush): Move declarations of locals,
30113         pos and result, into scopes where they're used.
30114
30115 2009-01-26  Eric Blake  <ebb9@byu.net>
30116
30117         Silence warning reintroduced by recent extensions patch.
30118         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
30119         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
30120         autoconf.
30121
30122         Backport improved autoconf semantics of AC_DEFUN_ONCE.
30123         * m4/00gnulib.m4: New file.
30124         * gnulib-tool (func_get_filelist): Always use it.
30125         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
30126         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
30127
30128 2009-01-25  Bruno Haible  <bruno@clisp.org>
30129
30130         Make test-quotearg work on MacOS X and AIX.
30131         * tests/test-quotearg.sh: New file.
30132         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
30133         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
30134         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
30135         include <libintl.h>.
30136         (fake_locale): Remove variable.
30137         (gettext, dgettext, dcgettext): Remove functions.
30138         (main): Instead of setting a fake locale, set a real locale. Call
30139         textdomain and bindtextdomain.
30140         * modules/quotearg-tests (Files): Add the new files.
30141         (Depends-on): Add gettext, setenv, unsetenv.
30142         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
30143         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
30144         Augment TESTS_ENVIRONMENT.
30145
30146 2009-01-25  Bruno Haible  <bruno@clisp.org>
30147
30148         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
30149         fr_FR.ISO8859-1 locale on MacOS X.
30150         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
30151         ja_JP.eucJP locale on MacOS X.
30152         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
30153         zh_CN.GB18030 locale on MacOS X.
30154
30155 2009-01-25  Bruno Haible  <bruno@clisp.org>
30156
30157         Avoid link errors on MacOS X 10.3.
30158         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
30159         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30160
30161 2009-01-25  Bruno Haible  <bruno@clisp.org>
30162
30163         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30164         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
30165         * modules/pipe (Files): Remove m4/posix_spawn.m4.
30166         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30167         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
30168         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30169         posix_spawnattr_init, posix_spawnattr_setsigmask,
30170         posix_spawnattr_setflags, posix_spawnattr_destroy.
30171
30172         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30173         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
30174         * modules/execute (Files): Remove m4/posix_spawn.m4.
30175         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30176         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30177         posix_spawnattr_init, posix_spawnattr_setsigmask,
30178         posix_spawnattr_setflags, posix_spawnattr_destroy.
30179
30180 2009-01-25  Bruno Haible  <bruno@clisp.org>
30181
30182         * lib/glthread/threadlib.c: Include <stdlib.h>.
30183
30184 2009-01-25  Bruno Haible  <bruno@clisp.org>
30185
30186         * lib/glthread/threadlib.c (dummy): New declaration.
30187
30188 2009-01-25  Bruno Haible  <bruno@clisp.org>
30189
30190         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
30191         multibyte characters also for the GB18030 encoding. Don't crash when
30192         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
30193
30194 2009-01-25  Bruno Haible  <bruno@clisp.org>
30195
30196         Avoid redefining 'struct random_data' on OSF/1 5.1.
30197         * lib/stdlib.in.h: Include <random.h> if it exists.
30198         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
30199         HAVE_RANDOM_H. Include <random.h> when testing whether
30200         'struct random_data' exists.
30201         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
30202
30203 2009-01-25  Bruno Haible  <bruno@clisp.org>
30204
30205         Don't install charset.alias on MacOS X >= 10.3.
30206         * lib/localcharset.c (DARWIN7): New macro.
30207         (get_charset_aliases): Hardcode the result for Darwin7.
30208         * modules/localcharset (install-exec-local): Don't install
30209         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
30210
30211 2009-01-25  Bruno Haible  <bruno@clisp.org>
30212
30213         Don't install charset.alias on mingw and Cygwin.
30214         * modules/localcharset (install-exec-local): Don't install
30215         charset.alias on mingw and Cygwin, if the file does not yet exist.
30216         The result for these platforms is hardcoded in localcharset.c.
30217
30218 2009-01-25  Bruno Haible  <bruno@clisp.org>
30219
30220         Make it possible again to use AC_GNU_SOURCE together with gnulib.
30221         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
30222         before requiring AC_USE_SYSTEM_EXTENSIONS.
30223
30224 2009-01-25  Jim Meyering  <meyering@redhat.com>
30225
30226         c-strtod: avoid warnings
30227         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
30228         "assignment discards qualifiers from pointer target type" warnings.
30229
30230 2009-01-24  Bruno Haible  <bruno@clisp.org>
30231
30232         Add support for non-UTF-8 locales on MacOS X.
30233         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
30234         canonical encodings. For Darwin 7 and newer, don't map traditional
30235         encodings to UTF-8.
30236         Reported by Vincent Lefevre <vincent@vinc17.org>
30237         at <http://savannah.gnu.org/bugs/?25235>.
30238
30239 2009-01-24  Bruno Haible  <bruno@clisp.org>
30240
30241         * doc/gnulib.texi (Obsolete modules): New section.
30242         Reported by Mike Frysinger <vapier@gentoo.org>.
30243
30244 2009-01-24  Bruno Haible  <bruno@clisp.org>
30245
30246         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
30247         (%.dvi): New rule.
30248
30249 2009-01-24  Bruno Haible  <bruno@clisp.org>
30250
30251         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
30252         Reported by Eric Blake.
30253
30254 2009-01-24  Bruno Haible  <bruno@clisp.org>
30255
30256         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
30257         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
30258         Reported by Gary V. Vaughan <gary@gnu.org>.
30259
30260 2009-01-24  Bruno Haible  <bruno@clisp.org>
30261
30262         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
30263
30264 2009-01-23  Bruno Haible  <bruno@clisp.org>
30265
30266         Make c-strtod, c-strtold usable in libraries.
30267         * lib/c-strtod.c: Include string.h instead of xalloc.h.
30268         (C_STRTOD): Call strdup instead of xstrdup.
30269         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
30270         * modules/c-strtold (Depends-on): Likewise.
30271         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
30272         * NEWS: Mention the change.
30273         Reported by Michael Gold <mgold@ncf.ca>.
30274
30275 2009-01-23  Jim Meyering  <meyering@redhat.com>
30276
30277         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
30278         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
30279         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
30280
30281 2009-01-23  Simon Josefsson  <simon@josefsson.org>
30282
30283         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
30284         GNU CoreUtils.
30285         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
30286         * modules/version-etc (Description): Update.
30287
30288 2009-01-22  Bruno Haible  <bruno@clisp.org>
30289
30290         Cache the C locale object.
30291         * lib/c-strtod.c (c_locale_cache): New variable.
30292         (c_locale): New function.
30293         (C_STRTOD): Use it, and don't call freelocale.
30294         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
30295         Suggested by Paolo Bonzini.
30296
30297 2009-01-21  Bruno Haible  <bruno@clisp.org>
30298
30299         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
30300         conditions other than overflow.
30301
30302 2009-01-21  Bruno Haible  <bruno@clisp.org>
30303
30304         * lib/c-strtod.c: Include errno.h.
30305         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
30306         value from STRTOD_L and STRTOD.
30307
30308 2009-01-21  Bruno Haible  <bruno@clisp.org>
30309         and Jim Meyering  <meyering@redhat.com>
30310
30311         nanosleep: skip configure test (fail it) for apple universal builds
30312         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
30313         universal builds, assume that nanosleep does not work.
30314         * modules/nanosleep (Depends-on): Add multiarch.
30315
30316         mktime: skip configure test (fail it) for apple universal builds
30317         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
30318         universal builds, assume that mktime does not work.
30319         * modules/mktime (Depends-on): Add multiarch.
30320
30321 2009-01-21  Eric Blake  <ebb9@byu.net>
30322
30323         multiarch: avoid expand-before-require warning
30324         * modules/multiarch (configure.ac): Require, rather than expand,
30325         gl_MULTIARCH.
30326         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
30327         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
30328         enforce that all clients require it.  Partial reversion of
30329         2008-12-29 patch.
30330
30331         error: avoid expand-before-require warning
30332         * modules/errno (configure.ac): Require, rather than expand,
30333         gl_HEADER_ERRNO_H.
30334         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
30335         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
30336         enforce that all clients require it.
30337
30338         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
30339         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
30340         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
30341         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
30342
30343 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
30344
30345         Revert:
30346         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30347
30348         regex: do not depend on obsolete modules.
30349         * modules/regex: Remove memcmp and memmove.
30350
30351 2009-01-20  Bruno Haible  <bruno@clisp.org>
30352
30353         Make the 'link' module link on Windows NT 4.
30354         * lib/link.c (_WIN32_WINNT): Don't define.
30355         (CreateHardLinkFuncType): New type.
30356         (CreateHardLinkFunc, initialized): New variables.
30357         (initialize): New function.
30358         (link): Invoke CreateHardLink indirectly through the function pointer.
30359
30360 2009-01-20  Bruno Haible  <bruno@clisp.org>
30361
30362         Fix compilation failure on mingw.
30363         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
30364
30365 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
30366
30367         * doc/c-strtod.texi: Mention a couple of restrictions.
30368
30369 2009-01-20  Jim Meyering  <meyering@redhat.com>
30370
30371         gettimeofday: move more declarations out of functions
30372         * lib/gettimeofday.c: Move extern declarations of tzset and
30373         gmtime out of containing functions.  Prompted by Bruno Haible.
30374
30375 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30376
30377         regex: do not depend on obsolete modules.
30378         * modules/regex: Remove memcmp and memmove.
30379
30380 2009-01-19  Bruno Haible  <bruno@clisp.org>
30381
30382         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30383         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
30384         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30385         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
30386         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
30387
30388 2009-01-19  Bruno Haible  <bruno@clisp.org>
30389
30390         * tests/test-link.c: Include <errno.h>.
30391         (main): Exit with code 77 when a hard link cannot be created due to
30392         the file system.
30393         * tests/test-link.sh: Skip test when a hard link cannot be created due
30394         to the file system.
30395         Suggested by Eric Blake.
30396
30397 2009-01-19  Martin Lambers  <marlam@marlam.de>
30398
30399         * modules/link-tests: New file.
30400         * tests/test-link.sh: New file.
30401         * tests/test-link.c: New file.
30402
30403 2009-01-19  Eric Blake  <ebb9@byu.net>
30404
30405         doc: mention another function added in cygwin 1.7.0
30406         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
30407         Another new function in cygwin 1.7.
30408
30409 2009-01-19  Bruno Haible  <bruno@clisp.org>
30410
30411         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30412         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
30413         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
30414         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30415         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30416         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
30417         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30418         * m4/md4.m4 (gl_MD4): Likewise.
30419         * m4/md5.m4 (gl_MD5): Likewise.
30420         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
30421         * m4/sha1.m4 (gl_SHA1): Likewise.
30422         * m4/sha256.m4 (gl_SHA256): Likewise.
30423         * m4/sha512.m4 (gl_SHA512): Likewise.
30424
30425 2009-01-19  Bruno Haible  <bruno@clisp.org>
30426
30427         * modules/uniname/uniname-tests (Depends-on): Add progname.
30428         * tests/uniname/test-uninames.c: Include progname.h.
30429         (main): Call set_program_name.
30430
30431         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
30432         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
30433         (main): Call set_program_name.
30434
30435         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
30436         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
30437         (main): Call set_program_name.
30438
30439         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
30440         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
30441         (main): Call set_program_name.
30442
30443         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
30444         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
30445         (main): Call set_program_name.
30446
30447         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
30448         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
30449         (main): Call set_program_name.
30450
30451         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
30452         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
30453         (main): Call set_program_name.
30454
30455         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
30456         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
30457         (main): Call set_program_name.
30458
30459         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
30460         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
30461         (main): Call set_program_name.
30462
30463 2009-01-19  Eric Blake  <ebb9@byu.net>
30464
30465         test-unistd: test previous patch
30466         * tests/test-unistd.c: Test *_FILENO macros.
30467
30468         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
30469         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30470         Guarantee a definition.
30471         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
30472         * modules/unistd-safer (Depends-on): Add dependency on unistd.
30473         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
30474         * lib/dup-safer.c (STDERR_FILENO): Likewise.
30475         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30476         Likewise.
30477         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
30478         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
30479         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30480         Likewise.
30481         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
30482         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
30483         (STDERR_FILENO): Likewise.
30484         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
30485         (STDERR_FILENO): Likewise.
30486         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
30487         (STDERR_FILENO): Likewise.
30488         Reported by Elbert Pol.
30489
30490 2009-01-19  Eric Blake  <ebb9@byu.net>
30491
30492         doc: mention more functions added in cygwin 1.7.0
30493         * doc/posix-functions/abort.texi (abort): Update wording related
30494         to cygwin.
30495         * doc/posix-functions/daylight.texi (daylight): Likewise.
30496         * doc/posix-functions/optarg.texi (optarg): Likewise.
30497         * doc/posix-functions/optarg.texi (opterr): Likewise.
30498         * doc/posix-functions/optarg.texi (optind): Likewise.
30499         * doc/posix-functions/optarg.texi (optopt): Likewise.
30500         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
30501         worked in 1.5.x, and was withdrawn in 1.7.
30502         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
30503         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
30504         cygwin versions.
30505         * doc/posix-functions/perror.texi (perror): Likewise.
30506         * doc/posix-functions/printf.texi (printf): Likewise.
30507         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
30508         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
30509         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
30510         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
30511         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
30512         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
30513         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
30514         Likewise.
30515         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
30516         Likewise.
30517         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
30518         this function.
30519         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
30520         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
30521         Likewise.
30522         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
30523         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
30524         * doc/posix-functions/confstr.texi (confstr): Likewise.
30525         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
30526         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
30527         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
30528         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
30529         * doc/posix-functions/fputws.texi (fputws): Likewise.
30530         * doc/posix-functions/fwide.texi (fwide): Likewise.
30531         * doc/posix-functions/getwc.texi (getwc): Likewise.
30532         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
30533         * doc/posix-functions/putwc.texi (putwc): Likewise.
30534         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
30535         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
30536         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
30537         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
30538         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
30539         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
30540         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
30541         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
30542         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
30543         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
30544         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
30545
30546 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30547
30548         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
30549         * lib/ioctl.c: Include <sys/ioctl.h>.
30550
30551 2009-01-19  Simon Josefsson  <simon@josefsson.org>
30552
30553         * modules/getdate-tests (Depends-on): Add progname.
30554         * tests/test-getdate.c: Use progname module, to avoid link errors
30555         on non-glibc systems.
30556
30557 2009-01-18  Simon Josefsson  <simon@josefsson.org>
30558
30559         * modules/filenamecat-tests (Depends-on): Add progname.
30560         * modules/fstrcmp-tests (Depends-on): Likewise.
30561
30562         * tests/test-filenamecat.c: Use progname module, to avoid link
30563         errors on non-glibc systems.
30564         * tests/test-fstrcmp.c: Likewise.
30565
30566 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30567
30568         gettimeofday: avoid warning: nested extern declaration of 'localtime'
30569         * lib/gettimeofday.c: Move extern declaration out of function.
30570
30571 2009-01-18  Bruno Haible  <bruno@clisp.org>
30572
30573         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
30574         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
30575         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
30576
30577 2009-01-18  Bruno Haible  <bruno@clisp.org>
30578
30579         * lib/strftime.c (MEMPCPY): Remove unused macro.
30580         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
30581
30582 2009-01-18  Martin Lambers  <marlam@marlam.de>
30583
30584         New module 'link'.
30585         * lib/unistd.in.h (link): New declaration.
30586         * lib/link.c: New file.
30587         * m4/link.m4: New file.
30588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
30589         HAVE_LINK.
30590         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
30591         * modules/link: New file.
30592         * doc/posix-functions/link.texi: Mention the new module.
30593
30594 2009-01-18  Bruno Haible  <bruno@clisp.org>
30595
30596         * tests/test-avltree_list.c (main): Call set_program_name.
30597         * tests/test-avltree_oset.c (main): Likewise.
30598         * tests/test-obstack-printf.c: Include progname.h.
30599         (main): Call set_program_name.
30600         * tests/test-quotearg.c: Include progname.h.
30601         (main): Call set_program_name.
30602         * tests/test-xmemdup0.c: Include progname.h.
30603         (main): Call set_program_name.
30604
30605 2009-01-18  Bruno Haible  <bruno@clisp.org>
30606
30607         New module 'alphasort'.
30608         * lib/dirent.in.h (alphasort): New declaration.
30609         * lib/alphasort.c: New file, from glibc with modifications.
30610         * m4/alphasort.m4: New file.
30611         * modules/alphasort: New file.
30612         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
30613         HAVE_ALPHASORT.
30614         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
30615         HAVE_ALPHASORT.
30616         * doc/posix-functions/alphasort.texi: Mention the new module and the
30617         portability problems.
30618
30619 2009-01-18  Bruno Haible  <bruno@clisp.org>
30620
30621         New module 'scandir'.
30622         * lib/dirent.in.h (scandir): New declaration.
30623         * lib/scandir.c: New file, from glibc with modifications.
30624         * m4/scandir.m4: New file.
30625         * modules/scandir: New file.
30626         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
30627         HAVE_SCANDIR.
30628         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
30629         HAVE_SCANDIR.
30630         * doc/posix-functions/scandir.texi: Mention the new module and the
30631         portability problems.
30632
30633 2009-01-17  Bruno Haible  <bruno@clisp.org>
30634
30635         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
30636         Update documentation.
30637         (func_remove_suffix): Escape all dots in the suffix. Update
30638         documentation.
30639         (func_filter_filelist): Update documentation.
30640         Reported by Ralf Wildenhues.
30641
30642 2009-01-17  Bruno Haible  <bruno@clisp.org>
30643
30644         * modules/dprintf-posix-tests: New file.
30645         * tests/test-dprintf-posix.sh: New file.
30646         * tests/test-dprintf-posix.c: New file.
30647
30648         New modules 'dprintf', 'dprintf-posix'.
30649         * lib/stdio.in.h (dprintf): New declaration.
30650         * lib/dprintf.c: New file.
30651         * m4/dprintf.m4: New file.
30652         * m4/dprintf-posix.m4: New file.
30653         * modules/dprintf: New file.
30654         * modules/dprintf-posix: New file.
30655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
30656         HAVE_DPRINTF, REPLACE_DPRINTF.
30657         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
30658         HAVE_DPRINTF, REPLACE_DPRINTF.
30659         * doc/posix-functions/dprintf.texi: Mention the new modules.
30660
30661 2009-01-17  Bruno Haible  <bruno@clisp.org>
30662
30663         * modules/vdprintf-posix-tests: New file.
30664         * tests/test-vdprintf-posix.sh: New file.
30665         * tests/test-vdprintf-posix.c: New file.
30666
30667         New modules 'vdprintf', 'vdprintf-posix'.
30668         * lib/stdio.in.h (vdprintf): New declaration.
30669         * lib/vdprintf.c: New file.
30670         * m4/vdprintf.m4: New file.
30671         * m4/vdprintf-posix.m4: New file.
30672         * modules/vdprintf: New file.
30673         * modules/vdprintf-posix: New file.
30674         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
30675         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30676         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
30677         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30678         * doc/posix-functions/vdprintf.texi: Mention the new modules.
30679
30680 2009-01-17  Bruno Haible  <bruno@clisp.org>
30681
30682         Fix replacement of fopen on mingw.
30683         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
30684         mingw.
30685
30686 2009-01-17  Bruno Haible  <bruno@clisp.org>
30687
30688         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30689         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30690
30691 2009-01-17  Bruno Haible  <bruno@clisp.org>
30692
30693         Avoid test-fflush2.sh failure on mingw.
30694         * tests/test-fflush2.c: Include binary-io.h.
30695         (main): Put standard input into binary mode.
30696         * modules/fflush-tests (Depends-on): Add binary-io.
30697
30698 2009-01-17  Bruno Haible  <bruno@clisp.org>
30699
30700         * lib/wchar.in.h: In another particular situation, include only the
30701         system's <wchar.h> file.
30702         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30703         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30704         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30705
30706 2009-01-17  Bruno Haible  <bruno@clisp.org>
30707
30708         Support for stripping executables in --enable-relocatable.
30709         * build-aux/install-reloc: Expect one more argument, or an environment
30710         variable RELOC_STRIP_PROG. If set, strip the destination program and
30711         its wrapper.
30712         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30713         RELOC_STRIP_PROG.
30714         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30715         to set RELOCATABLE_STRIP.
30716         * NEWS: Mention the new Makefile requirement.
30717
30718 2009-01-17  Bruno Haible  <bruno@clisp.org>
30719
30720         * build-aux/install-reloc: Remove debugging information left over by
30721         C compiler on MacOS X.
30722
30723 2009-01-17  Bruno Haible  <bruno@clisp.org>
30724
30725         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30726         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30727         _NSGetExecutablePath.
30728
30729 2009-01-16  Jim Meyering  <meyering@redhat.com>
30730
30731         strerror: avoid warnings about discarding "const"
30732         * lib/strerror.c (rpl_strerror): Instead of returning a const
30733         string from each and every "case", use a variable, and add a single
30734         cast after the switch.
30735
30736 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30737
30738         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30739
30740 2009-01-16  Bruno Haible  <bruno@clisp.org>
30741
30742         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30743         array initializer syntax that also works in C++ mode.
30744         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30745
30746 2009-01-16  Jim Meyering  <meyering@redhat.com>
30747
30748         poll: suppress a warning
30749         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30750         to ignore "...unsigned expression < 0 is always false" warnings.
30751
30752 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30753
30754         poll: remove declarations of unused variables
30755         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30756         sockbuf and optlen.
30757
30758 2009-01-15  Bruno Haible  <bruno@clisp.org>
30759
30760         Make fflush-after-ungetc POSIX compliant on BSD systems.
30761         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30762         (clear_ungetc_buffer): Implement also for other systems.
30763         (rpl_fflush): On glibc systems, invoke
30764         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30765         clear_ungetc_buffer after fetching the stream's position, not before.
30766
30767 2009-01-15  Bruno Haible  <bruno@clisp.org>
30768
30769         Make fflush-after-ungetc POSIX compliant on glibc systems.
30770         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30771         after ungetc.
30772         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30773         (rpl_fflush): On glibc systems, simply call the system's fflush
30774         function after clearing the ungetc buffer.
30775         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30776         Instead, lseek only to the end of file, then use the system's fseeko
30777         for the rest. On glibc systems, reset the EOF indicator bit.
30778
30779 2009-01-15  Jim Meyering  <meyering@redhat.com>
30780
30781         openmp.m4: revert quote-adding change, for portability to older autoconf
30782         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30783         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30784         Simon Josefsson noticed the problem when using autoconf-2.61.
30785
30786 2009-01-15  Bruno Haible  <bruno@clisp.org>
30787
30788         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30789         * tests/test-fflush2.c (ASSERT): Always fail.
30790         (main): Add two tests for fflush() after ungetc(), taking into account
30791         the Austin Group's clarification.
30792         Suggested by Eric Blake.
30793
30794 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30795
30796         mktime.m4: remove K&R-style function prototypes
30797         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30798         for the Sun C++ compiler.
30799
30800 2009-01-14  Bruno Haible  <bruno@clisp.org>
30801
30802         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30803         while including <wchar.h>.
30804         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30805         the system's <wchar.h> file.
30806         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30807
30808 2009-01-14  Bruno Haible  <bruno@clisp.org>
30809
30810         * m4/csharp.m4: Don't mention gettext on the serial number line.
30811         * m4/csharpexec.m4: Likewise.
30812         * m4/eaccess.m4: Likewise.
30813         * m4/javaexec.m4: Likewise.
30814         * m4/sig_atomic_t.m4: Likewise.
30815         * m4/tmpdir.m4: Likewise.
30816         * m4/intldir.m4: Bump gettext version.
30817         * m4/lib-ld.m4: Likewise.
30818
30819 2009-01-14  Bruno Haible  <bruno@clisp.org>
30820
30821         * lib/progname.c (set_program_name): Add more comments.
30822         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30823
30824 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30825
30826         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30827         were sys/stat.h does not define it.
30828
30829 2009-01-14  Jim Meyering  <meyering@redhat.com>
30830
30831         many *.m4 files: improve m4 quoting
30832         99% of this change was performed by running the following commands:
30833         git ls-files | grep '\.m4$' | xargs perl -pi \
30834           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30835           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30836           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30837           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30838         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30839         The remainder were to add Copyright dates, increment serial numbers,
30840         undo some changes in comments, exclude m4/intl.m4, and add quotes
30841         around the "1" in ",1" where the unusual spacing prohibited the
30842         above regexps from doing the job.  For more details, see
30843         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30844         * m4/acl.m4: Modified.
30845         * m4/afs.m4: Likewise.
30846         * m4/alloca.m4: Likewise.
30847         * m4/argp.m4: Likewise.
30848         * m4/argz.m4: Likewise.
30849         * m4/atexit.m4: Likewise.
30850         * m4/bison-i18n.m4: Likewise.
30851         * m4/bison.m4: Likewise.
30852         * m4/byteswap.m4: Likewise.
30853         * m4/c-stack.m4: Likewise.
30854         * m4/c-strtod.m4: Likewise.
30855         * m4/calloc.m4: Likewise.
30856         * m4/canonicalize-lgpl.m4: Likewise.
30857         * m4/chown.m4: Likewise.
30858         * m4/clock_time.m4: Likewise.
30859         * m4/codeset.m4: Likewise.
30860         * m4/copy-file.m4: Likewise.
30861         * m4/csharp.m4: Likewise.
30862         * m4/csharpcomp.m4: Likewise.
30863         * m4/csharpexec.m4: Likewise.
30864         * m4/d-ino.m4: Likewise.
30865         * m4/d-type.m4: Likewise.
30866         * m4/dirfd.m4: Likewise.
30867         * m4/double-slash-root.m4: Likewise.
30868         * m4/eaccess.m4: Likewise.
30869         * m4/eealloc.m4: Likewise.
30870         * m4/environ.m4: Likewise.
30871         * m4/errno_h.m4: Likewise.
30872         * m4/euidaccess.m4: Likewise.
30873         * m4/execute.m4: Likewise.
30874         * m4/fatal-signal.m4: Likewise.
30875         * m4/fchdir.m4: Likewise.
30876         * m4/fcntl_h.m4: Likewise.
30877         * m4/fileblocks.m4: Likewise.
30878         * m4/filenamecat.m4: Likewise.
30879         * m4/findprog.m4: Likewise.
30880         * m4/flexmember.m4: Likewise.
30881         * m4/fnmatch.m4: Likewise.
30882         * m4/fopen.m4: Likewise.
30883         * m4/fpending.m4: Likewise.
30884         * m4/fprintf-posix.m4: Likewise.
30885         * m4/free.m4: Likewise.
30886         * m4/frexp.m4: Likewise.
30887         * m4/frexpl.m4: Likewise.
30888         * m4/fsusage.m4: Likewise.
30889         * m4/ftruncate.m4: Likewise.
30890         * m4/gc-camellia.m4: Likewise.
30891         * m4/gc-random.m4: Likewise.
30892         * m4/gc.m4: Likewise.
30893         * m4/getaddrinfo.m4: Likewise.
30894         * m4/getcwd-abort-bug.m4: Likewise.
30895         * m4/getcwd-path-max.m4: Likewise.
30896         * m4/getdate.m4: Likewise.
30897         * m4/getdomainname.m4: Likewise.
30898         * m4/getgroups.m4: Likewise.
30899         * m4/gethostname.m4: Likewise.
30900         * m4/gethrxtime.m4: Likewise.
30901         * m4/getline.m4: Likewise.
30902         * m4/getloadavg.m4: Likewise.
30903         * m4/getndelim2.m4: Likewise.
30904         * m4/getpass.m4: Likewise.
30905         * m4/gettext.m4: Likewise.
30906         * m4/gettime.m4: Likewise.
30907         * m4/gettimeofday.m4: Likewise.
30908         * m4/gnulib-common.m4: Likewise.
30909         * m4/group-member.m4: Likewise.
30910         * m4/host-os.m4: Likewise.
30911         * m4/iconv.m4: Likewise.
30912         * m4/iconv_open.m4: Likewise.
30913         * m4/inet_ntop.m4: Likewise.
30914         * m4/inet_pton.m4: Likewise.
30915         * m4/inline.m4: Likewise.
30916         * m4/intldir.m4: Likewise.
30917         * m4/intlmacosx.m4: Likewise.
30918         * m4/intmax.m4: Likewise.
30919         * m4/intmax_t.m4: Likewise.
30920         * m4/inttypes.m4: Likewise.
30921         * m4/inttypes_h.m4: Likewise.
30922         * m4/inttypes-pri.m4: Likewise.
30923         * m4/isapipe.m4: Likewise.
30924         * m4/isnand.m4: Likewise.
30925         * m4/isnanf.m4: Likewise.
30926         * m4/isnanl.m4: Likewise.
30927         * m4/javacomp.m4: Likewise.
30928         * m4/javaexec.m4: Likewise.
30929         * m4/jm-winsz1.m4: Likewise.
30930         * m4/jm-winsz2.m4: Likewise.
30931         * m4/lchown.m4: Likewise.
30932         * m4/lcmessage.m4: Likewise.
30933         * m4/ldexpl.m4: Likewise.
30934         * m4/lib-ld.m4: Likewise.
30935         * m4/lib-link.m4: Likewise.
30936         * m4/libsigsegv.m4: Likewise.
30937         * m4/link-follow.m4: Likewise.
30938         * m4/localcharset.m4: Likewise.
30939         * m4/locale-fr.m4: Likewise.
30940         * m4/locale-ja.m4: Likewise.
30941         * m4/locale-tr.m4: Likewise.
30942         * m4/locale-zh.m4: Likewise.
30943         * m4/lock.m4: Likewise.
30944         * m4/longlong.m4: Likewise.
30945         * m4/ls-mntd-fs.m4: Likewise.
30946         * m4/lstat.m4: Likewise.
30947         * m4/malloc.m4: Likewise.
30948         * m4/mathl.m4: Likewise.
30949         * m4/mbrtowc.m4: Likewise.
30950         * m4/mbstate_t.m4: Likewise.
30951         * m4/mbswidth.m4: Likewise.
30952         * m4/memchr.m4: Likewise.
30953         * m4/memcmp.m4: Likewise.
30954         * m4/memcpy.m4: Likewise.
30955         * m4/memmem.m4: Likewise.
30956         * m4/memmove.m4: Likewise.
30957         * m4/mempcpy.m4: Likewise.
30958         * m4/memrchr.m4: Likewise.
30959         * m4/memset.m4: Likewise.
30960         * m4/minmax.m4: Likewise.
30961         * m4/mkdir-slash.m4: Likewise.
30962         * m4/mkdtemp.m4: Likewise.
30963         * m4/mktime.m4: Likewise.
30964         * m4/mmap-anon.m4: Likewise.
30965         * m4/mountlist.m4: Likewise.
30966         * m4/nanosleep.m4: Likewise.
30967         * m4/nls.m4: Likewise.
30968         * m4/nocrash.m4: Likewise.
30969         * m4/open.m4: Likewise.
30970         * m4/openat.m4: Likewise.
30971         * m4/openmp.m4: Likewise.
30972         * m4/pathmax.m4: Likewise.
30973         * m4/perl.m4: Likewise.
30974         * m4/physmem.m4: Likewise.
30975         * m4/pipe.m4: Likewise.
30976         * m4/po.m4: Likewise.
30977         * m4/poll.m4: Likewise.
30978         * m4/posixtm.m4: Likewise.
30979         * m4/posixver.m4: Likewise.
30980         * m4/printf-frexp.m4: Likewise.
30981         * m4/printf-frexpl.m4: Likewise.
30982         * m4/printf-posix.m4: Likewise.
30983         * m4/printf-posix-rpl.m4: Likewise.
30984         * m4/printf.m4: Likewise.
30985         * m4/progtest.m4: Likewise.
30986         * m4/putenv.m4: Likewise.
30987         * m4/readline.m4: Likewise.
30988         * m4/readlink.m4: Likewise.
30989         * m4/readutmp.m4: Likewise.
30990         * m4/realloc.m4: Likewise.
30991         * m4/regex.m4: Likewise.
30992         * m4/relocatable.m4: Likewise.
30993         * m4/relocatable-lib.m4: Likewise.
30994         * m4/rename-dest-slash.m4: Likewise.
30995         * m4/rename.m4: Likewise.
30996         * m4/rmdir-errno.m4: Likewise.
30997         * m4/rmdir.m4: Likewise.
30998         * m4/roundf.m4: Likewise.
30999         * m4/roundl.m4: Likewise.
31000         * m4/rpmatch.m4: Likewise.
31001         * m4/save-cwd.m4: Likewise.
31002         * m4/selinux-selinux-h.m4: Likewise.
31003         * m4/setenv.m4: Likewise.
31004         * m4/settime.m4: Likewise.
31005         * m4/sig2str.m4: Likewise.
31006         * m4/sig_atomic_t.m4: Likewise.
31007         * m4/signalblocking.m4: Likewise.
31008         * m4/signbit.m4: Likewise.
31009         * m4/sigpipe.m4: Likewise.
31010         * m4/sockets.m4: Likewise.
31011         * m4/sockpfaf.m4: Likewise.
31012         * m4/st_dm_mode.m4: Likewise.
31013         * m4/stat-time.m4: Likewise.
31014         * m4/stdbool.m4: Likewise.
31015         * m4/stdint.m4: Likewise.
31016         * m4/stdint_h.m4: Likewise.
31017         * m4/stpcpy.m4: Likewise.
31018         * m4/stpncpy.m4: Likewise.
31019         * m4/strcase.m4: Likewise.
31020         * m4/strchrnul.m4: Likewise.
31021         * m4/strcspn.m4: Likewise.
31022         * m4/strdup.m4: Likewise.
31023         * m4/strftime.m4: Likewise.
31024         * m4/strndup.m4: Likewise.
31025         * m4/strnlen.m4: Likewise.
31026         * m4/strpbrk.m4: Likewise.
31027         * m4/strptime.m4: Likewise.
31028         * m4/strsep.m4: Likewise.
31029         * m4/strtod.m4: Likewise.
31030         * m4/strtoimax.m4: Likewise.
31031         * m4/strtok_r.m4: Likewise.
31032         * m4/strtol.m4: Likewise.
31033         * m4/strtoll.m4: Likewise.
31034         * m4/strtoul.m4: Likewise.
31035         * m4/strtoull.m4: Likewise.
31036         * m4/strtoumax.m4: Likewise.
31037         * m4/strverscmp.m4: Likewise.
31038         * m4/threadlib.m4: Likewise.
31039         * m4/timegm.m4: Likewise.
31040         * m4/tm_gmtoff.m4: Likewise.
31041         * m4/tmpdir.m4: Likewise.
31042         * m4/tmpfile.m4: Likewise.
31043         * m4/tzset.m4: Likewise.
31044         * m4/uintmax_t.m4: Likewise.
31045         * m4/unlinkdir.m4: Likewise.
31046         * m4/unlocked-io.m4: Likewise.
31047         * m4/uptime.m4: Likewise.
31048         * m4/userspec.m4: Likewise.
31049         * m4/utimbuf.m4: Likewise.
31050         * m4/utime.m4: Likewise.
31051         * m4/utimes-null.m4: Likewise.
31052         * m4/utimes.m4: Likewise.
31053         * m4/vararrays.m4: Likewise.
31054         * m4/vasnprintf.m4: Likewise.
31055         * m4/vfprintf-posix.m4: Likewise.
31056         * m4/vprintf-posix.m4: Likewise.
31057         * m4/wait-process.m4: Likewise.
31058         * m4/wchar_t.m4: Likewise.
31059         * m4/wint_t.m4: Likewise.
31060         * m4/write-any-file.m4: Likewise.
31061         * m4/yield.m4: Likewise.
31062
31063 2009-01-13  Bruno Haible  <bruno@clisp.org>
31064
31065         Avoid test-copy-file.sh failures when ACL support insufficient.
31066         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
31067         TESTS_ENVIRONMENT.
31068         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
31069         Reported by Jim Meyering.
31070
31071 2009-01-13  Bruno Haible  <bruno@clisp.org>
31072
31073         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
31074         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
31075         * modules/unistdio/u8-printf-parse (Files): Likewise.
31076         * modules/unistdio/u32-printf-parse (Files): Likewise.
31077         * modules/unistdio/ulc-printf-parse (Files): Likewise.
31078
31079 2009-01-13  Simon Josefsson  <simon@josefsson.org>
31080
31081         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
31082         and m4/inttypes_h.m4 too.
31083
31084 2009-01-12  Eric Blake  <ebb9@byu.net>
31085
31086         tests: IRIX 6.2 cc can't compile -0.0 into .data
31087         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
31088         rather than at compile-time.
31089         * tests/test-floorl.c (minus_zero): Likewise.
31090         * tests/test-frexpl.c (minus_zero): Likewise.
31091         * tests/test-isnan.c (minus_zerol): Likewise.
31092         * tests/test-isnanl.h (minus_zero): Likewise.
31093         * tests/test-ldexpl.c (minus_zero): Likewise.
31094         * tests/test-roundl.c (minus_zero): Likewise.
31095         * tests/test-signbit.c (minus_zerol): Likewise.
31096         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31097         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31098         * tests/test-truncl.c (minus_zero): Likewise.
31099         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31100         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31101         Reported by Tom G. Christensen and Nelson H. F. Beebe.
31102
31103 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31104
31105         regex: fix glibc bug 9697
31106         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
31107         handling.
31108
31109 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31110
31111         regex: fix glibc bug 697
31112         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
31113         being NULL also if there are no backreferences.
31114
31115 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31116
31117         regex: merge glibc changes
31118         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
31119         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
31120         re_string_skip_chars, re_string_reconstruct): Likewise.
31121         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
31122
31123 2009-01-07  Jim Meyering  <meyering@redhat.com>
31124
31125         poll: filter through cppi
31126         * lib/poll.c: Indent cpp directives to reflect nesting.
31127
31128 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
31129
31130         poll: don't return uninitialized
31131         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
31132
31133 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
31134
31135         avoid compile failure on AIX 6.1
31136         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
31137         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
31138
31139 2009-01-04  Jim Meyering  <meyering@redhat.com>
31140
31141         remove duplicate inclusion of <stdio.h>
31142         * tests/test-fprintf-posix.c: Likewise.
31143         * tests/test-printf-posix.c: Likewise.
31144         * tests/test-snprintf-posix.c: Likewise.
31145         * tests/test-sprintf-posix.c: Likewise.
31146         * tests/test-vasprintf-posix.c: Likewise.
31147         * tests/test-vfprintf-posix.c: Likewise.
31148         * tests/test-vprintf-posix.c: Likewise.
31149         * tests/test-vsnprintf-posix.c: Likewise.
31150         * tests/test-vsprintf-posix.c: Likewise.
31151
31152 2009-01-03  Jim Meyering  <meyering@redhat.com>
31153
31154         gnulib-tool: fix sed-based filtering
31155         * gnulib-tool (func_filter_filelist): Remove extra backslash
31156         in sed_fff_filter definition.
31157
31158 2009-01-02  Jim Meyering  <meyering@redhat.com>
31159
31160         strftime: avoid compilation failure on Solaris 2.6
31161         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
31162         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
31163         Don't #define mbrlen or mbsinit, since now they're guaranteed to
31164         be available.  Reported by Tom G. Christensen.  Details in
31165         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
31166
31167 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31168             Bruno Haible  <bruno@clisp.org>
31169
31170         Speed up gnulib-tool by doing more string processing through shell
31171         built-ins.
31172         * gnulib-tool (fast_func_append): New variable.
31173         (func_remove_prefix, func_remove_suffix): New functions.
31174         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
31175         (func_filter_filelist): New function.
31176         (func_get_dependencies): Use func_remove_suffix instead of sed.
31177         (func_get_automake_snippet): Use func_filter_filelist instead of a
31178         subshell and sed invocation.
31179
31180 2009-01-01  Bruno Haible  <bruno@clisp.org>
31181
31182         Fix a security bug.
31183         * gnulib-tool (func_import, import, update): Don't allow the characters
31184         '"', '$', '`', '\' in macro arguments that become part of commands that
31185         are evaluated.
31186
31187 2009-01-01  Bruno Haible  <bruno@clisp.org>
31188
31189         * gnulib-tool (func_reset_sigpipe): Add more comments.
31190
31191 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31192
31193         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
31194         func_emit_tests_Makefile_am, func_import): Abort loops early if we
31195         already know the answer.
31196
31197 2009-01-01  Jim Meyering  <meyering@redhat.com>
31198
31199         * lib/version-etc.c (version_etc_va): Update copyright year.
31200
31201 2008-12-30  Bruno Haible  <bruno@clisp.org>
31202
31203         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
31204         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
31205         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
31206
31207 2008-12-29  Eric Blake  <ebb9@byu.net>
31208
31209         multiarch: avoid autoconf AC_REQUIRE bug
31210         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
31211         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
31212         2.63 and older.
31213         Reported by Bruno Haible, and analyzed in
31214         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
31215
31216 2008-12-29  Bruno Haible  <bruno@clisp.org>
31217
31218         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
31219         files in subdirectories correctly.
31220         Reported by Ralf Wildenhues.
31221
31222 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31223
31224         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
31225         rather than 'join FILE -', for Solaris join.
31226
31227 2008-12-29  Bruno Haible  <bruno@clisp.org>
31228
31229         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
31230         quoting.
31231         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31232         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
31233         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
31234         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
31235         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31236         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31237         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31238         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31239         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31240         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31241         * m4/nls.m4 (AM_NLS): Likewise.
31242         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
31243         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31244         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31245         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31246         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31247         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31248         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
31249         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31250         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31251         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31252         * m4/xsize.m4 (gl_XSIZE): Likewise.
31253         Suggested by Jim Meyering.
31254
31255 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31256
31257         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
31258         * lib/parse-duration.c: use a switch instead of cascading if's.
31259
31260 2008-12-29  Eric Blake  <ebb9@byu.net>
31261
31262         wchar.h: supply WEOF on Irix 5.3
31263         * lib/wchar.in.h (wint_t): Also supply WEOF.
31264         * lib/wctype.in.h (wint_t): Likewise.
31265         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
31266         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
31267         Reported by Tom G. Christensen.
31268
31269 2008-12-26  Bruno Haible  <bruno@clisp.org>
31270
31271         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
31272         i486, i586, i686.
31273
31274 2008-12-26  Bruno Haible  <bruno@clisp.org>
31275
31276         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
31277
31278 2008-12-26  Bruno Haible  <bruno@clisp.org>
31279
31280         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
31281         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
31282         not __STDC_CONSTANT_MACROS.
31283         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31284
31285 2008-12-25  Bruno Haible  <bruno@clisp.org>
31286
31287         Add support for universal builds to vasnprintf.
31288         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
31289         universal builds, guess no.
31290         * modules/vasnprintf-posix (Depends-on): Add multiarch.
31291         * modules/vasprintf-posix (Depends-on): Likewise.
31292         * modules/fprintf-posix (Depends-on): Likewise.
31293         * modules/vfprintf-posix (Depends-on): Likewise.
31294         * modules/snprintf-posix (Depends-on): Likewise.
31295         * modules/vsnprintf-posix (Depends-on): Likewise.
31296         * modules/sprintf-posix (Depends-on): Likewise.
31297         * modules/vsprintf-posix (Depends-on): Likewise.
31298         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31299         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31300         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31301         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31302         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31303         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31304         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31305
31306         Add support for universal builds to <inttypes.h>.
31307         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
31308         _SCNu64_PREFIX): In Apple
31309         universal builds, define directly, using _LP64.
31310         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
31311         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
31312         * modules/inttypes (Depends-on): Add multiarch.
31313         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31314
31315         Add support for universal builds to <stdint.h>.
31316         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
31317         universal builds, define directly, using _LP64.
31318         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
31319         Apple universal builds, don't test for the size and suffix of ptrdiff_t
31320         and size_t.
31321         * modules/stdint (Depends-on): Add multiarch.
31322         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31323
31324         New module 'multiarch'.
31325         * modules/multiarch: New file.
31326         * m4/multiarch.m4: New file.
31327
31328 2008-12-25  Bruno Haible  <bruno@clisp.org>
31329
31330         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
31331
31332 2008-12-25  Bruno Haible  <bruno@clisp.org>
31333
31334         * modules/btowc (License): Relicense under LGPLv2+.
31335         * modules/mbsinit (License): Likewise.
31336         * modules/mbrtowc (License): Likewise.
31337         * modules/wcrtomb (License): Likewise.
31338         * modules/streq (License): Likewise.
31339         Reported by David Lutterkort <lutter@redhat.com>.
31340
31341 2008-12-23  Bruno Haible  <bruno@clisp.org>
31342
31343         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
31344
31345 2008-12-23  Bruno Haible  <bruno@clisp.org>
31346
31347         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
31348         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
31349         GETADDRINFO_LIB, not in LIBS.
31350         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
31351         * modules/canon-host (Link): Likewise.
31352         * NEWS: Mention the change.
31353         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
31354         GETADDRINFO_LIB.
31355
31356 2008-12-22  Bruno Haible  <bruno@clisp.org>
31357
31358         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
31359         * doc/posix-functions/iswalpha_l.texi: Likewise.
31360         * doc/posix-functions/iswblank_l.texi: Likewise.
31361         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31362         * doc/posix-functions/iswctype_l.texi: Likewise.
31363         * doc/posix-functions/iswdigit_l.texi: Likewise.
31364         * doc/posix-functions/iswgraph_l.texi: Likewise.
31365         * doc/posix-functions/iswlower_l.texi: Likewise.
31366         * doc/posix-functions/iswprint_l.texi: Likewise.
31367         * doc/posix-functions/iswpunct_l.texi: Likewise.
31368         * doc/posix-functions/iswspace_l.texi: Likewise.
31369         * doc/posix-functions/iswupper_l.texi: Likewise.
31370         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31371         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
31372         * doc/posix-functions/open_wmemstream.texi: Likewise.
31373         * doc/posix-functions/swscanf.texi: Likewise.
31374         * doc/posix-functions/towctrans_l.texi: Likewise.
31375         * doc/posix-functions/towlower.texi: Likewise.
31376         * doc/posix-functions/towlower_l.texi: Likewise.
31377         * doc/posix-functions/towupper.texi: Likewise.
31378         * doc/posix-functions/towupper_l.texi: Likewise.
31379         * doc/posix-functions/vfwprintf.texi: Likewise.
31380         * doc/posix-functions/vfwscanf.texi: Likewise.
31381         * doc/posix-functions/vswscanf.texi: Likewise.
31382         * doc/posix-functions/vwprintf.texi: Likewise.
31383         * doc/posix-functions/vwscanf.texi: Likewise.
31384         * doc/posix-functions/wcpcpy.texi: Likewise.
31385         * doc/posix-functions/wcpncpy.texi: Likewise.
31386         * doc/posix-functions/wcscasecmp.texi: Likewise.
31387         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
31388         * doc/posix-functions/wcscoll_l.texi: Likewise.
31389         * doc/posix-functions/wcsdup.texi: Likewise.
31390         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31391         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
31392         * doc/posix-functions/wcsnlen.texi: Likewise.
31393         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31394         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31395         * doc/posix-functions/wctrans_l.texi: Likewise.
31396         * doc/posix-functions/wctype_l.texi: Likewise.
31397         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
31398         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
31399         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
31400         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
31401         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
31402         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
31403         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
31404         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
31405         * doc/glibc-functions/wcschrnul.texi: Likewise.
31406         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31407         * doc/glibc-functions/wcstod_l.texi: Likewise.
31408         * doc/glibc-functions/wcstof_l.texi: Likewise.
31409         * doc/glibc-functions/wcstol_l.texi: Likewise.
31410         * doc/glibc-functions/wcstold_l.texi: Likewise.
31411         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31412         * doc/glibc-functions/wcstoq.texi: Likewise.
31413         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31414         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31415         * doc/glibc-functions/wcstouq.texi: Likewise.
31416         * doc/glibc-functions/wmempcpy.texi: Likewise.
31417
31418 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
31419             Eric Blake  <ebb9@byu.net>
31420             Paolo Bonzini  <bonzini@gnu.org>
31421             Bruno Haible  <bruno@clisp.org>
31422
31423         Make c-stack work on Haiku.
31424         * lib/c-stack.c (SA_ONSTACK): Define fallback.
31425         (c_stack_action): Use SA_ONSTACK flag.
31426
31427 2008-12-22  Bruno Haible  <bruno@clisp.org>
31428
31429         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
31430
31431 2008-12-22  Bruno Haible  <bruno@clisp.org>
31432
31433         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
31434         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
31435         being overridden.
31436         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
31437         New macros.
31438         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
31439         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
31440         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
31441         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
31442
31443 2008-12-22  Bruno Haible  <bruno@clisp.org>
31444
31445         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
31446         from test code.
31447
31448 2008-12-22  Eric Blake  <ebb9@byu.net>
31449
31450         Avoid gcc warnings on cygwin.
31451         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
31452         Avoid unused variable.
31453         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
31454         Likewise.
31455
31456 2008-12-22  Bruno Haible  <bruno@clisp.org>
31457
31458         Remove HAVE_MBRTOWC conditionals.
31459         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
31460         (mbscasecmp): Assume mbrtowc function.
31461         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
31462         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
31463         * lib/mbschr.c: Include mbuiter.h unconditionally.
31464         (mbschr): Assume mbrtowc function.
31465         * lib/mbscspn.c: Include mbuiter.h unconditionally.
31466         (mbscspn): Assume mbrtowc function.
31467         * lib/mbslen.c: Include mbuiter.h unconditionally.
31468         (mbslen): Assume mbrtowc function.
31469         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
31470         (mbsncasecmp): Assume mbrtowc function.
31471         * lib/mbsnlen.c: Include mbiter.h unconditionally.
31472         (mbsnlen): Assume mbrtowc function.
31473         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
31474         (mbspbrk): Assume mbrtowc function.
31475         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
31476         (mbspcasecmp): Assume mbrtowc function.
31477         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
31478         (mbsrchr): Assume mbrtowc function.
31479         * lib/mbssep.c: Include mbuiter.h unconditionally.
31480         (mbssep): Assume mbrtowc function.
31481         * lib/mbsspn.c: Include mbuiter.h unconditionally.
31482         (mbsspn): Assume mbrtowc function.
31483         * lib/mbsstr.c: Include mbuiter.h unconditionally.
31484         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
31485         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
31486         (mbstok_r): Assume mbrtowc function.
31487         * lib/propername.c: Include mbuiter.h unconditionally.
31488         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
31489         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
31490         (trim2): Assume mbrtowc function.
31491         * lib/mbswidth.c (mbsinit): Remove fallback definition.
31492         (mbsnwidth): Assume mbrtowc function.
31493         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
31494         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
31495         fallback definitions.
31496         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
31497
31498 2008-12-22  Bruno Haible  <bruno@clisp.org>
31499
31500         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
31501
31502 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
31503
31504         * modules/regex: Request emulations for the mb*/wc* functions we need.
31505         * m4/regex.m4: Don't look for those functions here.
31506         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
31507
31508 2008-12-22  Bruno Haible  <bruno@clisp.org>
31509
31510         * modules/fnmatch (Depends-on): Remove duplicated dependency.
31511
31512 2008-12-21  Bruno Haible  <bruno@clisp.org>
31513
31514         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
31515         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
31516         (Include): Remove conditionalization.
31517         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
31518         (Include): Remove conditionalization.
31519         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
31520         (Include): Remove conditionalization.
31521         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
31522         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31523         * NEWS: Mention the change.
31524         Reported by Alan Hourihane <alanh@fairlite.co.uk>
31525         via Sergey Poznyakoff <gray@gnu.org.ua>.
31526
31527 2008-12-21  Bruno Haible  <bruno@clisp.org>
31528
31529         * MODULES.html.sh (Extended multibyte and wide character utilities
31530         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
31531         wcrtomb, wcsrtombs.
31532         (Support for systems lacking POSIX:2008): Add accept, bind, close,
31533         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
31534         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
31535         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
31536
31537 2008-12-21  Bruno Haible  <bruno@clisp.org>
31538
31539         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
31540
31541 2008-12-21  Bruno Haible  <bruno@clisp.org>
31542
31543         * modules/wcsnrtombs-tests: New file.
31544         * tests/test-wcsnrtombs1.sh: New file.
31545         * tests/test-wcsnrtombs2.sh: New file.
31546         * tests/test-wcsnrtombs3.sh: New file.
31547         * tests/test-wcsnrtombs4.sh: New file.
31548         * tests/test-wcsnrtombs.c: New file.
31549
31550         New module 'wcsnrtombs'.
31551         * lib/wchar.in.h (wcsnrtombs): New declaration.
31552         * lib/wcsnrtombs.c: New file.
31553         * lib/wcsrtombs-state.c: New file.
31554         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
31555         (internal_state): Remove variable.
31556         * m4/wcsnrtombs.m4: New file.
31557         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
31558         compilation units.
31559         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
31560         HAVE_WCSNRTOMBS.
31561         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
31562         HAVE_WCSNRTOMBS.
31563         * modules/wcsnrtombs: New file.
31564         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
31565         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
31566
31567 2008-12-21  Bruno Haible  <bruno@clisp.org>
31568
31569         * modules/wcsrtombs-tests: New file.
31570         * tests/test-wcsrtombs1.sh: New file.
31571         * tests/test-wcsrtombs2.sh: New file.
31572         * tests/test-wcsrtombs3.sh: New file.
31573         * tests/test-wcsrtombs4.sh: New file.
31574         * tests/test-wcsrtombs.c: New file.
31575
31576         New module 'wcsrtombs'.
31577         * lib/wchar.in.h (wcsrtombs): New declaration.
31578         * lib/wcsrtombs.c: New file.
31579         * m4/wcsrtombs.m4: New file.
31580         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
31581         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31582         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
31583         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31584         * modules/wcsrtombs: New file.
31585         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
31586         bugs.
31587
31588 2008-12-21  Bruno Haible  <bruno@clisp.org>
31589
31590         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
31591         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
31592         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
31593         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
31594         if not correct.
31595         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
31596         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
31597         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31598         m4/locale-zh.m4, m4/codeset.m4.
31599         * doc/posix-functions/wcrtomb.texi: Document the bug.
31600
31601 2008-12-21  Bruno Haible  <bruno@clisp.org>
31602
31603         Work around a btowc() bug on IRIX 6.5.
31604         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
31605         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
31606         REPLACE_WTOBC if not.
31607         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
31608         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
31609         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
31610
31611 2008-12-21  Bruno Haible  <bruno@clisp.org>
31612
31613         * modules/wcrtomb-tests: New file.
31614         * tests/test-wcrtomb.sh: New file.
31615         * tests/test-wcrtomb.c: New file.
31616
31617         New module 'wcrtomb'.
31618         * lib/wchar.in.h (wcrtomb): New declaration.
31619         * lib/wcrtomb.c: New file.
31620         * m4/wcrtomb.m4: New file.
31621         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
31622         HAVE_WCRTOMB.
31623         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
31624         HAVE_WCRTOMB.
31625         * modules/wcrtomb: New file.
31626         * doc/posix-functions/wcrtomb.texi: Mention the new module.
31627
31628 2008-12-21  Bruno Haible  <bruno@clisp.org>
31629
31630         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
31631         * modules/mbsrtowcs (Files): Likewise.
31632         * modules/wctob (Files): Likewise.
31633         * modules/c-strcase-tests (Files): Likewise.
31634         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31635         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31636         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
31637         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
31638         * modules/vasnprintf-posix-tests (Files): Likewise.
31639
31640 2008-12-21  William Pursell  <bill.pursell@gmail.com>
31641
31642         gitlog-to-changelog: pass all command-line arguments to git-log
31643         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
31644         it is sometimes convenient to filter the commits in various ways.
31645         gitlog-to-changelog only allows --since to specify a start date,
31646         but git-log itself supports many other filtering mechanisms.
31647         At the moment, I want to filter by branch name.  Rather than
31648         adding a --branch option to gitlog-to-changelog, it seems more
31649         flexible to simply pass all options directly to git-log and let
31650         git do the work.  Notice that this effectively makes --since a
31651         redundant option for gitlog-to-changelog, but removing it would
31652         require current usage to change since calls would then require
31653         an additional '--'.
31654
31655 2008-12-21  Bruno Haible  <bruno@clisp.org>
31656
31657         * modules/mbsnrtowcs-tests: New file.
31658         * tests/test-mbsnrtowcs1.sh: New file.
31659         * tests/test-mbsnrtowcs2.sh: New file.
31660         * tests/test-mbsnrtowcs3.sh: New file.
31661         * tests/test-mbsnrtowcs4.sh: New file.
31662         * tests/test-mbsnrtowcs.c: New file.
31663
31664         New module 'mbsnrtowcs'.
31665         * lib/wchar.in.h (mbsnrtowcs): New declaration.
31666         * lib/mbsnrtowcs.c: New file.
31667         * lib/mbsrtowcs-state.c: New file.
31668         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
31669         (internal_state): Remove variable.
31670         * m4/mbsnrtowcs.m4: New file.
31671         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
31672         compilation units.
31673         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
31674         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31675         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
31676         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31677         * modules/mbsnrtowcs: New file.
31678         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
31679         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
31680         portability problem.
31681
31682 2008-12-21  Bruno Haible  <bruno@clisp.org>
31683
31684         Work around mbsrtowcs bug.
31685         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31686         (gl_FUNC_MBSRTOWCS): Invoke it.
31687         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31688         m4/locale-zh.m4.
31689         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31690
31691 2008-12-21  Bruno Haible  <bruno@clisp.org>
31692
31693         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31694
31695 2008-12-21  Bruno Haible  <bruno@clisp.org>
31696
31697         Update doc for AIX.
31698         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31699         16-bit wchar_t type.
31700         * doc/posix-functions/btowc.texi: Likewise.
31701         * doc/posix-functions/fgetwc.texi: Likewise.
31702         * doc/posix-functions/fgetws.texi: Likewise.
31703         * doc/posix-functions/fputwc.texi: Likewise.
31704         * doc/posix-functions/fputws.texi: Likewise.
31705         * doc/posix-functions/fwide.texi: Likewise.
31706         * doc/posix-functions/fwprintf.texi: Likewise.
31707         * doc/posix-functions/fwscanf.texi: Likewise.
31708         * doc/posix-functions/getwchar.texi: Likewise.
31709         * doc/posix-functions/getwc.texi: Likewise.
31710         * doc/posix-functions/iswalnum.texi: Likewise.
31711         * doc/posix-functions/iswalpha.texi: Likewise.
31712         * doc/posix-functions/iswblank.texi: Likewise.
31713         * doc/posix-functions/iswcntrl.texi: Likewise.
31714         * doc/posix-functions/iswctype.texi: Likewise.
31715         * doc/posix-functions/iswdigit.texi: Likewise.
31716         * doc/posix-functions/iswgraph.texi: Likewise.
31717         * doc/posix-functions/iswlower.texi: Likewise.
31718         * doc/posix-functions/iswprint.texi: Likewise.
31719         * doc/posix-functions/iswpunct.texi: Likewise.
31720         * doc/posix-functions/iswspace.texi: Likewise.
31721         * doc/posix-functions/iswupper.texi: Likewise.
31722         * doc/posix-functions/iswxdigit.texi: Likewise.
31723         * doc/posix-functions/mbrtowc.texi: Likewise.
31724         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31725         * doc/posix-functions/mbstowcs.texi: Likewise.
31726         * doc/posix-functions/mbtowc.texi: Likewise.
31727         * doc/posix-functions/putwchar.texi: Likewise.
31728         * doc/posix-functions/putwc.texi: Likewise.
31729         * doc/posix-functions/swprintf.texi: Likewise.
31730         * doc/posix-functions/tolower.texi: Likewise.
31731         * doc/posix-functions/toupper.texi: Likewise.
31732         * doc/posix-functions/towctrans.texi: Likewise.
31733         * doc/posix-functions/ungetwc.texi: Likewise.
31734         * doc/posix-functions/vswprintf.texi: Likewise.
31735         * doc/posix-functions/wcrtomb.texi: Likewise.
31736         * doc/posix-functions/wcscat.texi: Likewise.
31737         * doc/posix-functions/wcschr.texi: Likewise.
31738         * doc/posix-functions/wcscmp.texi: Likewise.
31739         * doc/posix-functions/wcscoll.texi: Likewise.
31740         * doc/posix-functions/wcscpy.texi: Likewise.
31741         * doc/posix-functions/wcscspn.texi: Likewise.
31742         * doc/posix-functions/wcsftime.texi: Likewise.
31743         * doc/posix-functions/wcslen.texi: Likewise.
31744         * doc/posix-functions/wcsncat.texi: Likewise.
31745         * doc/posix-functions/wcsncmp.texi: Likewise.
31746         * doc/posix-functions/wcsncpy.texi: Likewise.
31747         * doc/posix-functions/wcspbrk.texi: Likewise.
31748         * doc/posix-functions/wcsrchr.texi: Likewise.
31749         * doc/posix-functions/wcsrtombs.texi: Likewise.
31750         * doc/posix-functions/wcsspn.texi: Likewise.
31751         * doc/posix-functions/wcsstr.texi: Likewise.
31752         * doc/posix-functions/wcstod.texi: Likewise.
31753         * doc/posix-functions/wcstof.texi: Likewise.
31754         * doc/posix-functions/wcstoimax.texi: Likewise.
31755         * doc/posix-functions/wcstok.texi: Likewise.
31756         * doc/posix-functions/wcstold.texi: Likewise.
31757         * doc/posix-functions/wcstoll.texi: Likewise.
31758         * doc/posix-functions/wcstol.texi: Likewise.
31759         * doc/posix-functions/wcstombs.texi: Likewise.
31760         * doc/posix-functions/wcstoull.texi: Likewise.
31761         * doc/posix-functions/wcstoul.texi: Likewise.
31762         * doc/posix-functions/wcstoumax.texi: Likewise.
31763         * doc/posix-functions/wcswidth.texi: Likewise.
31764         * doc/posix-functions/wcsxfrm.texi: Likewise.
31765         * doc/posix-functions/wctob.texi: Likewise.
31766         * doc/posix-functions/wctomb.texi: Likewise.
31767         * doc/posix-functions/wctrans.texi: Likewise.
31768         * doc/posix-functions/wctype.texi: Likewise.
31769         * doc/posix-functions/wcwidth.texi: Likewise.
31770         * doc/posix-functions/wmemchr.texi: Likewise.
31771         * doc/posix-functions/wmemcmp.texi: Likewise.
31772         * doc/posix-functions/wmemcpy.texi: Likewise.
31773         * doc/posix-functions/wmemmove.texi: Likewise.
31774         * doc/posix-functions/wmemset.texi: Likewise.
31775         * doc/posix-functions/wprintf.texi: Likewise.
31776         * doc/posix-functions/wscanf.texi: Likewise.
31777
31778 2008-12-21  Bruno Haible  <bruno@clisp.org>
31779
31780         Update doc for HP-UX 11.11.
31781         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31782         in HP-UX version 11.00, not in all versions of HP-UX 11.
31783         * doc/posix-functions/fwide.texi: Likewise.
31784         * doc/posix-functions/fwprintf.texi: Likewise.
31785         * doc/posix-functions/fwscanf.texi: Likewise.
31786         * doc/posix-functions/inet_ntop.texi: Likewise.
31787         * doc/posix-functions/inet_pton.texi: Likewise.
31788         * doc/posix-functions/mbrlen.texi: Likewise.
31789         * doc/posix-functions/mbrtowc.texi: Likewise.
31790         * doc/posix-functions/mbsinit.texi: Likewise.
31791         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31792         * doc/posix-functions/swprintf.texi: Likewise.
31793         * doc/posix-functions/swscanf.texi: Likewise.
31794         * doc/posix-functions/towctrans.texi: Likewise.
31795         * doc/posix-functions/vfwprintf.texi: Likewise.
31796         * doc/posix-functions/vswprintf.texi: Likewise.
31797         * doc/posix-functions/vwprintf.texi: Likewise.
31798         * doc/posix-functions/wcrtomb.texi: Likewise.
31799         * doc/posix-functions/wcsrtombs.texi: Likewise.
31800         * doc/posix-functions/wcsstr.texi: Likewise.
31801         * doc/posix-functions/wctob.texi: Likewise.
31802         * doc/posix-functions/wctrans.texi: Likewise.
31803         * doc/posix-functions/wmemchr.texi: Likewise.
31804         * doc/posix-functions/wmemcmp.texi: Likewise.
31805         * doc/posix-functions/wmemcpy.texi: Likewise.
31806         * doc/posix-functions/wmemmove.texi: Likewise.
31807         * doc/posix-functions/wmemset.texi: Likewise.
31808         * doc/posix-functions/wprintf.texi: Likewise.
31809         * doc/posix-functions/wscanf.texi: Likewise.
31810
31811 2008-12-21  Bruno Haible  <bruno@clisp.org>
31812
31813         Work around a portability problem.
31814         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31815         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31816
31817 2008-12-20  Bruno Haible  <bruno@clisp.org>
31818
31819         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31820         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31821         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31822         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31823         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31824
31825         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31826         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31827         set.
31828         (GNULIB_defined_mbstate_t): New macro.
31829         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31830         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31831         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31832         reuses the system's mbrtowc function but works around the bugs.
31833         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31834         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31835         macros.
31836         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31837         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31838         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31839         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31840         REPLACE_MBSINIT if mbsinit needs to be overridden.
31841         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31842         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31843         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31844         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31845         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31846         m4/locale-zh.m4.
31847         (Depends): Add mbsinit.
31848         * modules/mbsinit (Depends): Add mbrtowc.
31849         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31850
31851 2008-12-20  Bruno Haible  <bruno@clisp.org>
31852
31853         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31854         so that there are no conversion errors on AIX.
31855         * tests/test-mbsrtowcs.c (main): LIkewise.
31856
31857 2008-12-20  Bruno Haible  <bruno@clisp.org>
31858
31859         Work around wctob bug on Solaris <= 9.
31860         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31861         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31862         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31863         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31864         * modules/wctob (Files): Add m4/locale-fr.m4.
31865         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31866
31867 2008-12-20  Bruno Haible  <bruno@clisp.org>
31868
31869         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31870         /dev/null.
31871         * tests/test-select-in.sh: Likewise.
31872         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31873
31874 2008-12-20  Bruno Haible  <bruno@clisp.org>
31875
31876         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31877         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31878         Cygwin 1.5.x.
31879
31880 2008-12-20  Bruno Haible  <bruno@clisp.org>
31881
31882         Ensure mbstate_t is defined on HP-UX 11.11.
31883         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31884         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31885         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31886         AC_USE_SYSTEM_EXTENSIONS.
31887         * modules/fnmatch (Depends-on): Add extensions.
31888         * modules/mbrlen (Depends-on): Likewise.
31889         * modules/mbrtowc (Depends-on): Likewise.
31890         * modules/mbsinit (Depends-on): Likewise.
31891         * modules/mbsrtowcs (Depends-on): Likewise.
31892         * modules/mbswidth (Depends-on): Likewise.
31893         * modules/quotearg (Depends-on): Likewise.
31894         * modules/strftime (Depends-on): Likewise.
31895
31896 2008-12-20  Bruno Haible  <bruno@clisp.org>
31897
31898         Ensure wctob is declared on IRIX 6.5.
31899         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31900         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31901         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31902         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31903         of HAVE_WCTOB.
31904         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31905         HAVE_WCTOB.
31906         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31907
31908 2008-12-19  Bruno Haible  <bruno@clisp.org>
31909
31910         * modules/mbsrtowcs-tests: New file.
31911         * tests/test-mbsrtowcs1.sh: New file.
31912         * tests/test-mbsrtowcs2.sh: New file.
31913         * tests/test-mbsrtowcs3.sh: New file.
31914         * tests/test-mbsrtowcs4.sh: New file.
31915         * tests/test-mbsrtowcs.c: New file.
31916
31917         New module 'mbsrtowcs'.
31918         * lib/wchar.in.h (mbsrtowcs): New declaration.
31919         * lib/mbsrtowcs.c: New file.
31920         * m4/mbsrtowcs.m4: New file.
31921         * modules/mbsrtowcs: New file.
31922         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
31923         HAVE_MBSRTOWCS.
31924         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
31925         HAVE_MBSRTOWCS.
31926         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
31927
31928 2008-12-19  Bruno Haible  <bruno@clisp.org>
31929
31930         New module 'mbrlen'.
31931         * lib/wchar.in.h (mbrlen): New declaration.
31932         * lib/mbrlen.c: New file.
31933         * m4/mbrlen.m4: New file.
31934         * modules/mbrlen: New file.
31935         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
31936         HAVE_MBRLEN.
31937         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
31938         HAVE_MBRLEN.
31939         * doc/posix-functions/mbrlen.texi: Document the new module.
31940
31941 2008-12-19  Bruno Haible  <bruno@clisp.org>
31942
31943         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
31944         * modules/mbrtowc (Depends-on): Add verify.
31945         Suggested by Paul Eggert.
31946
31947 2008-12-18  Bruno Haible  <bruno@clisp.org>
31948
31949         * modules/mbsinit-tests: New file.
31950         * tests/test-mbsinit.sh: New file.
31951         * tests/test-mbsinit.c: New file.
31952
31953 2008-12-18  Bruno Haible  <bruno@clisp.org>
31954
31955         * modules/mbrtowc-tests: New file.
31956         * tests/test-mbrtowc1.sh: New file.
31957         * tests/test-mbrtowc2.sh: New file.
31958         * tests/test-mbrtowc3.sh: New file.
31959         * tests/test-mbrtowc4.sh: New file.
31960         * tests/test-mbrtowc.c: New file.
31961
31962         New module 'mbrtowc'.
31963         * lib/wchar.in.h (mbstate_t): Override when the system does not have
31964         mbsinit and mbrtowc.
31965         (mbrtowc): New declaration.
31966         * lib/mbrtowc.c: New file.
31967         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
31968         * modules/mbrtowc: New file.
31969         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
31970         HAVE_MBRTOWC.
31971         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
31972         HAVE_MBRTOWC.
31973         * doc/posix-functions/mbrtowc.texi: Document the new module.
31974
31975 2008-12-18  Bruno Haible  <bruno@clisp.org>
31976
31977         New module 'wctob'.
31978         * lib/wchar.in.h (wctob): New declaration.
31979         * lib/wctob.c: New file.
31980         * m4/wctob.m4: New file.
31981         * modules/wctob: New file.
31982         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
31983         HAVE_WCTOB.
31984         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
31985         * doc/posix-functions/wctob.texi: Document the new module.
31986
31987 2008-12-18  Bruno Haible  <bruno@clisp.org>
31988
31989         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
31990         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
31991
31992 2008-12-18  Simon Josefsson  <simon@josefsson.org>
31993
31994         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
31995         G. Christensen" <tgc@jupiterrise.com>.
31996
31997         * lib/flock.c: Need to include errno.h.  Reported by "Tom
31998         G. Christensen" <tgc@jupiterrise.com>.
31999
32000         * lib/flock.c: Need to include string.h.  Reported by "Tom
32001         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
32002         <ebb9@byu.net>.
32003
32004 2008-12-18  Bruno Haible  <bruno@clisp.org>
32005
32006         * m4/locale-ja.m4: New file, from GNU gettext.
32007
32008 2008-12-17  Bruno Haible  <bruno@clisp.org>
32009
32010         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
32011         Suggested by Eric Blake.
32012
32013 2008-12-17  Bruno Haible  <bruno@clisp.org>
32014
32015         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
32016
32017 2008-12-17  Bruno Haible  <bruno@clisp.org>
32018
32019         * lib/mbsinit.c: Include verify.h. Verify an assumption.
32020         * modules/mbsinit (Depends-on): Add verify.
32021         Suggested by Paul Eggert.
32022
32023 2008-12-17  Bruno Haible  <bruno@clisp.org>
32024
32025         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
32026         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
32027         gl_FUNC_MBRTOWC.
32028         * m4/mbiter.m4 (gl_MBITER): LIkewise.
32029         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
32030         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
32031         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
32032         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
32033         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
32034         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
32035         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
32036         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
32037         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
32038         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
32039         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
32040         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
32041         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
32042         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
32043         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32044         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
32045         * modules/trim (configure.ac): Likewise.
32046
32047 2008-12-17  Bruno Haible  <bruno@clisp.org>
32048
32049         * modules/btowc-tests: New file.
32050         * tests/test-btowc1.sh: New file.
32051         * tests/test-btowc2.sh: New file.
32052         * tests/test-btowc.c: New file.
32053
32054         New module 'btowc'.
32055         * lib/wchar.in.h (btowc): New declaration.
32056         * lib/btowc.c: New file.
32057         * m4/btowc.m4: New file.
32058         * modules/btowc: New file.
32059         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
32060         HAVE_BTOWC.
32061         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
32062         * doc/posix-functions/btowc.texi: Document the new module.
32063
32064 2008-12-17  Bruno Haible  <bruno@clisp.org>
32065
32066         New module 'mbsinit'.
32067         * lib/wchar.in.h (mbsinit): New declaration.
32068         * lib/mbsinit.c: New file.
32069         * m4/mbsinit.m4: New file.
32070         * modules/mbsinit: New file.
32071         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
32072         HAVE_MBSINIT.
32073         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
32074         HAVE_MBSINIT.
32075         * doc/posix-functions/mbsinit.texi: Document the new module.
32076
32077 2008-12-16  Bruno Haible  <bruno@clisp.org>
32078
32079         * lib/unistd.in.h: Add comment.
32080         * tests/test-environ.c: Don't include <stdlib.h>.
32081
32082 2008-12-16  Bruno Haible  <bruno@clisp.org>
32083
32084         * lib/parse-duration.h (parse_duration): Document return value
32085         convention.
32086         * lib/parse-duration.c: Include specification header first. Add
32087         comments.
32088         (_): Remove macro.
32089         (parse_year_month_day, parse_hour_minute_second): Move side effects
32090         outside of strchr call.
32091         (parse_non_iso8601): Move side effects outside of isspace call.
32092         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
32093         call.
32094
32095 2008-12-16  Bruno Haible  <bruno@clisp.org>
32096
32097         * tests/test-parse-duration.sh: Produce no output when the test
32098         succeeds.
32099
32100 2008-12-16  Bruno Haible  <bruno@clisp.org>
32101
32102         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
32103         expressions.
32104
32105 2008-12-15  Bruno Haible  <bruno@clisp.org>
32106
32107         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
32108         * doc/glibc-functions/flistxattr.texi: Likewise.
32109         * doc/glibc-functions/fopencookie.texi: Likewise.
32110         * doc/glibc-functions/fremovexattr.texi: Likewise.
32111         * doc/glibc-functions/fsetxattr.texi: Likewise.
32112         * doc/glibc-functions/getxattr.texi: Likewise.
32113         * doc/glibc-functions/lgetxattr.texi: Likewise.
32114         * doc/glibc-functions/listxattr.texi: Likewise.
32115         * doc/glibc-functions/llistxattr.texi: Likewise.
32116         * doc/glibc-functions/lremovexattr.texi: Likewise.
32117         * doc/glibc-functions/lsetxattr.texi: Likewise.
32118         * doc/glibc-functions/removexattr.texi: Likewise.
32119         * doc/glibc-functions/setxattr.texi: Likewise.
32120         * doc/posix-functions/open_memstream.texi: Likewise.
32121
32122 2008-12-15  Eric Blake  <ebb9@byu.net>
32123
32124         Update doc for cygwin 1.7.
32125         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
32126         functions.
32127         * doc/posix-functions/fchmodat.texi: Likewise.
32128         * doc/posix-functions/fchownat.texi: Likewise.
32129         * doc/posix-functions/fdopendir.texi: Likewise.
32130         * doc/posix-functions/fmemopen.texi: Likewise.
32131         * doc/posix-functions/freeaddrinfo.texi: Likewise.
32132         * doc/posix-functions/fstatat.texi: Likewise.
32133         * doc/posix-functions/futimens.texi: Likewise.
32134         * doc/posix-functions/gai_strerror.texi: Likewise.
32135         * doc/posix-functions/getaddrinfo.texi: Likewise.
32136         * doc/posix-functions/getnameinfo.texi: Likewise.
32137         * doc/posix-functions/if_freenameindex.texi: Likewise.
32138         * doc/posix-functions/if_indextoname.texi: Likewise.
32139         * doc/posix-functions/if_nameindex.texi: Likewise.
32140         * doc/posix-functions/if_nametoindex.texi: Likewise.
32141         * doc/posix-functions/insque.texi: Likewise.
32142         * doc/posix-functions/linkat.texi: Likewise.
32143         * doc/posix-functions/llrint.texi: Likewise.
32144         * doc/posix-functions/llrintf.texi: Likewise.
32145         * doc/posix-functions/llrintl.texi: Likewise.
32146         * doc/posix-functions/lockf.texi: Likewise.
32147         * doc/posix-functions/lrintl.texi: Likewise.
32148         * doc/posix-functions/mkdirat.texi: Likewise.
32149         * doc/posix-functions/mkfifoat.texi: Likewise.
32150         * doc/posix-functions/mknodat.texi: Likewise.
32151         * doc/posix-functions/mq_close.texi: Likewise.
32152         * doc/posix-functions/mq_getattr.texi: Likewise.
32153         * doc/posix-functions/mq_notify.texi: Likewise.
32154         * doc/posix-functions/mq_open.texi: Likewise.
32155         * doc/posix-functions/mq_receive.texi: Likewise.
32156         * doc/posix-functions/mq_send.texi: Likewise.
32157         * doc/posix-functions/mq_setattr.texi: Likewise.
32158         * doc/posix-functions/mq_timedreceive.texi: Likewise.
32159         * doc/posix-functions/mq_timedsend.texi: Likewise.
32160         * doc/posix-functions/mq_unlink.texi: Likewise.
32161         * doc/posix-functions/open_memstream.texi: Likewise.
32162         * doc/posix-functions/openat.texi: Likewise.
32163         * doc/posix-functions/posix_fadvise.texi: Likewise.
32164         * doc/posix-functions/posix_fallocate.texi: Likewise.
32165         * doc/posix-functions/posix_madvise.texi: Likewise.
32166         * doc/posix-functions/posix_memalign.texi: Likewise.
32167         * doc/posix-functions/posix_openpt.texi: Likewise.
32168         * doc/posix-functions/readlinkat.texi: Likewise.
32169         * doc/posix-functions/remque.texi: Likewise.
32170         * doc/posix-functions/renameat.texi: Likewise.
32171         * doc/posix-functions/rintl.texi: Likewise.
32172         * doc/posix-functions/sem_unlink.texi: Likewise.
32173         * doc/posix-functions/shm_open.texi: Likewise.
32174         * doc/posix-functions/shm_unlink.texi: Likewise.
32175         * doc/posix-functions/signgam.texi: Likewise.
32176         * doc/posix-functions/sigset.texi: Likewise.
32177         * doc/posix-functions/stpcpy.texi: Likewise.
32178         * doc/posix-functions/stpncpy.texi: Likewise.
32179         * doc/posix-functions/strerror.texi: Likewise.
32180         * doc/posix-functions/strtod.texi: Likewise.
32181         * doc/posix-functions/symlinkat.texi: Likewise.
32182         * doc/posix-functions/unlinkat.texi: Likewise.
32183         * doc/posix-functions/utimensat.texi: Likewise.
32184         * doc/glibc-functions/bindresvport.texi: Likewise.
32185         * doc/glibc-functions/dn_expand.texi: Likewise.
32186         * doc/glibc-functions/exp10.texi: Likewise.
32187         * doc/glibc-functions/exp10f.texi: Likewise.
32188         * doc/glibc-functions/fgetxattr.texi: Likewise.
32189         * doc/glibc-functions/flistxattr.texi: Likewise.
32190         * doc/glibc-functions/fopencookie.texi: Likewise.
32191         * doc/glibc-functions/freeifaddrs.texi: Likewise.
32192         * doc/glibc-functions/fremovexattr.texi: Likewise.
32193         * doc/glibc-functions/fsetxattr.texi: Likewise.
32194         * doc/glibc-functions/getifaddrs.texi: Likewise.
32195         * doc/glibc-functions/getxattr.texi: Likewise.
32196         * doc/glibc-functions/lgetxattr.texi: Likewise.
32197         * doc/glibc-functions/listxattr.texi: Likewise.
32198         * doc/glibc-functions/llistxattr.texi: Likewise.
32199         * doc/glibc-functions/lremovexattr.texi: Likewise.
32200         * doc/glibc-functions/lsetxattr.texi: Likewise.
32201         * doc/glibc-functions/pow10.texi: Likewise.
32202         * doc/glibc-functions/pow10f.texi: Likewise.
32203         * doc/glibc-functions/rcmd_af.texi: Likewise.
32204         * doc/glibc-functions/removexattr.texi: Likewise.
32205         * doc/glibc-functions/res_init.texi: Likewise.
32206         * doc/glibc-functions/res_mkquery.texi: Likewise.
32207         * doc/glibc-functions/res_query.texi: Likewise.
32208         * doc/glibc-functions/res_querydomain.texi: Likewise.
32209         * doc/glibc-functions/res_send.texi: Likewise.
32210         * doc/glibc-functions/rresvport_af.texi: Likewise.
32211         * doc/glibc-functions/setxattr.texi: Likewise.
32212         * doc/glibc-functions/strcasestr.texi: Likewise.
32213
32214 2008-12-15  Bruno Haible  <bruno@clisp.org>
32215
32216         Fix compilation error on OSF/1 4.0.
32217         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
32218         <sys/time.h>, simply delegate to the system header.
32219         Reported by Daniel Richard G. <oss@teragram.com>.
32220
32221 2008-12-15  Bruno Haible  <bruno@clisp.org>
32222
32223         * doc/posix-functions/openat.texi: Mention the 'openat' module.
32224         * doc/posix-functions/fchmodat.texi: Likewise.
32225         * doc/posix-functions/fchownat.texi: Likewise.
32226         * doc/posix-functions/fdopendir.texi: Likewise.
32227         * doc/posix-functions/fstatat.texi: Likewise.
32228         * doc/posix-functions/mkdirat.texi: Likewise.
32229         * doc/posix-functions/unlinkat.texi: Likewise.
32230
32231 2008-12-14  Bruno Haible  <bruno@clisp.org>
32232
32233         Update doc for POSIX:2008.
32234         * doc/posix-functions/faccessat.texi: New file.
32235         * doc/posix-functions/fchmodat.texi: New file.
32236         * doc/posix-functions/fchownat.texi: New file.
32237         * doc/posix-functions/fdopendir.texi: New file.
32238         * doc/posix-functions/fstatat.texi: New file.
32239         * doc/posix-functions/futimens.texi: New file.
32240         * doc/posix-functions/linkat.texi: New file.
32241         * doc/posix-functions/mkdirat.texi: New file.
32242         * doc/posix-functions/mkfifoat.texi: New file.
32243         * doc/posix-functions/mknodat.texi: New file.
32244         * doc/posix-functions/open_wmemstream.texi: New file.
32245         * doc/posix-functions/openat.texi: New file.
32246         * doc/posix-functions/psiginfo.texi: New file.
32247         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
32248         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
32249         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
32250         * doc/posix-functions/readlinkat.texi: New file.
32251         * doc/posix-functions/renameat.texi: New file.
32252         * doc/posix-functions/strerror_l.texi: New file.
32253         * doc/posix-functions/symlinkat.texi: New file.
32254         * doc/posix-functions/unlinkat.texi: New file.
32255         * doc/posix-functions/utimensat.texi: New file.
32256         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32257
32258 2008-12-14  Bruno Haible  <bruno@clisp.org>
32259
32260         Update doc for POSIX:2008.
32261         * doc/posix-functions/alphasort.texi: Renamed from
32262         doc/glibc-functions/alphasort.texi.
32263         * doc/posix-functions/dirfd.texi: Renamed from
32264         doc/glibc-functions/dirfd.texi.
32265         * doc/posix-functions/dprintf.texi: Renamed from
32266         doc/glibc-functions/dprintf.texi.
32267         * doc/posix-functions/duplocale.texi: Renamed from
32268         doc/glibc-functions/duplocale.texi.
32269         * doc/posix-functions/fexecve.texi: Renamed from
32270         doc/glibc-functions/fexecve.texi.
32271         * doc/posix-functions/fmemopen.texi: Renamed from
32272         doc/glibc-functions/fmemopen.texi.
32273         * doc/posix-functions/freelocale.texi: Renamed from
32274         doc/glibc-functions/freelocale.texi.
32275         * doc/posix-functions/getdate_err.texi: Renamed from
32276         doc/glibc-functions/getdate_err.texi.
32277         * doc/posix-functions/isalnum_l.texi: Renamed from
32278         doc/glibc-functions/isalnum_l.texi.
32279         * doc/posix-functions/isalpha_l.texi: Renamed from
32280         doc/glibc-functions/isalpha_l.texi.
32281         * doc/posix-functions/isblank_l.texi: Renamed from
32282         doc/glibc-functions/isblank_l.texi.
32283         * doc/posix-functions/iscntrl_l.texi: Renamed from
32284         doc/glibc-functions/iscntrl_l.texi.
32285         * doc/posix-functions/isdigit_l.texi: Renamed from
32286         doc/glibc-functions/isdigit_l.texi.
32287         * doc/posix-functions/isgraph_l.texi: Renamed from
32288         doc/glibc-functions/isgraph_l.texi.
32289         * doc/posix-functions/islower_l.texi: Renamed from
32290         doc/glibc-functions/islower_l.texi.
32291         * doc/posix-functions/isprint_l.texi: Renamed from
32292         doc/glibc-functions/isprint_l.texi.
32293         * doc/posix-functions/ispunct_l.texi: Renamed from
32294         doc/glibc-functions/ispunct_l.texi.
32295         * doc/posix-functions/isspace_l.texi: Renamed from
32296         doc/glibc-functions/isspace_l.texi.
32297         * doc/posix-functions/isupper_l.texi: Renamed from
32298         doc/glibc-functions/isupper_l.texi.
32299         * doc/posix-functions/iswalnum_l.texi: Renamed from
32300         doc/glibc-functions/iswalnum_l.texi.
32301         * doc/posix-functions/iswalpha_l.texi: Renamed from
32302         doc/glibc-functions/iswalpha_l.texi.
32303         * doc/posix-functions/iswblank_l.texi: Renamed from
32304         doc/glibc-functions/iswblank_l.texi.
32305         * doc/posix-functions/iswcntrl_l.texi: Renamed from
32306         doc/glibc-functions/iswcntrl_l.texi.
32307         * doc/posix-functions/iswctype_l.texi: Renamed from
32308         doc/glibc-functions/iswctype_l.texi.
32309         * doc/posix-functions/iswdigit_l.texi: Renamed from
32310         doc/glibc-functions/iswdigit_l.texi.
32311         * doc/posix-functions/iswgraph_l.texi: Renamed from
32312         doc/glibc-functions/iswgraph_l.texi.
32313         * doc/posix-functions/iswlower_l.texi: Renamed from
32314         doc/glibc-functions/iswlower_l.texi.
32315         * doc/posix-functions/iswprint_l.texi: Renamed from
32316         doc/glibc-functions/iswprint_l.texi.
32317         * doc/posix-functions/iswpunct_l.texi: Renamed from
32318         doc/glibc-functions/iswpunct_l.texi.
32319         * doc/posix-functions/iswspace_l.texi: Renamed from
32320         doc/glibc-functions/iswspace_l.texi.
32321         * doc/posix-functions/iswupper_l.texi: Renamed from
32322         doc/glibc-functions/iswupper_l.texi.
32323         * doc/posix-functions/iswxdigit_l.texi: Renamed from
32324         doc/glibc-functions/iswxdigit_l.texi.
32325         * doc/posix-functions/isxdigit_l.texi: Renamed from
32326         doc/glibc-functions/isxdigit_l.texi.
32327         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
32328         doc/glibc-functions/mbsnrtowcs.texi.
32329         * doc/posix-functions/mkdtemp.texi: Renamed from
32330         doc/glibc-functions/mkdtemp.texi.
32331         * doc/posix-functions/newlocale.texi: Renamed from
32332         doc/glibc-functions/newlocale.texi.
32333         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
32334         doc/glibc-functions/nl_langinfo_l.texi.
32335         * doc/posix-functions/open_memstream.texi: Renamed from
32336         doc/glibc-functions/open_memstream.texi.
32337         * doc/posix-functions/opterr.texi: Renamed from
32338         doc/glibc-functions/opterr.texi.
32339         * doc/posix-functions/optind.texi: Renamed from
32340         doc/glibc-functions/optind.texi.
32341         * doc/posix-functions/optopt.texi: Renamed from
32342         doc/glibc-functions/optopt.texi.
32343         * doc/posix-functions/psignal.texi: Renamed from
32344         doc/glibc-functions/psignal.texi.
32345         * doc/posix-functions/scandir.texi: Renamed from
32346         doc/glibc-functions/scandir.texi.
32347         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
32348         doc/glibc-functions/sched_get_priority_min.texi.
32349         * doc/posix-functions/signgam.texi: Renamed from
32350         doc/glibc-functions/signgam.texi.
32351         * doc/posix-functions/stpcpy.texi: Renamed from
32352         doc/glibc-functions/stpcpy.texi.
32353         * doc/posix-functions/stpncpy.texi: Renamed from
32354         doc/glibc-functions/stpncpy.texi.
32355         * doc/posix-functions/strcasecmp_l.texi: Renamed from
32356         doc/glibc-functions/strcasecmp_l.texi.
32357         * doc/posix-functions/strcoll_l.texi: Renamed from
32358         doc/glibc-functions/strcoll_l.texi.
32359         * doc/posix-functions/strfmon_l.texi: Renamed from
32360         doc/glibc-functions/strfmon_l.texi.
32361         * doc/posix-functions/strftime_l.texi: Renamed from
32362         doc/glibc-functions/strftime_l.texi.
32363         * doc/posix-functions/strncasecmp_l.texi: Renamed from
32364         doc/glibc-functions/strncasecmp_l.texi.
32365         * doc/posix-functions/strndup.texi: Renamed from
32366         doc/glibc-functions/strndup.texi.
32367         * doc/posix-functions/strnlen.texi: Renamed from
32368         doc/glibc-functions/strnlen.texi.
32369         * doc/posix-functions/strsignal.texi: Renamed from
32370         doc/glibc-functions/strsignal.texi.
32371         * doc/posix-functions/strxfrm_l.texi: Renamed from
32372         doc/glibc-functions/strxfrm_l.texi.
32373         * doc/posix-functions/timer_gettime.texi: Renamed from
32374         doc/glibc-functions/timer_gettime.texi.
32375         * doc/posix-functions/tolower_l.texi: Renamed from
32376         doc/glibc-functions/tolower_l.texi.
32377         * doc/posix-functions/toupper_l.texi: Renamed from
32378         doc/glibc-functions/toupper_l.texi.
32379         * doc/posix-functions/towctrans_l.texi: Renamed from
32380         doc/glibc-functions/towctrans_l.texi.
32381         * doc/posix-functions/towlower_l.texi: Renamed from
32382         doc/glibc-functions/towlower_l.texi.
32383         * doc/posix-functions/towupper_l.texi: Renamed from
32384         doc/glibc-functions/towupper_l.texi.
32385         * doc/posix-functions/uselocale.texi: Renamed from
32386         doc/glibc-functions/uselocale.texi.
32387         * doc/posix-functions/vdprintf.texi: Renamed from
32388         doc/glibc-functions/vdprintf.texi.
32389         * doc/posix-functions/wcpcpy.texi:
32390         Renamed from doc/glibc-functions/wcpcpy.texi.
32391         * doc/posix-functions/wcpncpy.texi: Renamed from
32392         doc/glibc-functions/wcpncpy.texi.
32393         * doc/posix-functions/wcscasecmp.texi: Renamed from
32394         doc/glibc-functions/wcscasecmp.texi.
32395         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
32396         doc/glibc-functions/wcscasecmp_l.texi.
32397         * doc/posix-functions/wcscoll_l.texi: Renamed from
32398         doc/glibc-functions/wcscoll_l.texi.
32399         * doc/posix-functions/wcsdup.texi: Renamed from
32400         doc/glibc-functions/wcsdup.texi.
32401         * doc/posix-functions/wcsncasecmp.texi: Renamed from
32402         doc/glibc-functions/wcsncasecmp.texi.
32403         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
32404         doc/glibc-functions/wcsncasecmp_l.texi.
32405         * doc/posix-functions/wcsnlen.texi: Renamed from
32406         doc/glibc-functions/wcsnlen.texi.
32407         * doc/posix-functions/wcsnrtombs.texi: Renamed from
32408         doc/glibc-functions/wcsnrtombs.texi.
32409         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
32410         doc/glibc-functions/wcsxfrm_l.texi.
32411         * doc/posix-functions/wctrans_l.texi: Renamed from
32412         doc/glibc-functions/wctrans_l.texi.
32413         * doc/posix-functions/wctype_l.texi: Renamed from
32414         doc/glibc-functions/wctype_l.texi.
32415         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32416         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
32417         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
32418         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
32419         these subsections.
32420         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
32421         Remove sections.
32422
32423 2008-12-14  Bruno Haible  <bruno@clisp.org>
32424
32425         Update doc for POSIX:2008.
32426         * doc/posix-functions/*.texi: Update URL of POSIX specification.
32427
32428 2008-12-14  Bruno Haible  <bruno@clisp.org>
32429
32430         Update doc for POSIX:2008.
32431         * doc/pastposix-functions/bcmp.texi: Renamed from
32432         doc/posix-functions/bcmp.texi.
32433         * doc/pastposix-functions/bcopy.texi: Renamed from
32434         doc/posix-functions/bcopy.texi.
32435         * doc/pastposix-functions/bsd_signal.texi: Renamed from
32436         doc/posix-functions/bsd_signal.texi.
32437         * doc/pastposix-functions/bzero.texi: Renamed from
32438         doc/posix-functions/bzero.texi.
32439         * doc/pastposix-functions/ecvt.texi: Renamed from
32440         doc/posix-functions/ecvt.texi.
32441         * doc/pastposix-functions/fcvt.texi: Renamed from
32442         doc/posix-functions/fcvt.texi.
32443         * doc/pastposix-functions/ftime.texi: Renamed from
32444         doc/posix-functions/ftime.texi.
32445         * doc/pastposix-functions/gcvt.texi: Renamed from
32446         doc/posix-functions/gcvt.texi.
32447         * doc/pastposix-functions/getcontext.texi: Renamed from
32448         doc/posix-functions/getcontext.texi.
32449         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
32450         doc/posix-functions/gethostbyaddr.texi.
32451         * doc/pastposix-functions/gethostbyname.texi: Renamed from
32452         doc/posix-functions/gethostbyname.texi.
32453         * doc/pastposix-functions/getwd.texi: Renamed from
32454         doc/posix-functions/getwd.texi.
32455         * doc/pastposix-functions/h_errno.texi: Renamed from
32456         doc/posix-functions/h_errno.texi.
32457         * doc/pastposix-functions/index.texi: Renamed from
32458         doc/posix-functions/index.texi.
32459         * doc/pastposix-functions/makecontext.texi: Renamed from
32460         doc/posix-functions/makecontext.texi.
32461         * doc/pastposix-functions/mktemp.texi: Renamed from
32462         doc/posix-functions/mktemp.texi.
32463         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
32464         doc/posix-functions/pthread_attr_getstackaddr.texi.
32465         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
32466         doc/posix-functions/pthread_attr_setstackaddr.texi.
32467         * doc/pastposix-functions/rindex.texi: Renamed from
32468         doc/posix-functions/rindex.texi.
32469         * doc/pastposix-functions/scalb.texi: Renamed from
32470         doc/posix-functions/scalb.texi.
32471         * doc/pastposix-functions/setcontext.texi: Renamed from
32472         doc/posix-functions/setcontext.texi.
32473         * doc/pastposix-functions/swapcontext.texi: Renamed from
32474         doc/posix-functions/swapcontext.texi.
32475         * doc/pastposix-functions/ualarm.texi: Renamed from
32476         doc/posix-functions/ualarm.texi.
32477         * doc/pastposix-functions/usleep.texi: Renamed from
32478         doc/posix-functions/usleep.texi.
32479         * doc/pastposix-functions/vfork.texi: Renamed from
32480         doc/posix-functions/vfork.texi.
32481         * doc/pastposix-functions/wcswcs.texi: Renamed from
32482         doc/posix-functions/wcswcs.texi.
32483         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
32484         (Function Substitutes): Update.
32485
32486 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32487
32488         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
32489         m4/strerror.m4.
32490
32491 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32492             Bruno Haible  <bruno@clisp.org>
32493
32494         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
32495
32496 2008-12-13  Bruno Haible  <bruno@clisp.org>
32497
32498         * modules/strtoull (Depends-on): Remove unistd.
32499
32500 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32501
32502         * modules/strtoull (Depends-on): Add stdlib.
32503
32504 2008-12-11  Simon Josefsson  <simon@josefsson.org>
32505
32506         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
32507
32508 2008-12-10  Jim Meyering  <meyering@redhat.com>
32509
32510         gl_ASSERT: don't say assertions are disabled when they're not
32511         * m4/assert.m4 (gl_ASSERT): Do not make configure report
32512         "checking whether to enable assertions... no", when they are in
32513         fact enabled.  This is solely a bug in the output of configure.
32514         In spite of saying "no", NDEBUG was not defined in that case.
32515         Also, as noted by Eric Blake, leave assertions enabled upon
32516         --enable-assert=INVALID.
32517
32518 2008-12-10  Bruno Haible  <bruno@clisp.org>
32519
32520         Change MODULES.html to refer to POSIX:2008 where possible.
32521         * MODULES.html.sh (POSIX2008_URL): New variable.
32522         (posix_headers): Remove sys/timeb, ucontext.
32523         (posix2001_headers): New variable.
32524         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
32525         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
32526         index, makecontext, mktemp, pthread_attr_getstackaddr,
32527         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
32528         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
32529         (posix2001_functions): New variable.
32530         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
32531         otherwise.
32532
32533 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32534
32535         add missing include to parse-duration.c
32536         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
32537         * modules/parse-duration (Depends-on): Add xalloc.
32538
32539         fix sed script reading maint.mk
32540         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
32541         (syntax-check-rules): Use it.
32542
32543 2008-12-09  Bruno Haible  <bruno@clisp.org>
32544
32545         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
32546         MacOS X 10.4/PowerPC.
32547         Reported by Simon Josefsson.
32548
32549 2008-12-08  Jim Meyering  <meyering@redhat.com>
32550
32551         work around mingw's lack of some S_IF definitions
32552         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
32553         Reported by Simon Josefsson.
32554
32555 2008-12-08  Bruno Haible  <bruno@clisp.org>
32556
32557         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
32558         applied to variables. Needed on MacOS X 10.4/PowerPC.
32559         Reported by Simon Josefsson.
32560
32561 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
32562         and Eric Blake  <ebb9@byu.net>
32563
32564         assert: honor --enable-assert
32565         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
32566         order to honor --enable-assert, rather than treating it as a
32567         synonym for --disable-assert.
32568
32569 2008-12-08  Jim Meyering  <meyering@redhat.com>
32570
32571         * lib/posixtm.c: Remove now-useless declaration of mktime.
32572
32573         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
32574
32575 2008-12-07  Bruno Haible  <bruno@clisp.org>
32576
32577         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
32578         test_once): Mark functions as static.
32579         * tests/test-tls.c (test_tls): Likewise.
32580
32581 2008-12-07  Bruno Haible  <bruno@clisp.org>
32582
32583         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
32584         iconv_register_autodetect.
32585
32586 2008-12-07  Jim Meyering  <meyering@redhat.com>
32587
32588         posixtm.c: avoid a warning
32589         * lib/posixtm.c (posixtime): Don't initialize tm0.
32590         It's no longer needed to placate gcc4's -Wuninitialized,
32591         and the attempt to placate would elicit a new warning.
32592
32593         unicodeio.c: mark unused parameters
32594         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32595         (fallback_failure_callback): Likewise.
32596
32597 2008-12-07  Bruno Haible  <bruno@clisp.org>
32598
32599         * gnulib-tool (func_create_testdir): When building the tests
32600         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
32601         Reported by Simon Josefsson.
32602
32603 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32604
32605         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
32606
32607 2008-12-06  Bruno Haible  <bruno@clisp.org>
32608
32609         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
32610         Suggested by Eric Blake.
32611
32612 2008-12-06  Bruno Haible  <bruno@clisp.org>
32613
32614         Fix a c-stack test failure on MacOS X.
32615         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
32616         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
32617         handler for SIGBUS as well.
32618         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
32619         install a signal handler for SIGBUS as well.
32620         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
32621
32622 2008-12-06  Bruno Haible  <bruno@clisp.org>
32623
32624         Advocacy documentation.
32625         * doc/gnulib-intro.texi (Benefits): New section.
32626         * doc/gnulib.texi: Update.
32627
32628 2008-12-06  Bruno Haible  <bruno@clisp.org>
32629
32630         Document the 'manywarnings' module.
32631         * doc/manywarnings.texi: New file.
32632         * doc/gnulib.texi: Include it.
32633
32634 2008-12-05  Eric Blake  <ebb9@byu.net>
32635
32636         tests: silence some gcc warnings
32637         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
32638         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
32639         type mismatches.
32640
32641 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32642             Bruno Haible  <bruno@clisp.org>
32643
32644         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
32645
32646 2008-11-29  Jim Meyering  <meyering@redhat.com>
32647
32648         unicodeio.c: mark unused parameters
32649         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32650         (fallback_failure_callback): Likewise.
32651
32652         fts: fix a thinko
32653         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
32654         (set_stat_type): Return S_IF*-valued "type" directly.
32655         Prompted by James Youngman's spotting a related bug.
32656         Confirmed by further testing through find.
32657
32658         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
32659         * lib/fts.c (D_TYPE): Define.
32660         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
32661         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
32662         (s_ifmt_shift_bits): New function.
32663         (set_stat_type): New function.
32664         (fts_build): When not calling fts_stat, call set_stat_type
32665         to propagate dirent.d_type info to fts_read caller.
32666         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
32667         fts_statp->st_mode type information may be valid.
32668
32669 2008-11-28  Simon Josefsson  <simon@josefsson.org>
32670
32671         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
32672         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
32673         <sds@gnu.org>.
32674
32675 2008-11-20  Bruno Haible  <bruno@clisp.org>
32676
32677         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
32678         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
32679         INCLUDE_NEXT.
32680         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
32681         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
32682         * modules/math (Makefile.am): Substitute
32683         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
32684         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32685
32686 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32687             Bruno Haible  <bruno@clisp.org>
32688
32689         * lib/stdint.in.h: Define all type macros so that their expansion is
32690         a single typedef'ed token. Fixes a compilation failure in Boost which
32691         does "using ::int8_t;".
32692
32693 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32694
32695         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32696         gl_MANYWARN_ALL_GCC.
32697         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32698         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32699         * modules/manywarnings: New file.
32700         * MODULES.html.sh: Mention manywarnings module.
32701
32702 2008-11-18  Bruno Haible  <bruno@clisp.org>
32703
32704         * doc/gnulib-tool.texi (Unit tests): New section.
32705
32706 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32707
32708         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32709         paths like 'lib/po/foo.po'.
32710
32711 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32712
32713         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32714         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32715
32716 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32717
32718         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32719         parameter works.
32720
32721 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32722
32723         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32724
32725 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32726
32727         * modules/parse-duration-tests: New file.
32728         * tests/test-parse-duration.sh: New file.
32729         * tests/test-parse-duration.c: New file.
32730
32731         New module 'parse-duration'.
32732         * lib/parse-duration.h: New file.
32733         * lib/parse-duration.c: New file.
32734         * modules/parse-duration: New file.
32735
32736 2008-11-17  Bruno Haible  <bruno@clisp.org>
32737
32738         * tests/test-select-out.sh: Comment out the first pipe test.
32739         Reported by Simon Josefsson.
32740
32741 2008-11-17  Bruno Haible  <bruno@clisp.org>
32742
32743         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32744         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32745         gl_HOSTENT.
32746
32747 2008-11-17  Bruno Haible  <bruno@clisp.org>
32748
32749         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32750         -lnetwork and -lnet. Needed for Haiku and BeOS.
32751
32752 2008-11-16  Bruno Haible  <bruno@clisp.org>
32753
32754         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32755
32756 2008-11-16  Bruno Haible  <bruno@clisp.org>
32757
32758         Avoid test failure on Haiku.
32759         * tests/test-fsync.c: Include <errno.h>.
32760         (main): Don't require that fsync (0) fails.
32761
32762 2008-11-15  Bruno Haible  <bruno@clisp.org>
32763
32764         New module 'hostent'.
32765         * modules/hostent: New file.
32766         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32767
32768 2008-11-15  Bruno Haible  <bruno@clisp.org>
32769
32770         New module 'servent'.
32771         * modules/servent: New file.
32772         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32773
32774 2008-11-15  Bruno Haible  <bruno@clisp.org>
32775
32776         Avoid generating same test program with two different rules.
32777         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32778         test-frexp to test-frexp-nolibm.
32779         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32780         test-frexpl to test-frexpl-nolibm.
32781
32782 2008-11-15  Bruno Haible  <bruno@clisp.org>
32783
32784         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32785         $(FREXPL_LIBM).
32786
32787 2008-11-15  Bruno Haible  <bruno@clisp.org>
32788
32789         * lib/netdb.in.h: Activate the definitions also when the system's
32790         <netdb.h> has 'struct addrinfo'.
32791         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32792         EAI_OVERFLOW or AI_NUMERICSERV.
32793         * doc/posix-headers/netdb.texi: Document the problem.
32794
32795 2008-11-15  Bruno Haible  <bruno@clisp.org>
32796
32797         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32798
32799         Make the 'sched' module work on platforms where <sched.h> exists but
32800         is incomplete (such as Haiku).
32801         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32802         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32803         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32804         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32805         HAVE_STRUCT_SCHED_PARAM.
32806         * modules/sched (Depends-on): Add include_next.
32807         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32808         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32809         * doc/posix-headers/sched.texi: Document the issue.
32810
32811 2008-11-13  Jim Meyering  <meyering@redhat.com>
32812
32813         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32814         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32815         test would fail due to the difference in the Report bugs to ...
32816         line.  The expected address is empty, "<>", while the actual
32817         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32818
32819 2008-11-12  Bruno Haible  <bruno@clisp.org>
32820
32821         lstat: don't compile lstat.c on systems lacking lstat
32822         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32823         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32824         Reported by Daniel P. Berrange via Jim Meyering.
32825
32826 2008-11-12  Jim Meyering  <meyering@redhat.com>
32827
32828         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32829
32830 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32831
32832         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32833         instead.
32834
32835 2008-11-12  Bruno Haible  <bruno@clisp.org>
32836
32837         * lib/unicodeio.c: Include unistr.h.
32838         (utf8_wctomb): Remove function.
32839         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32840
32841 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32842
32843         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32844         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32845         <bruno@clisp.org>.
32846         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32847
32848 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32849
32850         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32851         * doc/gnulib.texi: Add section for warnings.
32852
32853 2008-11-11  Bruno Haible  <bruno@clisp.org>
32854
32855         * lib/sockets.h: Add a comment.
32856
32857 2008-11-11  Karl Berry  <karl@gnu.org>
32858
32859         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32860
32861 2008-11-11  Eric Blake  <ebb9@byu.net>
32862
32863         fdl.texi: avoid git symlinks
32864         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32865
32866 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32867
32868         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32869
32870 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32871
32872         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32873         (gl_WARN_ADD): Substitute $2 if literal.
32874
32875 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32876
32877         * m4/warning.m4: Remove.
32878
32879 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32880
32881         * m4/warnings.m4: Almost complete rewrite. :-)
32882
32883 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32884
32885         * modules/warnings: New module.
32886         * m4/warnings.m4: New file.
32887         * MODULES.html.sh: Mention warnings module.
32888         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32889         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32890
32891 2008-11-10  Eric Blake  <ebb9@byu.net>
32892
32893         fdl.texi: make a symlink to the latest version
32894         * doc/standards.texi: Revert today's earlier change.
32895         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32896         * doc/fdl.texi: ...and replace this with a symlink to the newer
32897         fdl-1.3.texi.
32898
32899 2008-11-10  Bruno Haible  <bruno@clisp.org>
32900
32901         * tests/test-select-fd.c (main): Accept the result file name as fourth
32902         argument.
32903         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32904         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32905
32906 2008-11-10  Bruno Haible  <bruno@clisp.org>
32907
32908         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32909         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32910         as autoconf-substituted macros.
32911         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32912         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32913         gl_NETDB_H_DEFAULTS. Set these variables.
32914         * modules/netdb (Makefile.am): Substitute these variables.
32915
32916 2008-11-10  Eric Blake  <ebb9@byu.net>
32917
32918         standards.texi: include correct file for FDL 1.3
32919         * doc/standards.texi (GNU Free Documentation License): Change
32920         include file to pull in FDL 1.3, not 1.2.
32921
32922         fdl.texi: revert accidental change to license
32923         * doc/fdl.texi: This is FDL 1.2, not 1.3.
32924
32925 2008-11-10  Bruno Haible  <bruno@clisp.org>
32926
32927         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
32928         cross-compiling guesses also when the native compile gives no result.
32929
32930 2008-11-10  Bruno Haible  <bruno@clisp.org>
32931
32932         * lib/spawni.c (__spawni): Force variable into the stack.
32933
32934 2008-11-10  Bruno Haible  <bruno@clisp.org>
32935
32936         Add support for Haiku.
32937         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
32938         glibc and BeOS, but also on Haiku.
32939         * lib/fpurge.c (fpurge): Likewise.
32940         * lib/freadable.c (freadable): Likewise.
32941         * lib/freadahead.c (freadahead): Likewise.
32942         * lib/freading.c (freading): Likewise.
32943         * lib/freadptr.c (freadptr): Likewise.
32944         * lib/freadseek.c (freadptrinc): Likewise.
32945         * lib/fseeko.c (rpl_fseeko): Likewise.
32946         * lib/fseterr.c (fseterr): Likewise.
32947         * lib/fwritable.c (fwritable): Likewise.
32948         * lib/fwriting.c (fwriting): Likewise.
32949         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
32950
32951 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32952
32953         * lib/config.charset: Treat Haiku like BeOS.
32954
32955 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32956
32957         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
32958         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
32959
32960 2008-11-08  Bruno Haible  <bruno@clisp.org>
32961
32962         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
32963         AC_CACHE_CHECK.
32964
32965 2008-11-08  Bruno Haible  <bruno@clisp.org>
32966
32967         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
32968
32969 2008-11-08  Bruno Haible  <bruno@clisp.org>
32970
32971         * tests/test-select-fd.c: New file.
32972         * tests/test-select-in.sh: New file.
32973         * tests/test-select-out.sh: New file.
32974         * tests/test-select-stdin.c: New file.
32975         * modules/select-tests (Files): Add the new files.
32976         (Depends-on): Add gettimeofday.
32977         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
32978         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
32979         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
32980
32981 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
32982             Bruno Haible  <bruno@clisp.org>
32983
32984         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
32985
32986 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
32987
32988         * build-aux/pmccabe2html: Added support for C++ source files.
32989
32990 2008-11-05  Ben Pfaff  <blp@gnu.org>
32991
32992         Fix lib/close.c build on Windows.
32993         * modules/close (Files): Add lib/w32sock.h.
32994
32995 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
32996
32997         Accept Bison's NEWS format.
32998         * build-aux/announce-gen (print_news_deltas): Tweak
32999         $re_prefix.
33000
33001 2008-11-04  Bruno Haible  <bruno@clisp.org>
33002
33003         * modules/random_r (Maintainer): Add glibc.
33004
33005 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33006
33007         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
33008         by karl@freefriends.org (Karl Berry).
33009         * doc/alloca.texi: Likewise.
33010         * doc/c-ctype.texi: Likewise.
33011         * doc/c-strcase.texi: Likewise.
33012         * doc/c-strcaseeq.texi: Likewise.
33013         * doc/c-strcasestr.texi: Likewise.
33014         * doc/c-strstr.texi: Likewise.
33015         * doc/c-strtod.texi: Likewise.
33016         * doc/c-strtold.texi: Likewise.
33017         * doc/ctime.texi: Likewise.
33018         * doc/error.texi: Likewise.
33019         * doc/fdl.texi: Likewise.
33020         * doc/gcd.texi: Likewise.
33021         * doc/getdate.texi: Likewise.
33022         * doc/gnulib-intro.texi: Likewise.
33023         * doc/gnulib-tool.texi: Likewise.
33024         * doc/gnulib.texi: Likewise.
33025         * doc/inet_ntoa.texi: Likewise.
33026         * doc/maintain.texi: Likewise.
33027         * doc/make-stds.texi: Likewise.
33028         * doc/quote.texi: Likewise.
33029         * doc/regexprops-generic.texi: Likewise.
33030         * doc/standards.texi: Likewise.
33031         * doc/verify.texi: Likewise.
33032         * doc/visibility.texi: Likewise.
33033         * doc/gnulib.texi (GNU Free Documentation License): Include
33034         fdl-1.3.texi instead of fdl.texi.
33035
33036 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33037
33038         * doc/fdl-1.3.texi: New file, from
33039         <http://www.gnu.org/licenses/fdl-1.3.texi>.
33040         * modules/fdl-1.3: Add.
33041         * MODULES.html.sh: Add fdl-1.3.
33042
33043 2008-11-03  Bruno Haible  <bruno@clisp.org>
33044
33045         Make determination of absolute name of header file work with AIX xlc.
33046         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
33047         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
33048         preprocessing.
33049         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33050         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33051
33052 2008-11-03  Simon Josefsson  <simon@josefsson.org>
33053
33054         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
33055         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
33056         <ludo@gnu.org>.
33057
33058 2008-11-02  Bruno Haible  <bruno@clisp.org>
33059
33060         Mark 'strpbrk' obsolete.
33061         * modules/strpbrk (Status, Notice): New sections.
33062         * modules/strtok_r (Depends-on): Add strpbrk.
33063
33064 2008-11-02  Bruno Haible  <bruno@clisp.org>
33065
33066         Mark 'strdup' obsolete.
33067         * modules/strdup (Status, Notice): New sections.
33068         * modules/findprog (Depends-on): Add strdup.
33069         * modules/getaddrinfo (Depends-on): Likewise.
33070         * modules/localename (Depends-on): Likewise.
33071         * modules/relocatable-lib (Depends-on): Likewise.
33072         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
33073         * modules/relocatable-prog (Depends-on): Likewise.
33074         * modules/trim (Depends-on): Likewise.
33075         * modules/unictype/gen-ctype (Depends-on): Likewise.
33076         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33077
33078 2008-11-02  Bruno Haible  <bruno@clisp.org>
33079
33080         Mark 'strcspn' obsolete.
33081         * modules/strcspn (Status, Notice): New sections.
33082
33083 2008-11-02  Bruno Haible  <bruno@clisp.org>
33084
33085         Mark 'rmdir' obsolete.
33086         * modules/rmdir (Status, Notice): New sections.
33087         * modules/clean-temp (Depends-on): Add rmdir.
33088         * modules/openat (Depends-on): Likewise.
33089
33090 2008-11-02  Bruno Haible  <bruno@clisp.org>
33091
33092         Mark 'raise' obsolete.
33093         * modules/raise (Status, Notice): New sections.
33094         (Include): Specify <signal.h>.
33095         * modules/stdio (Depends-on): Add raise.
33096         * modules/write (Depends-on): Likewise.
33097
33098 2008-11-02  Bruno Haible  <bruno@clisp.org>
33099
33100         Mark 'memset' obsolete.
33101         * modules/memset (Status, Notice): New sections.
33102
33103 2008-11-02  Bruno Haible  <bruno@clisp.org>
33104
33105         Mark 'memmove' obsolete.
33106         * modules/memmove (Status, Notice): New sections.
33107         * modules/argp (Depends-on): Add memmove.
33108         * modules/argz (Depends-on): Likewise.
33109         * modules/canonicalize (Depends-on): Likewise.
33110         * modules/canonicalize-lgpl (Depends-on): Likewise.
33111         * modules/fts (Depends-on): Likewise.
33112         * modules/getcwd (Depends-on): Likewise.
33113         * modules/human (Depends-on): Likewise.
33114         * modules/regex (Depends-on): Likewise.
33115         * modules/striconveh (Depends-on): Likewise.
33116         * modules/trim (Depends-on): Likewise.
33117         * modules/unistr/u8-move (Depends-on): Likewise.
33118         * modules/unistr/u16-move (Depends-on): Likewise.
33119         * modules/unistr/u32-move (Depends-on): Likewise.
33120
33121 2008-11-02  Bruno Haible  <bruno@clisp.org>
33122
33123         Mark 'memcpy' obsolete.
33124         * modules/memcpy (Status, Notice): New sections.
33125
33126 2008-11-02  Bruno Haible  <bruno@clisp.org>
33127
33128         Mark 'memcmp' obsolete.
33129         * modules/memcmp (Status, Notice): New sections.
33130         * modules/argmatch (Depends-on): Add memchr.
33131         * modules/backupfile (Depends-on): Likewise.
33132         * modules/c-strcasestr (Depends-on): Likewise.
33133         * modules/crypto/des (Depends-on): Likewise.
33134         * modules/csharpcomp (Depends-on): Likewise.
33135         * modules/fnmatch (Depends-on): Likewise.
33136         * modules/git-merge-changelog (Depends-on): Likewise.
33137         * modules/isnand (Depends-on): Likewise.
33138         * modules/isnand-nolibm (Depends-on): Likewise.
33139         * modules/isnanf (Depends-on): Likewise.
33140         * modules/isnanf-nolibm (Depends-on): Likewise.
33141         * modules/isnanl (Depends-on): Likewise.
33142         * modules/isnanl-nolibm (Depends-on): Likewise.
33143         * modules/mbchar (Depends-on): Likewise.
33144         * modules/memcoll (Depends-on): Likewise.
33145         * modules/quotearg (Depends-on): Likewise.
33146         * modules/regex (Depends-on): Likewise.
33147         * modules/relocatable-prog (Depends-on): Likewise.
33148         * modules/same (Depends-on): Likewise.
33149         * modules/signbit (Depends-on): Likewise.
33150         * modules/strcasestr-simple (Depends-on): Likewise.
33151         * modules/unictype/gen-ctype (Depends-on): Likewise.
33152         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33153         * modules/uniname/uniname (Depends-on): Likewise.
33154         * modules/unistr/u8-cmp (Depends-on): Likewise.
33155
33156 2008-11-02  Bruno Haible  <bruno@clisp.org>
33157
33158         Mark 'memchr' obsolete.
33159         * modules/memchr (Status, Notice): New sections.
33160         * modules/argp (Depends-on): Add memchr.
33161         * modules/base64 (Depends-on): Likewise.
33162         * modules/c-strcasestr (Depends-on): Likewise.
33163         * modules/chdir-long (Depends-on): Likewise.
33164         * modules/fnmatch (Depends-on): Likewise.
33165         * modules/getsubopt (Depends-on): Likewise.
33166         * modules/git-merge-changelog (Depends-on): Likewise.
33167         * modules/glob (Depends-on): Likewise.
33168         * modules/strcasestr-simple (Depends-on): Likewise.
33169         * modules/strnlen (Depends-on): Likewise.
33170
33171 2008-11-02  Bruno Haible  <bruno@clisp.org>
33172
33173         Mark 'atexit' obsolete.
33174         * modules/atexit (Status, Notice): New sections.
33175         * modules/chdir-long (Depends-on): Add atexit.
33176         * modules/wait-process (Depends-on): Likewise.
33177
33178 2008-11-02  Bruno Haible  <bruno@clisp.org>
33179
33180         * gnulib-tool: New option --with-obsolete.
33181         (func_usage): Document it.
33182         (func_modules_transitive_closure): Drop obsolete dependencies if
33183         incobsolete is not true.
33184         (func_import): Read and save the incobsolete variable to the cache.
33185
33186 2008-11-02  Bruno Haible  <bruno@clisp.org>
33187
33188         * modules/TEMPLATE-EXTENDED: New field 'Status'.
33189         * gnulib-tool: New option --extract-status.
33190         (func_usage): Document it.
33191         (sed_extract_prog): Recognize it.
33192         (func_get_status): New function.
33193
33194 2008-10-30  Simon Josefsson  <simon@josefsson.org>
33195
33196         * modules/sockets (License): Change from LGPL to LGPLv2+.
33197
33198 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33199
33200         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
33201
33202 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33203
33204         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33205         Mention times and sys_times.
33206         * modules/sys_times, modules/sys_times-tests: New modules.
33207         * modules/times, modules/times-tests: Likewise
33208         * m4/sys_times_h.m4: New file.
33209         * lib/sys_times.in.h: Likewise
33210         * lib/times.c: Likewise.
33211         * tests/test-sys_times.c: Likewise.
33212         * tests/test-times.c: Likewise.
33213         * doc/posix-headers/sys_times.texi: Update.
33214         * doc/posix-functions/times.texi: Update.
33215
33216 2008-10-28  Jim Meyering  <meyering@redhat.com>
33217
33218         * modules/tempname (Depends-on): Add lstat.
33219
33220         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
33221
33222 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33223
33224         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
33225         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
33226         using idiom used elsewhere in gnulib.
33227
33228 2008-10-27  Jim Meyering  <meyering@redhat.com>
33229
33230         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
33231
33232 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33233
33234         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
33235         TESTS_ENVIRONMENT, for shell scripts that needs to call built
33236         programs.
33237         * tests/test-argp-2.sh: Use $EXEEXT when needed.
33238
33239 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33240
33241         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
33242
33243 2008-10-27  Bruno Haible  <bruno@clisp.org>
33244
33245         * tests/test-lstat.c: Include <stdio.h>.
33246
33247 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33248
33249         * modules/lstat-tests: New module.
33250         * tests/test-lstat.c: New file.
33251
33252 2008-10-26  Jim Meyering  <meyering@redhat.com>
33253
33254         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
33255
33256 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33257             Bruno Haible  <bruno@clisp.org>
33258
33259         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
33260         * modules/configmake (Include): Add a note that the include must come
33261         after all system headers.
33262         * lib/javaversion.c: Include configmake.h after all other includes.
33263
33264 2008-10-26  Bruno Haible  <bruno@clisp.org>
33265
33266         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
33267         HAVE_STRUCT_RANDOM_DATA to 1.
33268         (gl_STDLIB_H): Simplify.
33269
33270 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33271
33272         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
33273         substitute HAVE_STRUCT_RANDOM_DATA.
33274         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
33275         random_data.
33276         * modules/stdlib (Makefile.am): Substitute
33277         HAVE_STRUCT_RANDOM_DATA.
33278
33279 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33280
33281         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
33282         * doc/gnulib-intro.texi (Copyright): Likewise.
33283
33284 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33285
33286         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
33287         findings.
33288
33289 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
33290             Bruno Haible  <bruno@clisp.org>
33291
33292         * lib/unistd.in.h: Include <winsock2.h>.
33293         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
33294         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
33295         Provide dummy declarations.
33296         (gethostname): Override.
33297         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
33298         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
33299         gl_PREREQ_SYS_H_WINSOCK2.
33300         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
33301         * doc/posix-functions/gethostname.texi: More details.
33302
33303 2008-10-25  Bruno Haible  <bruno@clisp.org>
33304
33305         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33306         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
33307         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
33308
33309         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
33310         here ...
33311         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
33312         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
33313         gl_UNISTD_H_DEFAULTS.
33314
33315 2008-10-25  Eric Blake  <ebb9@byu.net>
33316
33317         signbit: avoid spurious compiler failure
33318         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
33319         declarations inside function.
33320
33321 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33322             Bruno Haible  <bruno@clisp.org>
33323
33324         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
33325         * modules/random_r (Depends-on): Add stdint.
33326
33327 2008-10-24  Bruno Haible  <bruno@clisp.org>
33328
33329         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
33330         Eggert.
33331         * modules/strerror (License): Likewise.
33332
33333 2008-10-24  Jim Meyering  <meyering@redhat.com>
33334
33335         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
33336         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
33337
33338 2008-10-24  Eric Blake  <ebb9@byu.net>
33339
33340         getgroups: fix compilation when getgroups is available
33341         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
33342         but with <config.h> override of getgroups disabled.
33343
33344 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33345
33346         * doc/gnulib.texi (Header files): Add note about C++ problems.
33347         Explained by Bruno Haible <bruno@clisp.org>.
33348
33349 2008-10-23  Bruno Haible  <bruno@clisp.org>
33350
33351         Define a dummy SA_NODEFER macro on Interix.
33352         * lib/signal.in.h (SA_NODEFER): Define fallback.
33353         Reported by Aleksey Cheusov <cheusov@tut.by> via
33354         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
33355
33356 2008-10-23  Bruno Haible  <bruno@clisp.org>
33357
33358         * modules/freadahead (License): Change to LGPLv2+.
33359         Suggested by Simon Josefsson.
33360
33361 2008-10-23  Jim Meyering  <meyering@redhat.com>
33362
33363         random_r: new module
33364         * modules/random_r: New file.
33365         * m4/random_r.m4: New file.
33366         * lib/random_r.c: New file, from glibc.
33367         * modules/random_r-tests: New file.
33368         * tests/test-random_r.c: New file.
33369         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
33370          Declare.
33371         (RAND_MAX): Define.
33372         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
33373         * modules/stdlib: Substitute them, too.
33374         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
33375         * doc/glibc-functions/initstate_r.texi: Mention the new module.
33376         * doc/glibc-functions/random_r.texi: Likewise.
33377         * doc/glibc-functions/setstate_r.texi: Likewise.
33378         * doc/glibc-functions/srandom_r.texi: Likewise.
33379         * config/srclist.txt: Mention it.
33380
33381 2008-10-23  David Lutterkort  <lutter@redhat.com>
33382
33383         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
33384         link requirement
33385
33386 2008-10-23  Jim Meyering  <meyering@redhat.com>
33387
33388         selinux-h: mark parameters of stub functions as intentionally unused
33389         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
33390         * lib/se-context.in.h: Likewise.
33391
33392 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33393
33394         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
33395
33396 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33397
33398         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
33399
33400 2008-10-22  Eric Blake  <ebb9@byu.net>
33401
33402         glthread/thread: avoid compiler warning
33403         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
33404         Add unreachable abort to silence compiler.
33405
33406 2008-10-22  Eric Blake  <ebb9@byu.net>
33407
33408         netdb: also supply struct addrinfo for cygwin 1.5.x
33409         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
33410         older cygwin.
33411         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
33412         cygwin.
33413         * doc/posix-headers/netdb.texi (netdb.h): Document this.
33414
33415 2008-10-22  Bruno Haible  <bruno@clisp.org>
33416
33417         * users.txt: Update entry about pspp.
33418
33419 2008-10-21  Bruno Haible  <bruno@clisp.org>
33420
33421         Simplification.
33422         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
33423         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
33424
33425         Simplification.
33426         * lib/ioctl.c (ioctl): Don't undefine.
33427         * lib/socket.c (socket): Don't undefine.
33428
33429         Remove unused module indicator macros.
33430         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
33431         GNULIB_$1 as a C macro.
33432
33433         * doc/posix-functions/close.texi: Undo last change.
33434         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
33435         Windows platforms.
33436
33437 2008-10-21  Bruno Haible  <bruno@clisp.org>
33438
33439         Add gethostname() declaration to <unistd.h>.
33440         * lib/unistd.in.h (gethostname): New declaration.
33441         * lib/gethostname.c: Include <unistd.h>.
33442         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
33443         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
33444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
33445         and HAVE_GETHOSTNAME.
33446         * modules/gethostname (Depends-on): Add unistd.
33447         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33448         (Include): Specify <unistd.h>.
33449         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
33450         HAVE_GETHOSTNAME.
33451         * tests/test-gethostname.c: Include <unistd.h> first.
33452
33453 2008-10-21  Bruno Haible  <bruno@clisp.org>
33454
33455         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
33456         * modules/select-tests (Depends-on): Likewise.
33457         Reported by Simon Josefsson.
33458
33459 2008-10-21  Simon Josefsson  <simon@josefsson.org>
33460
33461         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
33462         * lib/accept.c: New file, based on winsock.c.
33463         * lib/bind.c: New file, based on winsock.c.
33464         * lib/connect.c: New file, based on winsock.c.
33465         * lib/getpeername.c: New file, based on winsock.c.
33466         * lib/getsockname.c: New file, based on winsock.c.
33467         * lib/getsockopt.c: New file, based on winsock.c.
33468         * lib/ioctl.c: New file, based on winsock.c.
33469         * lib/listen.c: New file, based on winsock.c.
33470         * lib/recv.c: New file, based on winsock.c.
33471         * lib/recvfrom.c: New file, based on winsock.c.
33472         * lib/send.c: New file, based on winsock.c.
33473         * lib/sendto.c: New file, based on winsock.c.
33474         * lib/setsockopt.c: New file, based on winsock.c.
33475         * lib/shutdown.c: New file, based on winsock.c.
33476         * lib/socket.c: New file, based on winsock.c.
33477         * lib/w32sock.h: New file, based on winsock.c.
33478         * lib/winsock.c: Remove file.
33479         * modules/accept: Likewise.
33480         * modules/bind: Likewise.
33481         * modules/connect: Likewise.
33482         * modules/getpeername: Likewise.
33483         * modules/getsockname: Likewise.
33484         * modules/getsockopt: Likewise.
33485         * modules/ioctl: Likewise.
33486         * modules/listen: Likewise.
33487         * modules/recv: Likewise.
33488         * modules/recvfrom: Likewise.
33489         * modules/send: Likewise.
33490         * modules/sendto: Likewise.
33491         * modules/setsockopt: Likewise.
33492         * modules/shutdown: Likewise.
33493         * modules/socket: Use socket.c instead of winsock.c.
33494         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
33495         * doc/posix-functions/accept.texi: Doc fix.
33496         * doc/posix-functions/bind.texi: Doc fix.
33497         * doc/posix-functions/close.texi: Doc fix.
33498         * doc/posix-functions/connect.texi: Doc fix.
33499         * doc/posix-functions/getpeername.texi: Doc fix.
33500         * doc/posix-functions/getsockname.texi: Doc fix.
33501         * doc/posix-functions/getsockopt.texi: Doc fix.
33502         * doc/posix-functions/ioctl.texi: Doc fix.
33503         * doc/posix-functions/listen.texi: Doc fix.
33504         * doc/posix-functions/recv.texi: Doc fix.
33505         * doc/posix-functions/recvfrom.texi: Doc fix.
33506         * doc/posix-functions/send.texi: Doc fix.
33507         * doc/posix-functions/sendto.texi: Doc fix.
33508         * doc/posix-functions/setsockopt.texi: Doc fix.
33509         * doc/posix-functions/shutdown.texi: Doc fix.
33510         * doc/posix-functions/socket.texi: Doc fix.
33511
33512 2008-10-20  Bruno Haible  <bruno@clisp.org>
33513
33514         Take into account the role of SIGABRT_COMPAT on Windows 2008.
33515         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
33516         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
33517         as an alias for SIGABRT.
33518         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
33519         (sigaction): Map it to SIGABRT.
33520         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
33521
33522 2008-10-20  Bruno Haible  <bruno@clisp.org>
33523
33524         * lib/fts.c: Don't include lstat.h.
33525         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
33526
33527         Move the lstat() declaration to <sys/stat.h>.
33528         * lib/lstat.h: Remove file.
33529         * lib/sys_stat.in.h: Add special invocation convention.
33530         (lstat): New declaration.
33531         * lib/lstat.c (orig_lstat): New function.
33532         (rpl_lstat): Use orig_lstat instead of lstat.
33533         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
33534         AC_C_INLINE. Set REPLACE_LSTAT.
33535         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
33536         and REPLACE_LSTAT.
33537         * modules/lstat (Files): Remove lib/lstat.h.
33538         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33539         (Include): Specify <sys/stat.h> instead of lstat.h.
33540         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
33541         REPLACE_LSTAT.
33542         * NEWS: Mention the change.
33543
33544 2008-10-20  Bruno Haible  <bruno@clisp.org>
33545
33546         * modules/posix_spawn-tests: New file.
33547         * tests/test-posix_spawn3.c: New file.
33548
33549 2008-10-20  Bruno Haible  <bruno@clisp.org>
33550
33551         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
33552         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33553         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
33554         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33555         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
33556
33557 2008-10-20  Bruno Haible  <bruno@clisp.org>
33558
33559         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
33560         of posix_spawn on AIX 5.3.
33561
33562 2008-10-20  Bruno Haible  <bruno@clisp.org>
33563
33564         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
33565
33566 2008-10-20  Bruno Haible  <bruno@clisp.org>
33567
33568         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
33569         of AC_LANG_PROGRAM.
33570
33571 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33572
33573         * lib/netdb.in.h: Don't define GNU specific constants until they
33574         are supported or needed.  Reported by Bruno Haible
33575         <bruno@clisp.org>.
33576
33577 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33578
33579         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
33580
33581 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33582
33583         * lib/getaddrinfo.h: Remove file.
33584         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
33585         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
33586         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
33587         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
33588         * modules/netdb: Substitute GNULIB_GETADDRINFO.
33589         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
33590         * tests/test-getaddrinfo.c: Likewise.
33591         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
33592         * NEWS: Mention change.
33593
33594 2008-10-19  Bruno Haible  <bruno@clisp.org>
33595
33596         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
33597
33598 2008-10-19  Bruno Haible  <bruno@clisp.org>
33599
33600         * lib/wait-process.c: Include simply <sys/wait.h>.
33601         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
33602         WIFSTOPPED): Remove fallback definitions.
33603         * modules/wait-process (Depends-on): Add sys_wait.
33604
33605         New module 'sys_wait'.
33606         * modules/sys_wait: New file.
33607         * lib/sys_wait.in.h: New file, partially copied from
33608         lib/wait-process.c.
33609         * m4/sys_wait_h.m4: New file.
33610         * doc/posix-headers/sys_wait.texi: Mention the new module.
33611
33612 2008-10-19  Bruno Haible  <bruno@clisp.org>
33613
33614         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
33615
33616 2008-10-19  Bruno Haible  <bruno@clisp.org>
33617
33618         Assume that waitpid() fills an 'int' status, not a 'union wait'.
33619         * lib/wait-process.c (WAIT_T): Remove type.
33620         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
33621         (wait_subprocess): Update.
33622
33623 2008-10-19  Bruno Haible  <bruno@clisp.org>
33624
33625         New module 'atoll'.
33626         * modules/atoll: New file.
33627         * lib/stdlib.in.h (atoll): New declaration.
33628         * lib/atoll.c: New file, from glibc with modifications.
33629         * m4/atoll.m4: New file.
33630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
33631         HAVE_ATOLL.
33632         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
33633         * doc/posix-functions/atoll.texi: Mention the new module.
33634
33635 2008-10-19  Bruno Haible  <bruno@clisp.org>
33636
33637         Add strtoull() declaration to <stdlib.h>.
33638         * lib/stdlib.in.h (strtoull): New declaration.
33639         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33640         Set HAVE_STRTOULL.
33641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
33642         HAVE_STRTOULL.
33643         * modules/strtoull (Depends-on): Add stdlib.
33644         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33645         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
33646         HAVE_STRTOULL.
33647
33648 2008-10-19  Bruno Haible  <bruno@clisp.org>
33649
33650         Add strtoll() declaration to <stdlib.h>.
33651         * lib/stdlib.in.h (strtoll): New declaration.
33652         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33653         Set HAVE_STRTOLL.
33654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
33655         HAVE_STRTOLL.
33656         * modules/strtoll (Depends-on): Add stdlib.
33657         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33658         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
33659
33660 2008-10-19  Bruno Haible  <bruno@clisp.org>
33661
33662         * modules/bcopy (Depends-on): Add strings.
33663         (Include): Specify <strings.h>.
33664
33665 2008-10-19  Bruno Haible  <bruno@clisp.org>
33666
33667         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
33668
33669 2008-10-19  Bruno Haible  <bruno@clisp.org>
33670
33671         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
33672         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
33673         mingw.
33674
33675 2008-10-19  Bruno Haible  <bruno@clisp.org>
33676
33677         * lib/atanl.c: Don't include isnanl.h.
33678         * lib/cosl.c: Likewise.
33679         * lib/ldexpl.c: Likewise.
33680         * lib/logl.c: Likewise.
33681         * lib/sinl.c: Likewise.
33682         * lib/sqrtl.c: Likewise.
33683         * lib/tanl.c: Likewise.
33684
33685         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33686         * lib/isnanf.h: Remove file.
33687         * lib/isnand.h: Remove file.
33688         * lib/isnanl.h: Remove file.
33689         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33690         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33691         macros.
33692         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33693         HAVE_ISNANF, don't define it as a C macro.
33694         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33695         HAVE_ISNAND, don't define it as a C macro.
33696         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33697         HAVE_ISNANL, don't define it as a C macro.
33698         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33699         HAVE_ISNAN[FDL].
33700         * modules/isnanf (Files): Remove lib/isnanf.h.
33701         (Depends-on): Add math.
33702         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33703         (Include): Specify <math.h> instead of isnanf.h.
33704         * modules/isnand (Files): Remove lib/isnand.h.
33705         (Depends-on): Add math.
33706         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33707         (Include): Specify <math.h> instead of isnand.h.
33708         * modules/isnanl (Files): Remove lib/isnanl.h.
33709         (Depends-on): Add math.
33710         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33711         (Include): Specify <math.h> instead of isnanl.h.
33712         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33713         HAVE_ISNAN[FDL].
33714         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33715         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33716         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33717         * NEWS: Mention the change.
33718
33719 2008-10-18  Bruno Haible  <bruno@clisp.org>
33720
33721         Add getusershell(), setusershell(), endusershell() declarations to
33722         <unistd.h>.
33723         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33724         declarations.
33725         * lib/getusershell.c: Include unistd.h.
33726         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33727         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33728         HAVE_GETUSERSHELL.
33729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33730         and HAVE_GETUSERSHELL.
33731         * modules/getusershell (Depends-on): Add unistd, extensions.
33732         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33733         (Include): Specify <unistd.h>.
33734         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33735         HAVE_GETUSERSHELL.
33736
33737 2008-10-18  Bruno Haible  <bruno@clisp.org>
33738
33739         Add a getloadavg() declaration to <stdlib.h>.
33740         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33741         getloadavg declaration.
33742         (getloadavg): New declaration.
33743         * lib/getloadavg.c: Include <stdlib.h> first.
33744         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33745         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33746         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33747         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33748         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33749         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33750         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33751         (Include): Specify <stdlib.h>.
33752         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33753         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33754
33755 2008-10-18  Bruno Haible  <bruno@clisp.org>
33756
33757         * lib/dirchownmod.c: Don't include lchmod.h.
33758
33759         Move the lchmod() declaration to <sys/stat.h>.
33760         * lib/lchmod.h: Remove file.
33761         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33762         (lchmod): New declaration, moved here from lib/lchown.h.
33763         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33764         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33765         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33766         and HAVE_LCHMOD.
33767         * modules/lchmod (Files): Remove lib/lchmod.h.
33768         (Depends-on): Add sys_stat, extensions.
33769         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33770         (Include): Specify <sys/stat.h> instead of lchmod.h.
33771         * modules/sys_stat (Depends-on): Add link-warning.
33772         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33773         definition of GL_LINK_WARNING.
33774         * NEWS: Mention the change.
33775
33776 2008-10-18  Bruno Haible  <bruno@clisp.org>
33777
33778         * lib/fchdir.c: Don't include dirfd.h.
33779         * lib/fts.c: Likewise.
33780         * lib/getcwd.c: Likewise.
33781         * lib/glob.c: Likewise.
33782
33783         Move the dirfd() declaration to <dirent.h>.
33784         * lib/dirfd.h: Remove file.
33785         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33786         (dirfd): New declaration.
33787         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33788         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33789         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33790         HAVE_DECL_DIRFD.
33791         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33792         HAVE_DECL_DIRFD.
33793         * modules/dirfd (Files): Remove lib/dirfd.h.
33794         (Depends-on): Add dirent, extensions.
33795         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33796         (Include): Specify <dirent.h> instead of dirfd.h.
33797         * modules/dirent (Depends-on): Add link-warning.
33798         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33799         definition of GL_LINK_WARNING.
33800         * NEWS: Mention the change.
33801
33802 2008-10-18  Bruno Haible  <bruno@clisp.org>
33803
33804         Move the euidaccess() declaration to <unistd.h>.
33805         * lib/euidaccess.h: Remove file.
33806         * lib/unistd.in.h (euidaccess): New declaration.
33807         * lib/euidaccess.c: Don't include euidaccess.h.
33808         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33809         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33811         and HAVE_EUIDACCESS.
33812         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33813         (Depends-on): Add unistd.
33814         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33815         (Include): Specify <unistd.h> instead of euidaccess.h.
33816         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33817         HAVE_EUIDACCESS.
33818         * NEWS: Mention the change.
33819
33820 2008-10-18  Bruno Haible  <bruno@clisp.org>
33821
33822         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33823
33824         Move the getdomainname() declaration to <unistd.h>.
33825         * lib/getdomainname.h: Remove file.
33826         * lib/unistd.in.h (getdomainname): New declaration.
33827         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33828         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33829         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33830         HAVE_GETDOMAINNAME.
33831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33832         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33833         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33834         (Depends-on): Add unistd, extensions.
33835         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33836         (Includes): Specify <unistd.h> instead of getdomainname.h.
33837         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33838         HAVE_GETDOMAINNAME.
33839         * NEWS: Mention the change.
33840
33841 2008-10-18  Bruno Haible  <bruno@clisp.org>
33842
33843         * modules/dirent: New file.
33844         * m4/dirent_h.m4: New file.
33845         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33846         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33847         * modules/fchdir (Files): Remove lib/dirent.in.h.
33848         (Depends-on): Add dirent.
33849         (Makefile.am): Move rules to modules/dirent.
33850         * doc/posix-headers/dirent.texi: Mention the new module.
33851
33852 2008-10-18  Bruno Haible  <bruno@clisp.org>
33853
33854         Avoid -Wunused-parameter warnings in public gnulib header files.
33855         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33856         macro.
33857         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33858
33859 2008-10-18  Bruno Haible  <bruno@clisp.org>
33860
33861         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33862         * doc/glibc-functions/error.texi: Mention the module 'error'.
33863         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33864         * doc/glibc-functions/getdomainname.texi: Mention the module
33865         'getdomainname'.
33866         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33867         * doc/glibc-functions/getpagesize.texi: Mention the module
33868         'getpagesize'.
33869         * doc/glibc-functions/getusershell.texi: Mention the module
33870         'getusershell'.
33871         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33872         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33873         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33874         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33875         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33876         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33877         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33878         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33879         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33880         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33881         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33882         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33883         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33884         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33885
33886 2008-10-17  Bruno Haible  <bruno@clisp.org>
33887
33888         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33889         HP-UX and IRIX, use -0.0L.
33890         * tests/test-ceill.c (minus_zero): Likewise.
33891         * tests/test-floorl.c (minus_zero): Likewise.
33892         * tests/test-frexpl.c (minus_zero): Likewise.
33893         * tests/test-isnan.c (minus_zerol): Likewise.
33894         * tests/test-isnanl.h (minus_zero): Likewise.
33895         * tests/test-ldexpl.c (minus_zero): Likewise.
33896         * tests/test-roundl.c (minus_zero): Likewise.
33897         * tests/test-signbit.c (minus_zerol): Likewise.
33898         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33899         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33900         * tests/test-truncl.c (minus_zero): Likewise.
33901         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33902         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33903         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33904         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33905
33906 2008-10-17  Bruno Haible  <bruno@clisp.org>
33907
33908         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33909         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33910         that it gets activated only for gcc >= 3.0.
33911         * lib/dirent.in.h: Likewise.
33912         * lib/errno.in.h: Likewise.
33913         * lib/fcntl.in.h: Likewise.
33914         * lib/float.in.h: Likewise.
33915         * lib/iconv.in.h: Likewise.
33916         * lib/inttypes.in.h: Likewise.
33917         * lib/locale.in.h: Likewise.
33918         * lib/math.in.h: Likewise.
33919         * lib/netdb.in.h: Likewise.
33920         * lib/netinet_in.in.h: Likewise.
33921         * lib/search.in.h: Likewise.
33922         * lib/signal.in.h: Likewise.
33923         * lib/spawn.in.h: Likewise.
33924         * lib/stdarg.in.h: Likewise.
33925         * lib/stdint.in.h: Likewise.
33926         * lib/stdio.in.h: Likewise.
33927         * lib/stdlib.in.h: Likewise.
33928         * lib/string.in.h: Likewise.
33929         * lib/strings.in.h: Likewise.
33930         * lib/sys_file.in.h: Likewise.
33931         * lib/sys_ioctl.in.h: Likewise.
33932         * lib/sys_select.in.h: Likewise.
33933         * lib/sys_socket.in.h: Likewise.
33934         * lib/sys_stat.in.h: Likewise.
33935         * lib/sys_time.in.h: Likewise.
33936         * lib/sysexits.in.h: Likewise.
33937         * lib/time.in.h: Likewise.
33938         * lib/unistd.in.h: Likewise.
33939         * lib/wchar.in.h: Likewise.
33940         * lib/wctype.in.h: Likewise.
33941         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33942
33943 2008-10-17  Jim Meyering  <meyering@redhat.com>
33944
33945         ignore-value: don't depend on inline module
33946         * modules/ignore-value (Depends-on): Remove 'inline'.
33947         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
33948         Suggestion from Bruno Haible.
33949
33950 2008-10-17  Bruno Haible  <bruno@clisp.org>
33951
33952         New implementation of condition variables for Win32.
33953         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
33954         (gl_linked_waitqueue_t): New type.
33955         (gl_cond_t): Use it.
33956         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
33957         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
33958         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
33959         (glthread_cond_init_func, glthread_cond_wait_func,
33960         glthread_cond_timedwait_func, glthread_cond_signal_func,
33961         glthread_cond_broadcast_func, glthread_cond_destroy_func):
33962         Reimplemented on the basis of gl_linked_waitqueue_t.
33963         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
33964         gl_waitqueue_t.
33965         (gl_rwlock_t): Update.
33966         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
33967
33968 2008-10-17  Simon Josefsson  <simon@josefsson.org>
33969
33970         * modules/recvfrom (Depends-on): Add dependency on getpeername.
33971         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33972
33973 2008-10-17  Jim Meyering  <meyering@redhat.com>
33974
33975         ignore-value: new module
33976         * modules/ignore-value: New file.
33977         * lib/ignore-value.h: New file.
33978         * MODULES.html.sh (Compiler warning management): New section,
33979         just for this module.  More to come.
33980
33981 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33982
33983         open-safer.c: avoid 'signed and unsigned in conditional...' warning
33984         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
33985         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
33986
33987 2008-10-16  Jim Meyering  <meyering@redhat.com>
33988
33989         openat-die.c: avoid 'no previous prototype' warning
33990         * lib/openat-die.c: Include "openat.h".
33991         Reported by Reuben Thomas <rrt@sc3d.org>.
33992
33993 2008-10-16  Simon Josefsson  <simon@josefsson.org>
33994
33995         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
33996         * lib/netdb.in.h: Fix typo.
33997         Reported by Bruno Haible  <bruno@clisp.org>
33998
33999         * lib/netdb.in.h: Include sys/socket.h for platforms without
34000         netdb.h, to get structures like hostent on MinGW.
34001         * modules/netdb (Depends-on): Add sys_socket.
34002
34003 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34004
34005         * modules/netdb, modules/netdb-tests: New file.
34006         * m4/netdb_h.m4: New file.
34007         * lib/netdb.in.h: Add, currently just an empty file pending
34008         definitions.
34009         * tests/test-netdb.c: New file.
34010         * doc/posix-headers/netdb.texi: Mention that we replace it if
34011         needed.
34012         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34013         netdb.
34014
34015 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34016
34017         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
34018         with code.
34019
34020 2008-10-13  Bruno Haible  <bruno@clisp.org>
34021
34022         * lib/glthread/cond.c (glthread_cond_wait_func,
34023         glthread_cond_timedwait_func): Add a comment.
34024
34025 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34026
34027         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
34028         * tests/test-select.c: Likewise,
34029
34030 2008-10-13  Bruno Haible  <bruno@clisp.org>
34031
34032         * lib/glthread/cond.c (glthread_cond_wait_func,
34033         glthread_cond_timedwait_func): Fix variable name.
34034         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34035
34036 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
34037
34038         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
34039         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
34040         struct sockaddr.sa_len.
34041         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
34042
34043 2008-10-13  Simon Josefsson  <simon@josefsson.org>
34044
34045         * build-aux/pmccabe2html: Add css and css_url parameters.
34046
34047 2008-10-12  Bruno Haible  <bruno@clisp.org>
34048
34049         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
34050         calling aclx_get.
34051         Reported by Rainer Tammer <tammer@tammer.net>.
34052
34053 2008-10-12  Bruno Haible  <bruno@clisp.org>
34054
34055         Use msvcrt aware primitives for creation/termination of Win32 threads.
34056         * lib/glthread/thread.c: Include <process.h>.
34057         (glthread_create_func): Use _beginthreadex instead of CreateThread.
34058         (wrapper_func): Update signature.
34059         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
34060
34061 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34062             Bruno Haible  <bruno@clisp.org>
34063
34064         Provide a Win32 implementation of the 'cond' module.
34065         * lib/glthread/cond.h [USE_WIN32]: New implementation.
34066         * lib/glthread/cond.c (glthread_cond_init_func,
34067         glthread_cond_wait_func, glthread_cond_timedwait_func,
34068         glthread_cond_signal_func, glthread_cond_broadcast_func,
34069         glthread_cond_destroy_func) [USE_WIN32]: New functions.
34070         * modules/cond (Dependencies): Add gettimeofday.
34071
34072 2008-10-11  Bruno Haible  <bruno@clisp.org>
34073
34074         Make sleep work on older versions of mingw.
34075         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
34076         only whether it exists.
34077         * doc/posix-functions/sleep.texi: Mention the problem with older
34078         versions of mingw.
34079
34080 2008-10-11  Bruno Haible  <bruno@clisp.org>
34081
34082         New module 'shutdown'.
34083         * modules/shutdown: New file.
34084         * lib/sys_socket.in.h (shutdown): New declaration.
34085         * lib/winsock.c (shutdown): New function.
34086         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34087         GNULIB_SHUTDOWN.
34088         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
34089         * doc/posix-functions/shutdown.texi: Document the new module.
34090
34091 2008-10-11  Jim Meyering  <meyering@redhat.com>
34092
34093         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
34094
34095 2008-10-11  Bruno Haible  <bruno@clisp.org>
34096
34097         New module 'fclose'.
34098         * modules/fclose: New file.
34099         * lib/stdio.in.h (fclose): New declaration.
34100         * lib/fclose.c: New file.
34101         * m4/fclose.m4: New file.
34102         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
34103         REPLACE_FCLOSE.
34104         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
34105         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
34106         REPLACE_FCLOSE.
34107         * modules/close (Depends-on): fclose.
34108         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
34109
34110 2008-10-11  Bruno Haible  <bruno@clisp.org>
34111
34112         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
34113         set errno and don't call _close.
34114
34115 2008-10-10  Bruno Haible  <bruno@clisp.org>
34116
34117         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
34118         ACL, not afterwards. Fixes test failure on Cygwin.
34119
34120 2008-10-09  Ben Pfaff  <blp@gnu.org>
34121
34122         * build-aux/announce-gen: Fix gnulib version related part of usage
34123         message.  Die with a useful error message if no tarballs are
34124         found.
34125
34126 2008-10-10  Jim Meyering  <meyering@redhat.com>
34127
34128         bootstrap: use git's --depth=N option only if it's supported
34129         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
34130         recognize the --depth option.  Reported by Pádraig Brady.
34131
34132 2008-10-09  Bruno Haible  <bruno@clisp.org>
34133
34134         New module 'ioctl'.
34135         * modules/ioctl: New file.
34136         * lib/sys_socket.in.h (ioctl): Remove declaration.
34137         * lib/winsock.c: Include <sys/ioctl.h>.
34138         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
34139         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34140         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
34141         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
34142         * doc/posix-functions/ioctl.texi: Mention the new module.
34143
34144 2008-10-09  Bruno Haible  <bruno@clisp.org>
34145
34146         New module 'sys_ioctl'.
34147         * lib/sys_ioctl.in.h: New file.
34148         * m4/sys_ioctl_h.m4: New file.
34149         * modules/sys_ioctl: New file.
34150         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
34151
34152 2008-10-09  Bruno Haible  <bruno@clisp.org>
34153
34154         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
34155         * lib/winsock.c: Include <stdarg.h>.
34156         (rpl_ioctl): Change to second argument 'int' and then varargs.
34157
34158 2008-10-09  Bruno Haible  <bruno@clisp.org>
34159
34160         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
34161         when the sys_socket module is present and the system has <winsock2.h>.
34162
34163 2008-10-09  Bruno Haible  <bruno@clisp.org>
34164
34165         * doc/posix-functions/close.texi: Mention module 'close' instead of
34166         module 'sys_socket'.
34167
34168 2008-10-09  Bruno Haible  <bruno@clisp.org>
34169
34170         * doc/glibc-headers/sys_ioctl.texi: New file.
34171         * doc/gnulib.texi: Include it.
34172
34173 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34174             Bruno Haible  <bruno@clisp.org>
34175
34176         Combine the two replacements of 'close'.
34177         * lib/sys_socket.in.h (close): Define to a reminder to include
34178         <unistd.h>.
34179         (_gl_close_fd_maybe_socket): New declaration.
34180         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
34181         * lib/winsock.c (close): Remove undefinition.
34182         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
34183         needed for the gnulib module 'close'.
34184         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
34185         define to an error symbol or to a warning, if suitable.
34186         * lib/close.c: Include <sys/socket.h>.
34187         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
34188         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
34189         UNISTD_H_HAVE_WINSOCK2_H.
34190         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
34191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34192         UNISTD_H_HAVE_WINSOCK2_H.
34193         * modules/sys_socket (Files): Add m4/unistd_h.m4.
34194         (configure.ac): Set a module indicator.
34195         (Makefile.am): Substitute GNULIB_CLOSE.
34196         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
34197         * modules/poll-tests (Depends-on): Add close.
34198         * modules/select-tests (Depends-on): Likewise.
34199
34200 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34201             Bruno Haible  <bruno@clisp.org>
34202
34203         New module 'close'.
34204         * modules/close: New file.
34205         * lib/unistd.in.h (close): Move declaration out of the
34206         FCHDIR_REPLACEMENT scope.
34207         (_gl_unregister_fd): New declaration.
34208         * lib/close.c: New file.
34209         * lib/fchdir.c (rpl_close): Remove function.
34210         * m4/close.m4: New file.
34211         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34212         close.
34213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
34214         REPLACE_CLOSE.
34215         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
34216         REPLACE_CLOSE.
34217         * modules/fchdir (Depends-on): Add close.
34218
34219 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34220             Bruno Haible  <bruno@clisp.org>
34221
34222         * lib/fcntl.in.h (open): Simplify conditionals.
34223         (_gl_register_fd): New declaration.
34224         * lib/fchdir.c (rpl_open): Remove function.
34225         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
34226         also.
34227         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
34228         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34229         open.
34230
34231 2008-10-09  Jim Meyering  <meyering@redhat.com>
34232
34233         GNUmakefile: use the more name-space-friendly "_version"
34234         * top/GNUmakefile (_dummy): Update.
34235         (_version): Rename from "version".
34236
34237 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34238             Bruno Haible  <bruno@clisp.org>
34239
34240         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
34241         rpl_close.
34242         (_gl_register_fd): New function, extracted from rpl_open.
34243         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
34244         (rpl_open, rpl_opendir): Use _gl_register_fd.
34245
34246 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34247
34248         Fix organization of 'open' replacement.
34249         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
34250         (gl_FUNC_OPEN): Use it.
34251         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
34252
34253 2008-10-08  Bruno Haible  <bruno@clisp.org>
34254
34255         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
34256
34257 2008-10-08  Simon Josefsson  <simon@josefsson.org>
34258
34259         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
34260         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
34261         listen).
34262
34263 2008-10-08  Eric Blake  <ebb9@byu.net>
34264
34265         GNUmakefile: add 'make version' target
34266         * top/GNUmakefile (_curr-ver): Split version update rules...
34267         (version): ...into a target.
34268
34269 2008-10-07  Bruno Haible  <bruno@clisp.org>
34270
34271         Use a more portable replacement expression for -0.0L.
34272         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
34273         instead of -0.0L. Fix m4 quotation.
34274
34275         * tests/test-signbit.c: Include <float.h>.
34276         (minus_zero): New variable.
34277         (test_signbitl): Use minus_zero instead of -zero.
34278         * modules/signbit-tests (Depends-on): Add float.
34279
34280         * tests/test-ceill.c: Include <float.h>.
34281         (zero): Remove variable.
34282         (minus_zero): New variable.
34283         (main): Use minus_zero instead of -zero.
34284         * modules/ceill-tests (Depends-on): Add float.
34285
34286         * tests/test-floorl.c: Include <float.h>.
34287         (zero): Remove variable.
34288         (minus_zero): New variable.
34289         (main): Use minus_zero instead of -zero.
34290         * modules/floorl-tests (Depends-on): Add float.
34291
34292         * tests/test-roundl.c: Include <float.h>.
34293         (zero): Remove variable.
34294         (minus_zero): New variable.
34295         (main): Use minus_zero instead of -zero.
34296         * modules/roundl-tests (Depends-on): Add float.
34297
34298         * tests/test-truncl.c: Include <float.h>.
34299         (zero): Remove variable.
34300         (minus_zero): New variable.
34301         (main): Use minus_zero instead of -zero.
34302         * modules/truncl-tests (Depends-on): Add float.
34303
34304         * tests/test-frexpl.c (zero): Remove variable.
34305         (minus_zero): New variable.
34306         (main): Use minus_zero instead of -zero.
34307         * modules/frexpl-tests (Depends-on): Add float.
34308
34309         * tests/test-isnan.c (zerol): Remove variable.
34310         (minus_zerol): New variable.
34311         (test_long_double): Use minus_zerol instead of -zerol.
34312         * modules/isnan-tests (Depends-on): Add float.
34313
34314         * tests/test-isnanl.h (zero): Remove variable.
34315         (minus_zero): New variable.
34316         (main): Use minus_zero instead of -zero.
34317         * modules/isnanl-nolibm-tests (Depends-on): Add float.
34318         * modules/isnanl-tests (Depends-on): Add float.
34319
34320         * tests/test-ldexpl.c (zero): Remove variable.
34321         (minus_zero): New variable.
34322         (main): Use minus_zero instead of -zero.
34323         * modules/ldexpl-tests (Depends-on): Add float.
34324
34325         * tests/test-snprintf-posix.h (zerol): Remove variable.
34326         (minus_zerol): New variable.
34327         (test_function): Use minus_zerol instead of -zerol.
34328         * modules/snprintf-posix-tests (Depends-on): Add float.
34329         * modules/vsnprintf-posix-tests (Depends-on): Add float.
34330
34331         * tests/test-sprintf-posix.h (zerol): Remove variable.
34332         (minus_zerol): New variable.
34333         (test_function): Use minus_zerol instead of -zerol.
34334         * modules/sprintf-posix-tests (Depends-on): Add float.
34335         * modules/vsprintf-posix-tests (Depends-on): Add float.
34336
34337         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
34338         (minus_zerol): New variable.
34339         (test_function): Use minus_zerol instead of -zerol.
34340         * modules/vasnprintf-posix-tests (Depends-on): Add float.
34341
34342         * tests/test-vasprintf-posix.c (zerol): Remove variable.
34343         (minus_zerol): New variable.
34344         (test_function): Use minus_zerol instead of -zerol.
34345         * modules/vasprintf-posix-tests (Depends-on): Add float.
34346
34347 2008-10-07  Simon Josefsson  <simon@josefsson.org>
34348
34349         * MODULES.html.sh (Support for building documentation): Mention
34350         pmccabe2html.  Sort entries.
34351
34352         Add pmccabe2html module, from gnupdf.
34353         * build-aux/pmccabe.css: New file.
34354         * build-aux/pmccabe2html: New file.
34355         * m4/pmccabe2html.m4: New file.
34356         * modules/pmccabe2html: New file.
34357
34358 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
34359
34360         flock: new module
34361         * MODULES.html.sh: Add to list of modules.
34362         * lib/flock.c: flock implementation for Windows and Unix systems
34363         which have fcntl.
34364         * doc/glibc-functions/flock.texi: Update documentation.
34365         * lib/sys_file.in.h: <sys/file.h> header file.
34366         * m4/flock.m4: M4 macros.
34367         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
34368         * modules/flock: flock module.
34369         * modules/flock-tests: flock tests module.
34370         * modules/sys_file: sys/file.h module.
34371         * tests/test-flock.c: test suite for flock.
34372
34373 2008-10-06  Jim Meyering  <meyering@redhat.com>
34374
34375         bootstrap: check for LT_INIT more portably still ;-)
34376         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
34377         Spotted by Bruno Haible.
34378
34379 2008-10-06  Eric Blake  <ebb9@byu.net>
34380
34381         test-signbit: avoid tripping Irix cc bug on -0.0L
34382         * tests/test-signbit.c (minus_zerol): Delete, and replace with
34383         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
34384         entire testsuite consistent and avoids an Irix 6.2 bug.
34385
34386 2008-10-05  Bruno Haible  <bruno@clisp.org>
34387             Jim Meyering  <jim@meyering.net>
34388
34389         Add an option for ignoring EPIPE during close_stdout.
34390         * lib/closeout.h: Include <stdbool.h>.
34391         (close_stdout_set_ignore_EPIPE): New declaration.
34392         * lib/closeout.c: Include <stdbool.h>.
34393         (ignore_EPIPE): New variable.
34394         (close_stdout_set_ignore_EPIPE): New function.
34395         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
34396         * lib/close-stream.c (close_stream): Mention the possible EPIPE
34397         failure.
34398         * modules/closeout (Depends-on): Add stdbool.
34399
34400 2008-10-05  Bruno Haible  <bruno@clisp.org>
34401
34402         * modules/accept: New file.
34403         * modules/bind: New file.
34404         * modules/connect: New file.
34405         * modules/getpeername: New file.
34406         * modules/getsockname: New file.
34407         * modules/getsockopt: New file.
34408         * modules/listen: New file.
34409         * modules/recv: New file.
34410         * modules/recvfrom: New file.
34411         * modules/send: New file.
34412         * modules/sendto: New file.
34413         * modules/setsockopt: New file.
34414         * modules/socket: New file.
34415         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
34416         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34417         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
34418         the particular module is requested. Add a link warning when the
34419         particular module is not requested.
34420         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
34421         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
34422         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
34423         the particular module is requested.
34424         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
34425         gl_SYS_SOCKET_H_DEFAULTS): New macros.
34426         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
34427         * modules/sys_socket (Depends-on): Add link-warning.
34428         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
34429         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
34430         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
34431         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
34432         GL_LINK_WARNING.
34433         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
34434         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
34435         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
34436         * doc/posix-functions/getpeername.texi: Mention the new module
34437         'getpeername'.
34438         * doc/posix-functions/getsockname.texi: Mention the new module
34439         'getsockname'.
34440         * doc/posix-functions/getsockopt.texi: Mention the new module
34441         'getsockopt'.
34442         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
34443         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
34444         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
34445         * doc/posix-functions/send.texi: Mention the new module 'send'.
34446         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
34447         * doc/posix-functions/setsockopt.texi: Mention the new module
34448         'setsockopt'.
34449         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
34450         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
34451         listen, connect, accept.
34452         * modules/select-tests (Depends-on): Likewise.
34453
34454 2008-10-05  Bruno Haible  <bruno@clisp.org>
34455
34456         * lib/winsock.c (strerror): Remove unused #undef.
34457         (rpl_close): Remove unused local variable.
34458
34459         * modules/sys_socket (Depends-on); Add errno.
34460
34461 2008-10-05  Bruno Haible  <bruno@clisp.org>
34462
34463         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
34464         (select): Add a link warning when the 'select' module is not used.
34465         * modules/sys_select (Depends-on): Add link-warning.
34466         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
34467         Suggested by Paolo Bonzini.
34468
34469 2008-10-05  Jim Meyering  <meyering@redhat.com>
34470
34471         bootstrap: check for LT_INIT more portably
34472         * build-aux/bootstrap: Avoid using grep -E, since it's not
34473         portable enough.  Suggestion from Bruno Haible.
34474
34475 2008-10-05  Bruno Haible  <bruno@clisp.org>
34476
34477         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
34478         as being fixed by gnulib.
34479
34480 2008-10-05  Bruno Haible  <bruno@clisp.org>
34481
34482         * modules/select-tests: New file, mostly copied from
34483         modules/sys_select-tests.
34484         * tests/test-select.c: New file, mostly copied from
34485         tests/test-sys_select.c.
34486         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
34487         * modules/sys_select-tests (Depends-on): Remove all dependencies.
34488         (Makefile.am): Remove test_sys_select_LDADD.
34489
34490         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
34491         to an undefined symbol, for an error message.
34492         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
34493         (gl_SYS_SELECT_H_DEFAULTS): New macro.
34494         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
34495         winsock-select.c here.
34496         * modules/sys_select (Files): Remove lib/winsock-select.c.
34497         (Depends-on): Remove alloca.
34498         (Makefile.am): Substitute GNULIB_SELECT.
34499         * modules/select: New file.
34500         * doc/posix-functions/select.texi: Update.
34501
34502 2008-10-05  Bruno Haible  <bruno@clisp.org>
34503
34504         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
34505         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
34506         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
34507         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
34508         getdtablesize.
34509         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
34510         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
34511
34512 2008-10-05  Bruno Haible  <bruno@clisp.org>
34513
34514         * modules/getdtablesize-tests: New file.
34515         * tests/test-getdtablesize.c: New file.
34516
34517         New module 'getdtablesize'.
34518         * lib/unistd.in.h (getdtablesize): New declaration.
34519         * lib/getdtablesize.c: New file.
34520         * m4/getdtablesize.m4: New file.
34521         * modules/getdtablesize: New file.
34522         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34523         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
34524         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
34525         HAVE_GETDTABLESIZE.
34526         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
34527
34528 2008-10-05  Bruno Haible  <bruno@clisp.org>
34529
34530         * modules/sched (Makefile.am): Fix typo.
34531         Reported by Simon Josefsson.
34532
34533 2008-10-05  Jim Meyering  <meyering@redhat.com>
34534
34535         bootstrap: check for LT_INIT, too
34536         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
34537         are deprecated.  Suggestion from Ralf Wildenhues.
34538
34539 2008-10-05  Bruno Haible  <bruno@clisp.org>
34540
34541         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
34542         overriding them by ours.
34543         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
34544
34545 2008-10-05  Jim Meyering  <meyering@redhat.com>
34546
34547         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
34548         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
34549         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
34550
34551 2008-10-04  Bruno Haible  <bruno@clisp.org>
34552
34553         * modules/dup2 (License): Change to LGPLv2+.
34554         * modules/sleep (License): Likewise.
34555         * modules/perror (License): Likewise.
34556         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
34557         Blake.
34558         * modules/signal (License): Likewise.
34559         * modules/sigprocmask (License): Likewise.
34560         * modules/raise (License): Change to LGPLv2+, with approval by Jim
34561         Meyering.
34562
34563 2008-10-04  Bruno Haible  <bruno@clisp.org>
34564
34565         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
34566         Reported by Rainer Tammer <tammer@tammer.net>.
34567
34568 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
34569             Bruno Haible  <bruno@clisp.org>
34570
34571         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
34572         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
34573         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
34574
34575 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
34576
34577         filevercmp: new module
34578         * lib/filevercmp.h: New function filevercmp comparing version strings.
34579         * lib/filevercmp.c: Implementation of filevercmp function.
34580         * modules/filevercmp: Module metadata.
34581         * tests/test-filevercmp.c: Unit test for new module.
34582         * modules/filevercmp-tests: Unit test metadata.
34583         * MODULES.html.sh: Add filevercmp module.
34584
34585 2008-10-03  Bruno Haible  <bruno@clisp.org>
34586
34587         * lib/c-ctype.h: Add comment.
34588         Reported by Jim Meyering.
34589
34590 2008-10-02  Bruno Haible  <bruno@clisp.org>
34591
34592         * modules/posix_spawn-internal (Depends-on): Add 'open'.
34593
34594 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34595
34596         * build-aux/bootstrap: Allow renaming bootstrap, and change the
34597         name of bootstrap.conf accordingly.
34598
34599 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34600
34601         * build-aux/bootstrap: Install git-merge-changelog configuration
34602         items into .gitconfig if needed.
34603
34604 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34605
34606         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
34607         git repository, and initialize/update it accordingly.
34608
34609 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
34610
34611         * modules/fsync-tests: New file.
34612         * tests/test-fsync.c: New file.
34613
34614         New module 'fsync'.
34615         * lib/fsync.c: New file.
34616         * m4/fsync.m4: New file.
34617         * modules/fsync: New file.
34618         * lib/unistd.in.h (fsync): New declaration.
34619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
34620         GNULIB_FSYNC and HAVE_FSYNC.
34621         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
34622         * MODULES.html.sh (posix_functions): Add fsync.
34623         * doc/posix-functions/fsync.texi: Mention the new module.
34624
34625 2008-10-02  Jim Meyering  <meyering@redhat.com>
34626
34627         fts.c: sync with similar code from coreutils' remove.c
34628         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
34629         Guard also with "#if defined __linux__", since for now at least,
34630         this code is Linux-kernel-specific.
34631
34632 2008-10-02  Jim Meyering  <meyering@redhat.com>
34633
34634         fts: bug fixes
34635         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
34636         Include <sys/vfs.h>, not <sys/statfs.h>.
34637
34638         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
34639         Include <sys/vfs.h>, not <sys/statfs.h>.
34640
34641 2008-10-01  Bruno Haible  <bruno@clisp.org>
34642
34643         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
34644         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
34645         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
34646         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
34647         * doc/posix-functions/posix_spawnp.texi: Likewise.
34648         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
34649         whether posix_spawn actually works.
34650         * m4/pipe.m4 (gl_PIPE): Likewise.
34651         * modules/execute (Files): Add m4/posix_spawn.m4.
34652         * modules/pipe (Files): Add m4/posix_spawn.m4.
34653         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
34654
34655 2008-10-01  Jim Meyering  <meyering@redhat.com>
34656
34657         remove trailing spaces
34658         * NEWS: Likewise.
34659         * lib/poll.c (poll): Likewise.
34660         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
34661         * lib/winsock.c (rpl_close): Likewise.
34662         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
34663         * modules/yield: Likewise.
34664         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
34665         * tests/test-sys_select.c (connect_to_socket): Likewise.
34666
34667         fts.c: adjust a new interface to be more generally useful
34668         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
34669         (fts_build): Adjust caller.
34670
34671 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34672
34673         * modules/cond-tests: New file.
34674         * tests/test-cond.c: New file.
34675
34676 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34677             Bruno Haible  <bruno@clisp.org>
34678
34679         * modules/cond (Dependencies): Add errno, time.
34680         * lib/glthread/cond.h: Include <time.h>.
34681         (gl_cond_define, gl_cond_define_initialized): Use the same definition
34682         across platforms.
34683
34684 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34685             Bruno Haible  <bruno@clisp.org>
34686
34687         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34688
34689 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34690             Bruno Haible  <bruno@clisp.org>
34691
34692         * modules/tls-tests (Depends-on): Add thread, yield.
34693         (configure.ac): Remove all checks.
34694         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34695         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34696         gl_thread_self): Remove definitions. Include glthread/thread.h and
34697         glthread/yield.h instead.
34698         (test_tls): Pass an additional NULL argument to gl_thread_join.
34699
34700 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34701             Bruno Haible  <bruno@clisp.org>
34702
34703         * modules/lock-tests (Depends-on): Add thread, yield.
34704         (configure.ac): Remove all checks.
34705         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34706         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34707         gl_thread_self): Remove definitions. Include glthread/thread.h and
34708         glthread/yield.h instead.
34709         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34710         additional NULL argument to gl_thread_join.
34711
34712 2008-09-30  Bruno Haible  <bruno@clisp.org>
34713
34714         Fix the Win32 implementation of the 'thread' module.
34715         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34716         pointer type.
34717         (gl_thread_self): Invoke gl_thread_self_func.
34718         (gl_thread_self_func): New declaration.
34719         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34720         (do_init_self_key, init_self_key): New functions.
34721         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34722         Remove some fields.
34723         (running_threads, running_lock): Remove variables.
34724         (get_current_thread_handle): New function.
34725         (gl_thread_self_func, wrapper_func, glthread_create_func,
34726         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34727         simplified.
34728
34729 2008-09-30  Bruno Haible  <bruno@clisp.org>
34730
34731         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34732         files.
34733
34734 2008-09-30  Jim Meyering  <meyering@redhat.com>
34735
34736         fts.m4: correct the test for statfs.f_type
34737         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34738         when checking for statfs.f_type.
34739
34740 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34741
34742         tests: avoid some compiler warnings
34743         * tests/test-memchr.c (main): Pass NULL indirectly.
34744         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34745
34746 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
34747
34748         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34749         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34750         exactly specified dayshifts.
34751         (dayshift): New rule.
34752         (rel): Add dayshift.
34753         (relative_time_table) [tomorrow, yesterday, today, now]:
34754         Use tDAY_SHIFT in place of tDAY_UNIT.
34755         * tests/test-getdate.c: Add tests for now-disallowed countable
34756         dayshifts, e.g., "4 yesterday ago".
34757
34758 2008-09-29  Bruno Haible  <bruno@clisp.org>
34759
34760         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34761         * tests/test-posix_spawn1.in.sh: Renamed from
34762         tests/test-posix_spawn.in.sh.
34763         * tests/test-posix_spawn2.c: New file.
34764         * tests/test-posix_spawn2.in.sh: New file.
34765         * modules/posix_spawnp-tests (Files): Update.
34766         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34767
34768 2008-09-29  Bruno Haible  <bruno@clisp.org>
34769
34770         Propagate effects of putenv/setenv/unsetenv to child processes.
34771         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34772         * lib/pipe.c (create_pipe): Likewise.
34773
34774 2008-09-29  Bruno Haible  <bruno@clisp.org>
34775
34776         Enable use of shell scripts as executables in mingw.
34777         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34778         run the program as a shell script.
34779         * lib/pipe.c (create_pipe): Likewise.
34780         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34781         resulting array.
34782
34783 2008-09-29  Eric Blake  <ebb9@byu.net>
34784
34785         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34786
34787 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34788
34789         * doc/posix-functions/accept.texi: Update mingw problems.
34790         * doc/posix-functions/bind.texi: Update mingw problems.
34791         * doc/posix-functions/close.texi: Update mingw problems.
34792         * doc/posix-functions/connect.texi: Update mingw problems.
34793         * doc/posix-functions/getpeername.texi: Update mingw problems.
34794         * doc/posix-functions/getsockname.texi: Update mingw problems.
34795         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34796         * doc/posix-functions/ioctl.texi: Update mingw problems.
34797         * doc/posix-functions/listen.texi: Update mingw problems.
34798         * doc/posix-functions/recv.texi: Update mingw problems.
34799         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34800         * doc/posix-functions/select.texi: Update mingw problems.
34801         * doc/posix-functions/send.texi: Update mingw problems.
34802         * doc/posix-functions/sendto.texi: Update mingw problems.
34803         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34804         * doc/posix-functions/socket.texi: Update mingw problems.
34805
34806 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34807             Bruno Haible  <bruno@clisp.org>
34808
34809         * lib/sys_select.in.h: Include sys/time.h.
34810         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34811         * modules/sys_select: Depend on sys_time.
34812         * tests/test-sys_select.c: Test that sys/select.h defines struct
34813         timeval fully.
34814
34815 2008-09-29  Bruno Haible  <bruno@clisp.org>
34816
34817         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34818         * lib/sys_select.in.h: Likewise.
34819
34820 2008-09-29  Bruno Haible  <bruno@clisp.org>
34821
34822         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34823
34824 2008-09-29  Bruno Haible  <bruno@clisp.org>
34825
34826         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34827         Set LIBSOCKET instead of augmenting LIBS.
34828         * modules/sockets (Link): New section.
34829         * modules/sockets-tests (test_sockets_LDADD): New variable.
34830         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34831         * modules/poll-tests (test_poll_LDADD): New variable.
34832         * NEWS: Document the change.
34833
34834 2008-09-29  Bruno Haible  <bruno@clisp.org>
34835
34836         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34837         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34838         ARPA_INET_H directly.
34839         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34840
34841 2008-09-28  Bruno Haible  <bruno@clisp.org>
34842
34843         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34844         from gl_HEADER_SYS_SOCKET.
34845         (gl_HEADER_SYS_SOCKET): Invoke it.
34846         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34847
34848 2008-09-28  Bruno Haible  <bruno@clisp.org>
34849
34850         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34851         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34852         Needed on OSF/1 4.0.
34853
34854 2008-09-28  Bruno Haible  <bruno@clisp.org>
34855
34856         Override open more carefully.
34857         * lib/open.c (orig_open): New function.
34858         (rpl_open): Use orig_open instead of open.
34859         * lib/fcntl.in.h: Add special invocation convention.
34860         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34861         (gl_FUNC_OPEN): Invoke it.
34862
34863         Override freopen more carefully.
34864         * lib/freopen.c (orig_freopen): New function.
34865         (rpl_freopen): Use orig_freopen instead of freopen.
34866         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34867         (gl_FUNC_FREOPEN): Invoke it.
34868
34869         Override fopen more carefully.
34870         * lib/fopen.c (orig_fopen): New function.
34871         (rpl_fopen): Use orig_fopen instead of fopen.
34872         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34873         (gl_FUNC_FOPEN): Invoke it.
34874         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34875
34876 2008-09-28  Bruno Haible  <bruno@clisp.org>
34877
34878         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34879         SIGPIPE.
34880
34881 2008-09-28  Bruno Haible  <bruno@clisp.org>
34882
34883         * tests/test-sigaction.c (handler, main): Disable the check whether
34884         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34885         glibc systems with LinuxThreads.
34886
34887 2008-09-28  Bruno Haible  <bruno@clisp.org>
34888
34889         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34890
34891         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34892         with AIX xlc.
34893         * lib/fcntl.in.h (open): Likewise.
34894         Reported by Rainer Tammer <tammer@tammer.net>.
34895
34896 2008-09-28  Bruno Haible  <bruno@clisp.org>
34897
34898         * modules/posix_spawnp-tests: New file.
34899         * tests/test-posix_spawn.c: New file.
34900         * tests/test-posix_spawn.in.sh: New file.
34901
34902         New module 'posix_spawnp'.
34903         * modules/posix_spawnp: New file.
34904         * lib/spawnp.c: New file, from GNU libc with modifications.
34905         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34906
34907         New module 'posix_spawn'.
34908         * modules/posix_spawn: New file.
34909         * lib/spawn.c: New file, from GNU libc with modifications.
34910         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34911
34912         New module 'posix_spawnattr_destroy'.
34913         * modules/posix_spawnattr_destroy: New file.
34914         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34915         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34916         module.
34917
34918         New module 'posix_spawnattr_setsigmask'.
34919         * modules/posix_spawnattr_setsigmask: New file.
34920         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
34921         modifications.
34922         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
34923         new module.
34924
34925         New module 'posix_spawnattr_getsigmask'.
34926         * modules/posix_spawnattr_getsigmask: New file.
34927         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
34928         modifications.
34929         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
34930         new module.
34931
34932         New module 'posix_spawnattr_setsigdefault'.
34933         * modules/posix_spawnattr_setsigdefault: New file.
34934         * lib/spawnattr_setdefault.c: New file, from GNU libc with
34935         modifications.
34936         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
34937         new module.
34938
34939         New module 'posix_spawnattr_getsigdefault'.
34940         * modules/posix_spawnattr_getsigdefault: New file.
34941         * lib/spawnattr_getdefault.c: New file, from GNU libc with
34942         modifications.
34943         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
34944         new module.
34945
34946         New module 'posix_spawnattr_setschedpolicy'.
34947         * modules/posix_spawnattr_setschedpolicy: New file.
34948         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
34949         modifications.
34950         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
34951         new module.
34952
34953         New module 'posix_spawnattr_getschedpolicy'.
34954         * modules/posix_spawnattr_getschedpolicy: New file.
34955         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
34956         modifications.
34957         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
34958         new module.
34959
34960         New module 'posix_spawnattr_setschedparam'.
34961         * modules/posix_spawnattr_setschedparam: New file.
34962         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
34963         modifications.
34964         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
34965         new module.
34966
34967         New module 'posix_spawnattr_getschedparam'.
34968         * modules/posix_spawnattr_getschedparam: New file.
34969         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
34970         modifications.
34971         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
34972         new module.
34973
34974         New module 'posix_spawnattr_setpgroup'.
34975         * modules/posix_spawnattr_setpgroup: New file.
34976         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
34977         modifications.
34978         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
34979         module.
34980
34981         New module 'posix_spawnattr_getpgroup'.
34982         * modules/posix_spawnattr_getpgroup: New file.
34983         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
34984         modifications.
34985         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
34986         module.
34987
34988         New module 'posix_spawnattr_setflags'.
34989         * modules/posix_spawnattr_setflags: New file.
34990         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
34991         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
34992         module.
34993
34994         New module 'posix_spawnattr_getflags'.
34995         * modules/posix_spawnattr_getflags: New file.
34996         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
34997         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
34998         module.
34999
35000         New module 'posix_spawnattr_init'.
35001         * modules/posix_spawnattr_init: New file.
35002         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
35003         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
35004         module.
35005
35006         New module 'posix_spawn_file_actions_destroy'.
35007         * modules/posix_spawn_file_actions_destroy: New file.
35008         * lib/spawn_faction_destroy.c: New file, from GNU libc with
35009         modifications.
35010         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
35011         the new module.
35012
35013         New module 'posix_spawn_file_actions_addopen'.
35014         * modules/posix_spawn_file_actions_addopen: New file.
35015         * lib/spawn_faction_addopen.c: New file, from GNU libc with
35016         modifications.
35017         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
35018         the new module.
35019
35020         New module 'posix_spawn_file_actions_adddup2'.
35021         * modules/posix_spawn_file_actions_adddup2: New file.
35022         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
35023         modifications.
35024         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
35025         the new module.
35026
35027         New module 'posix_spawn_file_actions_addclose'.
35028         * modules/posix_spawn_file_actions_addclose: New file.
35029         * lib/spawn_faction_addclose.c: New file, from GNU libc with
35030         modifications.
35031         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
35032         the new module.
35033
35034         New module 'posix_spawn_file_actions_init'.
35035         * modules/posix_spawn_file_actions_init: New file.
35036         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
35037         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
35038         new module.
35039
35040         New module 'posix_spawn-internal'.
35041         * modules/posix_spawn-internal: New file.
35042         * lib/spawn_int.h: New file, from GNU libc with modifications.
35043         * lib/spawni.c: New file, from GNU libc with modifications.
35044         * m4/posix_spawn.m4: New file.
35045
35046         New module 'spawn'.
35047         * modules/spawn: New file.
35048         * lib/spawn.in.h: New file, from GNU libc with modifications.
35049         * m4/spawn_h.m4: New file.
35050         * doc/posix-headers/spawn.texi: Mention the new module.
35051
35052 2008-09-28  Bruno Haible  <bruno@clisp.org>
35053
35054         * modules/sched-tests: New file.
35055         * tests/test-sched.c: New file.
35056
35057         New module 'sched'.
35058         * modules/sched: New file.
35059         * lib/sched.in.h: New file.
35060         * m4/sched_h.m4: New file.
35061         * doc/posix-headers/sched.texi: Mention the new module.
35062
35063 2008-09-27  Eric Blake  <ebb9@byu.net>
35064
35065         Fix previous patch, and tweak references to $0.
35066         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
35067         (func_version, func_gnulib_dir): Don't call this program
35068         gnulib-tool.
35069         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
35070         with using $0 in function.
35071         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
35072         (func_fatal_error): Reuse the name the user invoked us with.
35073
35074 2008-09-27  Bruno Haible  <bruno@clisp.org>
35075
35076         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
35077         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
35078         (gl_ICONV_H): Not here.
35079         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35080         instead of assigning ICONV_H directly.
35081
35082         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
35083         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
35084         WCHAR_H directly.
35085
35086 2008-09-27  Bruno Haible  <bruno@clisp.org>
35087
35088         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
35089         * modules/arpa_inet (Depends-on): Add link-warning.
35090         (Makefile.am): Insert the definition of GL_LINK-WARNING.
35091         * modules/unistd (Makefile.am): Likewise.
35092
35093 2008-09-26  Bruno Haible  <bruno@clisp.org>
35094
35095         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
35096         variables.
35097         (func_version): Essentially copied from gnulib-tool.
35098         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
35099         func_readlink): Copied from gnulib-tool.
35100
35101 2008-09-26  Bruno Haible  <bruno@clisp.org>
35102
35103         * gnulib-tool (func_version): Change directory to $gnulib_dir before
35104         invoking git-version-gen.
35105
35106 2008-09-26  Bruno Haible  <bruno@clisp.org>
35107
35108         * posix-modules: Update to directory names changed on 2008-01-19.
35109         Remove commas in output before splitting into words. No more need to
35110         avoid 'ftruncate' since 2007-02-19.
35111
35112 2008-09-26  Bruno Haible  <bruno@clisp.org>
35113
35114         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
35115
35116 2008-09-26  Bruno Haible  <bruno@clisp.org>
35117
35118         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
35119         * modules/fwriteerror (Depends-on): Add errno.
35120
35121 2008-09-26  Bruno Haible  <bruno@clisp.org>
35122
35123         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
35124         * tests/test-vc-list-files-cvs.sh: Likewise.
35125
35126 2008-09-26  Bruno Haible  <bruno@clisp.org>
35127
35128         * doc/posix-headers/sys_resource.texi: Reorder items.
35129
35130 2008-09-26  Jim Meyering  <meyering@redhat.com>
35131
35132         fts: tweak inode comparison function
35133         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
35134         inode numbers, as documented.
35135
35136         fts: sort dirent entries on inode number before traversing
35137         This avoids a quadratic, seek-related performance penalty when
35138         operating on a directory containing many entries (measurable at 10k;
35139         3.5 hours at 2 million entries with a cold cache) on certain types
35140         of file systems, including ext3 and ext4, but not tmpfs.
35141         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
35142         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
35143         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
35144         (fs_handles_readdir_ordered_dirents_efficiently): New function.
35145         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
35146         (fts_build): Set the stat.st_ino member from D_INO.
35147         If it is likely to be useful, sort dirent entries on inode number.
35148
35149         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
35150         and the struct statfs.f_type member.
35151         * modules/fts (Depends-on): Add d-ino.
35152
35153 2008-09-26  Bruno Haible  <bruno@clisp.org>
35154
35155         * modules/sigpipe-die (Depends-on): Add sigpipe.
35156
35157         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
35158         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
35159         and GNULIB_STDIO_H_SIGPIPE are set.
35160         * lib/stdio-write.c: New file.
35161         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
35162         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35163         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35164         REPLACE_STDIO_WRITE_FUNCS.
35165         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
35166         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35167         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35168         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35169         * modules/stdio (Files): Add lib/stdio-write.c.
35170         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
35171         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35172         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35173         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35174         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
35175         REPLACE_FPRINTF_POSIX.
35176         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
35177         REPLACE_PRINTF_POSIX.
35178         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
35179         REPLACE_VFPRINTF_POSIX.
35180         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
35181         REPLACE_VPRINTF_POSIX.
35182         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
35183         SIGPIPE issue.
35184         * doc/posix-functions/fputc.texi: Likewise.
35185         * doc/posix-functions/fputs.texi: Likewise.
35186         * doc/posix-functions/fwrite.texi: Likewise.
35187         * doc/posix-functions/printf.texi: Likewise.
35188         * doc/posix-functions/putc.texi: Likewise.
35189         * doc/posix-functions/putchar.texi: Likewise.
35190         * doc/posix-functions/puts.texi: Likewise.
35191         * doc/posix-functions/vfprintf.texi: Likewise.
35192         * doc/posix-functions/vprintf.texi: Likewise.
35193
35194         * modules/safe-write (Depends-on): Add write.
35195
35196         * modules/sigpipe-tests: New file.
35197         * tests/test-sigpipe.c: New file.
35198         * tests/test-sigpipe.sh: New file.
35199
35200         * modules/write: New file.
35201         * lib/unistd.in.h: Include <sys/types.h>.
35202         (write): New declaration.
35203         * lib/write.c: New file.
35204         * m4/write.m4: New file.
35205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35206         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
35207         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
35208         GNULIB_WRITE, REPLACE_WRITE.
35209         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
35210         and the SIGPIPE issue.
35211
35212         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
35213         (raise): New declaration.
35214         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
35215         (ext_signal): New function.
35216         (rpl_raise): New function.
35217         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35218         GNULIB_SIGNAL_H_SIGPIPE.
35219         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
35220         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
35221
35222         * modules/sigpipe: New file.
35223         * m4/sigpipe.m4: New file.
35224
35225 2008-09-25  Derek Price  <derek@ximbiot.com>
35226             Bruno Haible  <bruno@clisp.org>
35227
35228         * gnulib-tool (func_import): Report all license incompatibilities, not
35229         just the first one.
35230
35231 2008-09-25  Bruno Haible  <bruno@clisp.org>
35232
35233         * gnulib-tool (func_import): When computing the edits, consider not
35234         only the Makefile.ams that exist but also those that will be generated.
35235
35236 2008-09-25  Simon Josefsson  <simon@josefsson.org>
35237
35238         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
35239         fixes gnulib-tool --test warning about duplicate dependency.
35240
35241 2008-09-25  Bruno Haible  <bruno@clisp.org>
35242
35243         * gnulib-tool: Don't ask the user to perform edits in the generated
35244         Makefile.ams.
35245         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
35246         apply to the Makefile.am being generated.
35247         (func_emit_tests_Makefile_am): Execute edits that apply to the
35248         Makefile.am being generated.
35249         (func_import): Setup list of Makefile.am edits before emitting the
35250         Makefile.ams, not at the end.
35251         (func_create_testdir): Update.
35252         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35253
35254 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35255
35256         * gnulib-tool (func_import): Store the --tests-base option in the
35257         comment in gnulib-cache.m4.
35258
35259 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
35260
35261         * NEWS: Document increased portability that sys_select now provides.
35262
35263         * lib/sys_select.in.h: Install select wrapper.
35264         * lib/sys_socket.in.h: Use more descriptive name when there is no
35265         select wrapper.
35266         * lib/winsock-select.c: New.
35267         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
35268         Require gl_HEADER_SYS_SOCKET.
35269         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
35270         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
35271         * tests/test-sys_select.c: Add functional tests.
35272
35273 2008-09-24  Eric Blake  <ebb9@byu.net>
35274
35275         open, fopen: close fd leak in last patch
35276         * lib/open.c (rpl_open): Close fd before returning error.
35277         * lib/fopen.c (rpl_fopen): Close fd before returning error.
35278         * doc/posix-functions/open.texi (open): Document that Irix also
35279         has the bug.
35280         * doc/posix-functions/fopen.texi (fopen): Likewise.
35281         Reported by Paolo Bonzini.
35282
35283 2008-09-24  Bruno Haible  <bruno@clisp.org>
35284
35285         Ensure that a filename ending in a slash cannot be used to access a
35286         non-directory.
35287         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
35288         to check whether it's really a directory.
35289         * lib/fopen.c: Include fcntl.h, unistd.h.
35290         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
35291         and fdopen().
35292         * modules/fopen (Depends-on): Add unistd.
35293         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
35294         * tests/test-fopen.c (main): Likewise.
35295         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
35296         * doc/posix-functions/fopen.texi: Likewise.
35297         Reported by Eric Blake.
35298
35299 2008-09-23  Eric Blake  <ebb9@byu.net>
35300
35301         c-stack: avoid compiler optimizations when provoking overflow
35302         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
35303         recursion harder to optimize, to ensure a stack overflow occurs.
35304         * tests/test-c-stack.c (recurse): Likewise.
35305         Borrowed from libsigsegv.
35306
35307         c-stack: work around Irix sigaltstack bug
35308         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
35309         whether sigaltstack uses wrong end of stack_t (copied in part from
35310         libsigsegv).
35311         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
35312         Irix bug, without requiring an over-allocation.
35313         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
35314         bug.
35315
35316         fopen: document mingw bug on directories
35317         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
35318         not allowing a stream visiting a directory, even though reading
35319         from such a stream is not portable.
35320
35321 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35322
35323         * lib/poll.c: Rewrite.
35324         * modules/poll: Depend on alloca.
35325
35326 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35327
35328         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
35329         instead define prototypes for a full set of wrappers.  Ensure
35330         that Cygwin does not use the compatibility code, which is only
35331         for MinGW.
35332         * lib/winsock.c: New.
35333         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
35334         * modules/sys_socket: Add lib/winsock.c.
35335
35336         * modules/poll-tests: Add errno and perror.
35337         * tests/test-poll.c: Use ioctl, not ioctlsocket.
35338
35339 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35340
35341         * tests/test-poll.c: Downgrade minimum needed Winsock version.
35342
35343 2008-09-23  Bruno Haible  <bruno@clisp.org>
35344
35345         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
35346         * doc/glibc-functions/*: Likewise.
35347
35348 2008-09-23  Simon Josefsson  <simon@josefsson.org>
35349
35350         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
35351         success.
35352
35353 2008-09-22  Eric Blake  <ebb9@byu.net>
35354             Bruno Haible  <bruno@clisp.org>
35355
35356         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
35357         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
35358         supply %A but mishandle pseudo-NaN.
35359         Reported by Simon Josefsson.
35360
35361 2008-09-21  Bruno Haible  <bruno@clisp.org>
35362
35363         * tests/test-lock.c (main): Tweak skip message.
35364         * tests/test-tls.c (main): Likewise.
35365
35366 2008-09-21  Bruno Haible  <bruno@clisp.org>
35367
35368         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
35369         whether 'struct sigaction' has sa_sigaction here...
35370         (gl_PREREQ_SIG_HANDLER_H): ... not here.
35371         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
35372
35373 2008-09-21  Bruno Haible  <bruno@clisp.org>
35374
35375         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
35376         section.
35377         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
35378         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
35379         the new section.
35380         (Support for obsolete systems lacking POSIX:2001): New section.
35381         (String handling <string.h>): Move strdup to the new section.
35382         Suggested by Simon Josefsson and Paolo Bonzini.
35383
35384 2008-09-21  Bruno Haible  <bruno@clisp.org>
35385
35386         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
35387         exponents in %e and %g results on 'long double'. Needed for mingw's
35388         improved *printf functions.
35389         * tests/test-vasprintf-posix.c (test_function): Likewise.
35390         * tests/test-snprintf-posix.h (test_function): Likewise.
35391         * tests/test-sprintf-posix.h (test_function): Likewise.
35392         Reported by Eric Blake.
35393
35394 2008-09-21  Bruno Haible  <bruno@clisp.org>
35395
35396         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
35397         * tests/test-sprintf-posix.h (test_function): Likewise.
35398
35399 2008-09-21  Bruno Haible  <bruno@clisp.org>
35400
35401         * modules/getpass (Depends-on): Add strdup-posix.
35402
35403         New module 'strdup-posix'.
35404         * modules/strdup-posix: New file.
35405         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
35406         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
35407         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35408         REPLACE_STRDUP.
35409         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
35410         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
35411         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35412         strdup-posix.
35413
35414         * modules/strdup (Depends-on): Remove malloc-posix.
35415
35416 2008-09-20  Bruno Haible  <bruno@clisp.org>
35417
35418         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
35419         Wildenhues.
35420
35421 2008-09-20  Bruno Haible  <bruno@clisp.org>
35422
35423         Ensure that wint_t gets defined on IRIX 5.3.
35424         * lib/wchar.in.h (wint_t): Define if not defined by the system.
35425         * lib/wctype.in.h (wint_t): Likewise.
35426         (__wctype_wint_t): Remove type.
35427         (isw*): Use wint_t instead of __wctype_wint_t.
35428         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
35429         * modules/wchar (Files): Add m4/wint_t.m4.
35430         (Makefile.am): Substitute HAVE_WINT_T.
35431         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
35432         * tests/test-wctype.c: Check that wint_t is defined.
35433         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
35434         * doc/posix-headers/wctype.texi: Likewise.
35435         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35436
35437 2008-09-18  Bruno Haible  <bruno@clisp.org>
35438
35439         * gnulib-tool (func_exit): Update comment.
35440
35441 2008-09-18  Simon Josefsson  <simon@josefsson.org>
35442
35443         * modules/getaddrinfo (Depends-on): Remove strdup, this module
35444         assumes strdup exists and does not depend on strdup to return
35445         ENOMEM on out of memory conditions.
35446
35447 2008-09-18  Bruno Haible  <bruno@clisp.org>
35448
35449         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
35450         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
35451         digits for the exponent.
35452
35453 2008-09-18  Jim Meyering  <meyering@redhat.com>
35454             Bruno Haible  <bruno@clisp.org>
35455
35456         * lib/vasnprintf.c (decimal_point_char): Define also if
35457         NEED_PRINTF_INFINITE_LONG_DOUBLE.
35458
35459 2008-09-16  Bruno Haible  <bruno@clisp.org>
35460         and Eric Blake  <ebb9@byu.net>
35461
35462         vasnprintf: support Irix 5.3
35463         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
35464         that mishandle long double infinity.
35465         Reported by Tom G. Christensen.
35466
35467 2008-09-16  Bruno Haible  <bruno@clisp.org>
35468
35469         * doc/glibc-functions/scandir.texi: Mention the function is missing on
35470         Solaris 9.
35471         * doc/glibc-functions/alphasort.texi: Likewise.
35472         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
35473
35474 2008-09-16  Jim Meyering  <meyering@redhat.com>
35475
35476         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
35477         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
35478         a umask modification leak out of a subshell.  Otherwise, the
35479         opensolaris /bin/sh would be accepted and thus cause unwarranted
35480         failures in the coreutils test suite.
35481
35482 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
35483
35484         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
35485         to succeed.
35486
35487 2008-09-16  Jim Meyering  <meyering@redhat.com>
35488
35489         avoid spurious test failure when library is built without ACL support
35490         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
35491         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
35492         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
35493         * tests/test-copy-acl.sh: Likewise.
35494
35495 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35496
35497         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
35498         based on character occurrence counts.
35499
35500 2008-09-15  Eric Blake  <ebb9@byu.net>
35501
35502         tests: avoid some compiler warnings
35503         * tests/test-memchr.c (main): Pass NULL indirectly.
35504         * tests/test-closein.c (main): Avoid unused variable.
35505
35506 2008-09-15  Bruno Haible  <bruno@clisp.org>
35507
35508         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
35509         are missing on OpenBSD 4.0 individually.
35510         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35511
35512 2008-09-15  Bruno Haible  <bruno@clisp.org>
35513
35514         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
35515         * doc/posix-functions/strerror.texi: Mention also Cygwin.
35516         * doc/posix-functions/perror.texi: Likewise.
35517         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
35518         is missing.
35519         Reported by Eric Blake.
35520
35521         * lib/errno.in.h: Use replacement values >= 2000.
35522         Reported by Eric Blake.
35523
35524 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35525
35526         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
35527         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
35528         limit.
35529         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
35530         compareseq was aborted.
35531
35532 2008-09-14  Bruno Haible  <bruno@clisp.org>
35533
35534         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
35535         yvec_edit_count.
35536         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
35537         (fstrcmp_bounded): Simplify result computation accordingly.
35538
35539 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35540
35541         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
35542         (fstrcmp): Define in terms of fstrcmp_bounded.
35543         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
35544         lower_bound argument.
35545         Return quickly if the result is certainly < lower_bound.
35546         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
35547
35548 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35549
35550         * lib/diffseq.h (EARLY_ABORT): New macro.
35551         (compareseq): Change return type to bool. Return true when EARLY_ABORT
35552         evaluates to true.
35553
35554 2008-09-14  Bruno Haible  <bruno@clisp.org>
35555
35556         * modules/perror-tests: New file.
35557         * tests/test-perror.sh: New file.
35558         * tests/test-perror.c: New file.
35559
35560         New module 'perror'.
35561         * lib/stdio.in.h (perror): New declaration.
35562         * lib/perror.c: New file.
35563         * m4/perror.m4: New file.
35564         * modules/perror: New file.
35565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
35566         * doc/posix-functions/perror.texi: Mention the perror module.
35567         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
35568         REPLACE_PERROR.
35569         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
35570         REPLACE_PERROR.
35571
35572 2008-09-14  Bruno Haible  <bruno@clisp.org>
35573
35574         * modules/stdio (Makefile.am): Reorder to match the order in
35575         lib/stdio.in.h.
35576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35577
35578 2008-09-13  Bruno Haible  <bruno@clisp.org>
35579
35580         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
35581
35582 2008-09-13  Bruno Haible  <bruno@clisp.org>
35583
35584         Extend strerror to cover the added errno values.
35585         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
35586         (rpl_strerror): Provide error messages for the added errno values and
35587         for the WSA* values.
35588         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
35589         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
35590         strerror.
35591         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
35592         * modules/strerror (Depends-on): Add errno.
35593         * doc/posix-functions/strerror.texi: Document the change.
35594         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
35595         and EOVERFLOW.
35596
35597 2008-09-13  Bruno Haible  <bruno@clisp.org>
35598
35599         * modules/EOVERFLOW: Remove file.
35600         * m4/eoverflow.m4: Remove file.
35601         * modules/EOVERFLOW-tests: Remove file.
35602         * tests/test-EOVERFLOW.c: Remove file.
35603         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
35604         * modules/ftell (Depends-on): Likewise.
35605         * modules/getdelim (Depends-on): Likewise.
35606         * modules/getugroups (Depends-on): Likewise.
35607         * modules/poll (Depends-on): Likewise.
35608         * modules/snprintf (Depends-on): Likewise.
35609         * modules/sprintf-posix (Depends-on): Likewise.
35610         * modules/vasnprintf (Depends-on): Likewise.
35611         * modules/vasprintf (Depends-on): Likewise.
35612         * modules/vfprintf-posix (Depends-on): Likewise.
35613         * modules/vsnprintf (Depends-on): Likewise.
35614         * modules/vsprintf-posix (Depends-on): Likewise.
35615         * modules/xvasprintf (Depends-on): Likewise.
35616         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35617         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
35618         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
35619         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
35620         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35621         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
35622         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
35623         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
35624         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35625         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
35626         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
35627         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
35628         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35629         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
35630         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
35631         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
35632         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35633         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
35634         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
35635         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
35636         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35637         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
35638         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
35639         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
35640         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
35641         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35642         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
35643         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
35644         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
35645         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
35646         * MODULES.html.sh: Remove EOVERFLOW.
35647         * NEWS: Mention the change.
35648
35649 2008-09-13  Bruno Haible  <bruno@clisp.org>
35650
35651         * modules/errno-tests: New file.
35652         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
35653
35654         * lib/errno.in.h: New file.
35655         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
35656         * modules/errno: New file.
35657         * doc/posix-headers/errno.texi: Update documentation.
35658         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
35659
35660 2008-09-13  Bruno Haible  <bruno@clisp.org>
35661
35662         * tests/test-poll.c: Use #if for native Windows, rather than testing
35663         __MSVCRT__.
35664
35665 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35666             Bruno Haible  <bruno@clisp.org>
35667
35668         * lib/glob.c: Don't include <pwd.h> on native Windows.
35669         (WINDOWS32): New macro.
35670         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
35671
35672 2008-09-13  Bruno Haible  <bruno@clisp.org>
35673
35674         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
35675         (ETIMEDOUT): Remove macro.
35676         (glthread_cond_timedwait_multithreaded): New declaration.
35677         (glthread_cond_timedwait): Use it.
35678         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
35679         (glthread_cond_timedwait_multithreaded): New function.
35680
35681 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35682
35683         * modules/poll-tests: Do not check for io.h.
35684         * tests/test-poll.c: Check for __MSVCRT__ instead.
35685
35686 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35687
35688         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35689         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35690         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35691
35692 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35693
35694         * modules/poll-tests: New.
35695         * tests/test-poll.c: New.
35696
35697 2008-09-12  Eric Blake  <ebb9@byu.net>
35698
35699         frexp: test for NetBSD failure on -0.0
35700         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35701         not all, bugs from NetBSD 3.0 have been fixed.
35702         * doc/posix-functions/frexp.texi (frexp): Document bug.
35703         Reported by Thomas Klausner.
35704
35705         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35706         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35707         literal -0.0.
35708         Reported by Jonathan C. Patschke <jp@centtech.com>.
35709
35710 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35711
35712         * lib/glthread/cond.h: Use dummy implementation also if
35713         USE_WIN32_THREADS.
35714
35715 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35716
35717         * modules/fnmatch-posix (License): Change to LGPLv2+.
35718         * modules/fnmatch-gnu (License): Likewise.
35719
35720 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35721
35722         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35723
35724 2008-09-11  Jim Meyering  <meyering@redhat.com>
35725
35726         * users.txt: Add gtk-vnc.
35727
35728 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35729
35730         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35731         rotate amounts.
35732
35733         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35734         required for 16-bit and 8-bit rotates.
35735         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35736         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35737         UINT8_MAX instead of hard-coded constants.
35738         Suggested by Paul Eggert.
35739
35740 2008-09-07  Bruno Haible  <bruno@clisp.org>
35741
35742         * tests/test-striconveh.c (main): Check behaviour when converting from
35743         UTF-7.
35744
35745         Make striconveh work better with stateful encodings.
35746         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35747         that iconv does not increment the inptr when returning -1/EINVAL.
35748
35749 2008-09-07  Bruno Haible  <bruno@clisp.org>
35750
35751         * build-aux/config.rpath: Update according to libtool-2.2.6.
35752         * build-aux/config.libpath: Likewise.
35753
35754 2008-09-06  Bruno Haible  <bruno@clisp.org>
35755
35756         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35757         * lib/freadptr.c (freadptr): Likewise.
35758         * lib/freadseek.c (freadptrinc): Likewise.
35759         Reported by Simon Josefsson.
35760
35761 2008-09-06  Bruno Haible  <bruno@clisp.org>
35762
35763         * modules/freadptr (License): Change to LGPLv2+.
35764         * modules/freadseek (License): Likewise.
35765         Suggested by Eric Blake.
35766
35767         * modules/memchr2 (License): Change to LGPLv2+.
35768         Approved by Eric Blake.
35769
35770 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35771             Bruno Haible  <bruno@clisp.org>
35772
35773         Make gnulib-tool work with native 'sed' on AIX.
35774         * gnulib-tool (sed_noop): New variable.
35775         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35776         func_add_or_update, func_create_testdir): Use it to initialize sed
35777         script variables.
35778         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35779
35780 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35781             Bruno Haible  <bruno@clisp.org>
35782
35783         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35784         also works after #include directives.
35785
35786 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
35787
35788         getdate.y: reject an out-of-range timezone value
35789         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35790         the range [-24...+24].  When specified with only one or two digits,
35791         * tests/test-getdate.c: Tests for the fix.
35792         * doc/getdate.texi: Document this change.
35793
35794 2008-09-03  Bruno Haible  <bruno@clisp.org>
35795
35796         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35797
35798 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35799
35800         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35801         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35802         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35803         Blake <ebb9@byu.net>.
35804
35805         * tests/test-bitrotate.c: Add more test vectors.
35806
35807 2008-09-02  Eric Blake  <ebb9@byu.net>
35808
35809         vasnprintf-posix: handle large precision via %.*d
35810         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35811         when handling it ourselves.
35812         * tests/test-vasnprintf-posix.c (test_function): Add test.
35813         * tests/test-snprintf-posix.h (test_function): Likewise.
35814         * tests/test-sprintf-posix.h (test_function): Likewise.
35815         * tests/test-vasprintf-posix.c (test_function): Likewise.
35816         Reported by Alain Guibert.
35817
35818 2008-09-01  Eric Blake  <ebb9@byu.net>
35819
35820         c-stack: make configure-time check more robust
35821         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35822         successful sigaction call.
35823         Reported by Tom G. Christensen.
35824
35825 2008-09-01  Bruno Haible  <bruno@clisp.org>
35826
35827         New module 'findprog-lgpl'.
35828         * modules/findprog-lgpl: New file.
35829         * lib/findprog-lgpl.c: New file.
35830         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35831         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35832         to decide whether to use strdup or xstrdup, concatenated_filename or
35833         xconcatenated_filename.
35834
35835 2008-09-01  Bruno Haible  <bruno@clisp.org>
35836
35837         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35838         'xconcat-filename' (GPL).
35839         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35840         (License): Change to LGPLv2+.
35841         * modules/xconcat-filename: New file.
35842         * lib/concat-filename.h (concatenated_filename): Change specification.
35843         (xconcatenated_filename): New declaration.
35844         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35845         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35846         memory situations.
35847         * lib/xconcat-filename.c: New file.
35848         * NEWS: Mention the change.
35849         * lib/findprog.c: Include concat-filename.h, not filename.h.
35850         (find_in_path): Use xconcatenated_filename instead of
35851         concatenated_filename.
35852         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35853         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35854         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35855         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35856         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35857         instead of concatenated_filename.
35858         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35859         (execute_java_class): Use xconcatenated_filename instead of
35860         concatenated_filename.
35861         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35862         * modules/javacomp (Depends-on): Likewise.
35863         * modules/javaexec (Depends-on): Likewise.
35864
35865 2008-09-01  Bruno Haible  <bruno@clisp.org>
35866
35867         Split module 'filename' into 'filename' and 'concat-filename'.
35868         * modules/filename: Keep only lib/filename.h.
35869         (License): Change to LGPLv2+.
35870         * modules/concat-filename: New file, extracted from modules/filename.
35871         * lib/filename.h (concatenated_filename): Remove declaration.
35872         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35873         * lib/concat-filename.c: Include concat-filename.h.
35874         * NEWS: Mention the change.
35875
35876 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35877
35878         * lib/bitrotate.h (rotl8, rotr8): Add.
35879
35880         * modules/bitrotate (configure.ac): Need
35881         AC_REQUIRE([AC_C_INLINE]).
35882         (Description): Mention stdint.h.  Reported by Bruno Haible
35883         <bruno@clisp.org>.
35884
35885         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35886         Paolo Bonzini <bonzini@gnu.org>.
35887
35888 2008-08-31  Bruno Haible  <bruno@clisp.org>
35889
35890         Assume Solaris specific bi-arch conventions on Solaris systems.
35891         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35892         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35893         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35894         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35895         like acl_libdirstem.
35896         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35897         acl_libdirstem.
35898         * NEWS: Mention the change.
35899         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35900
35901 2008-08-31  Jim Meyering  <meyering@redhat.com>
35902
35903         * lib/strftime.h: Add comments describing the two added arguments.
35904
35905         remove duplicate #include directives
35906         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35907         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35908
35909 2008-08-31  Bruno Haible  <bruno@clisp.org>
35910
35911         New module 'sigpipe-die'.
35912         * modules/sigpipe-die: New file.
35913         * lib/sigpipe-die.h: New file.
35914         * lib/sigpipe-die.c: New file.
35915         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35916
35917 2008-08-31  Bruno Haible  <bruno@clisp.org>
35918
35919         Don't override previously installed signal handlers.
35920         * lib/fatal-signal.c (saved_sigactions): New variable.
35921         (uninstall_handlers): Reset the signal to the saved handler, not
35922         to SIG_DFL (except when ignored).
35923         (install_handlers): Save the previous handlers.
35924
35925 2008-08-30  Bruno Haible  <bruno@clisp.org>
35926
35927         * gnulib-tool (func_reset_sigpipe): New function.
35928         (func_get_automake_snippet, func_modules_transitive_closure,
35929         func_import): Invoke it before a join command that reads from stdin,
35930         to avoid "echo: write error: Broken pipe" error messages on stderr.
35931         Reported by Sam Steingold <sds@gnu.org>.
35932
35933 2008-08-30  Bruno Haible  <bruno@clisp.org>
35934
35935         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
35936         Code copied from m4/open.m4.
35937         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
35938         access and the filename ends in a slash. Code copied from lib/open.c.
35939         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
35940         * tests/test-fopen.c (main): Check against bug with trailing slash.
35941
35942 2008-08-29  Bruno Haible  <bruno@clisp.org>
35943
35944         Avoid some "gcc -pedantic" warnings.
35945         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
35946         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
35947         * lib/dirent.in.h: Likewise.
35948         * lib/fcntl.in.h: Likewise.
35949         * lib/float.in.h: Likewise.
35950         * lib/iconv.in.h: Likewise.
35951         * lib/inttypes.in.h: Likewise.
35952         * lib/locale.in.h: Likewise.
35953         * lib/math.in.h: Likewise.
35954         * lib/netinet_in.in.h: Likewise.
35955         * lib/search.in.h: Likewise.
35956         * lib/signal.in.h: Likewise.
35957         * lib/stdarg.in.h: Likewise.
35958         * lib/stdint.in.h: Likewise.
35959         * lib/stdio.in.h: Likewise.
35960         * lib/stdlib.in.h: Likewise.
35961         * lib/string.in.h: Likewise.
35962         * lib/strings.in.h: Likewise.
35963         * lib/sys_select.in.h: Likewise.
35964         * lib/sys_socket.in.h: Likewise.
35965         * lib/sys_stat.in.h: Likewise.
35966         * lib/sys_time.in.h: Likewise.
35967         * lib/sysexits.in.h: Likewise.
35968         * lib/time.in.h: Likewise.
35969         * lib/unistd.in.h: Likewise.
35970         * lib/wchar.in.h: Likewise.
35971         * lib/wctype.in.h: Likewise.
35972         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
35973         * modules/fchdir (Makefile.am): Likewise.
35974         * modules/fcntl (Makefile.am): Likewise.
35975         * modules/float (Makefile.am): Likewise.
35976         * modules/iconv_open (Makefile.am): Likewise.
35977         * modules/inttypes (Makefile.am): Likewise.
35978         * modules/locale (Makefile.am): Likewise.
35979         * modules/math (Makefile.am): Likewise.
35980         * modules/netinet_in (Makefile.am): Likewise.
35981         * modules/search (Makefile.am): Likewise.
35982         * modules/signal (Makefile.am): Likewise.
35983         * modules/stdarg (Makefile.am): Likewise.
35984         * modules/stdint (Makefile.am): Likewise.
35985         * modules/stdio (Makefile.am): Likewise.
35986         * modules/stdlib (Makefile.am): Likewise.
35987         * modules/string (Makefile.am): Likewise.
35988         * modules/strings (Makefile.am): Likewise.
35989         * modules/sys_select (Makefile.am): Likewise.
35990         * modules/sys_socket (Makefile.am): Likewise.
35991         * modules/sys_stat (Makefile.am): Likewise.
35992         * modules/sys_time (Makefile.am): Likewise.
35993         * modules/sysexits (Makefile.am): Likewise.
35994         * modules/time (Makefile.am): Likewise.
35995         * modules/unistd (Makefile.am): Likewise.
35996         * modules/wchar (Makefile.am): Likewise.
35997         * modules/wctype (Makefile.am): Likewise.
35998         Reported by Reuben Thomas <rrt@sc3d.org>.
35999
36000 2008-08-29  Bruno Haible  <bruno@clisp.org>
36001
36002         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
36003         any more.
36004
36005 2008-08-29  Simon Josefsson  <simon@josefsson.org>
36006
36007         * MODULES.html.sh (Misc): Add bitrotate.
36008
36009         * modules/bitrotate: New file.
36010
36011         * lib/bitrotate.h: New file.
36012
36013         * modules/bitrotate-tests: New file.
36014
36015         * tests/test-bitrotate.c: New file.
36016
36017         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
36018         on the bitrotate module.
36019
36020         * lib/arctwo.c: Use new bitrotate module.
36021
36022 2008-08-29  Jim Meyering  <meyering@redhat.com>
36023
36024         bootstrap: merge changes from coreutils
36025         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
36026         of copied files.  Remove a kludge, now that this is fixed.
36027         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
36028         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
36029         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
36030
36031 2008-08-29  Bruno Haible  <bruno@clisp.org>
36032
36033         * MODULES.html.sh: Remove --cvs-urls option.
36034
36035 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
36036
36037         maint.mk: adjust to file name change
36038         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
36039
36040 2008-08-28  Jim Meyering  <meyering@redhat.com>
36041
36042         * modules/getndelim2 (License): Relicense to LGPLv2+.
36043         Approved by Richard Stallman for the version of 1995, and by
36044         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
36045
36046 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
36047
36048         * lib/getdelim.c (flockfile, funlockfile): Make all of them
36049         dummy if one is not available.  Do not touch them if
36050         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
36051         (getc_maybe_unlocked): New.
36052         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
36053
36054 2008-08-26  Eric Blake  <ebb9@byu.net>
36055
36056         doc/INSTALL: resync from autoconf
36057         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
36058         (INSTALL_PRELUDE): Delete; this is done more efficiently by
36059         moving...
36060         * install.texi [!autoconf]: ...here.  Resync from autoconf.
36061         * INSTALL: Regenerate.
36062         * INSTALL.ISO: New file.
36063         * INSTALL.UTF-8: Likewise.
36064
36065 2008-08-26  Jim Meyering  <meyering@redhat.com>
36066
36067         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
36068         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
36069         these definitions conditional, so that they may be overridden, too.
36070
36071 2008-08-26  Bruno Haible  <bruno@clisp.org>
36072
36073         Generate INSTALL file variants with prettier quotes.
36074         * doc/Makefile (INSTALL_PRELUDE): New macro.
36075         (INSTALL): Use it.
36076         (INSTALL.ISO, INSTALL.UTF-8): New rules.
36077
36078 2008-08-26  Bruno Haible  <bruno@clisp.org>
36079
36080         Run makeinfo in an English locale.
36081         * doc/Makefile (MAKEINFO): New variable.
36082
36083 2008-08-26  Bruno Haible  <bruno@clisp.org>
36084
36085         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
36086         Suggested by Eric Blake.
36087
36088 2008-08-25  Bruno Haible  <bruno@clisp.org>
36089
36090         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
36091
36092 2008-08-25  Eric Blake  <ebb9@byu.net>
36093
36094         c-stack: test that stack overflow can be caught
36095         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
36096         that platform allows handling stack overflow; at least OS/2 EMX
36097         has sigaltstack, but crashes before transferring control to
36098         handler on stack overflow.
36099         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
36100         check for HAVE_STACK_OVERFLOW_HANDLING.
36101         Reported by Elbert Pol.
36102
36103 2008-08-25  Bruno Haible  <bruno@clisp.org>
36104
36105         * doc/posix-functions/strftime.texi: Fix description of strftime
36106         module.
36107
36108 2008-08-24  Bruno Haible  <bruno@clisp.org>
36109
36110         * tests/uniwidth/test-uc_width2.c: New file.
36111         * tests/uniwidth/test-uc_width2.sh: New file.
36112         * modules/uniwidth/width-tests (Files): Add the new files.
36113         (TESTS): Add uniwidth/test-uc_width2.sh.
36114         (TESTS_ENVIRONMENT): New variable.
36115         (check_PROGRAMS): Add test-uc_width2.
36116         (test_uc_width2_SOURCES): New variable.
36117
36118         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
36119         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
36120         not 0x00AB.
36121         Reported by Alexander V. Lukyanov <lav@netis.ru>.
36122
36123 2008-08-22  Eric Blake  <ebb9@byu.net>
36124
36125         test-lock, test-tls: mention why a test is skipped
36126         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
36127         skipped.
36128         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
36129
36130         count-one-bits: relax license
36131         * modules/count-one-bits (License): Relicense to LGPLv2+.
36132         Suggested by Ludovic Courtès, approved by Ben Pfaff.
36133
36134 2008-08-22  Andreas Schwab  <schwab@suse.de>
36135
36136         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36137         Remove spurious space in assignment.
36138
36139 2008-08-21  Simon Josefsson  <simon@josefsson.org>
36140
36141         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
36142         Paul Eggert <eggert@CS.UCLA.EDU>.
36143
36144 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
36145
36146         * modules/gettext: Add m4/threadlib.m4.
36147
36148 2008-08-19  Eric Blake  <ebb9@byu.net>
36149
36150         test-c-stack: fix compilation failure on FreeBSD 5.0
36151         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
36152         headers before <sys/resource.h>.
36153         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
36154         the bug.
36155         Reported by Nelson H. F. Beebe.
36156
36157         strverscmp: migrate from "strverscmp.h" to <string.h>
36158         * modules/string (Makefile.am): Add new hooks.
36159         * modules/strverscmp (Files): Remove strverscmp.h.
36160         (Depends-on): Add string.
36161         (configure.ac): Add indicator.
36162         (Include): Mention new header.
36163         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
36164         defaults.
36165         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
36166         results.
36167         * lib/strverscmp.h: Delete.
36168         * lib/string.in.h (strverscmp): Provide declaration, when needed.
36169         * tests/test-strverscmp.c (includes): Adjust client.
36170         * lib/check-version.c (includes): Likewise.
36171         * NEWS: Document the change.
36172
36173         strverscmp: add unit test
36174         * modules/strverscmp-tests: New file.
36175         * tests/test-strverscmp.c: Likewise.
36176
36177 2008-08-19  Simon Josefsson  <simon@josefsson.org>
36178
36179         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
36180         regarding Windows crypto stuff, from Mono.
36181
36182 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
36183
36184         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
36185         if present, for intel RND.  Return error on failures.
36186
36187 2008-08-18  Ben Pfaff  <blp@gnu.org>
36188
36189         gitlog-to-changelog: give better diagnostic for failed pipe-open
36190         * build-aux/gitlog-to-changelog: Improve error message: suggest
36191         that the version of Git may be too old.
36192
36193 2008-08-18  Simon Josefsson  <simon@josefsson.org>
36194
36195         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
36196         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
36197
36198 2008-08-18  Bruno Haible  <bruno@clisp.org>
36199
36200         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
36201         pthread_in_use().
36202
36203 2008-08-18  Bruno Haible  <bruno@clisp.org>
36204
36205         * lib/glthread/threadlib.c: Include <pthread.h>.
36206
36207 2008-08-18  Bruno Haible  <bruno@clisp.org>
36208
36209         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
36210         glthread_recursive_lock_* macros.
36211         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
36212         Fix syntax error.
36213
36214 2008-08-18  Bruno Haible  <bruno@clisp.org>
36215
36216         * lib/glthread/thread.c: Avoid forcing a context switch right after
36217         thread creation.
36218
36219 2008-08-17  Bruno Haible  <bruno@clisp.org>
36220
36221         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
36222         * lib/glthread/thread.h: Provide Win32 specific implementation.
36223         * modules/thread (Files): Add lib/glthread/thread.c.
36224         (Depends-on): Add lock.
36225         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
36226
36227 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36228
36229         New module 'yield'.
36230         * modules/yield: New file.
36231         * lib/glthread/yield.h: New file.
36232         * m4/yield.m4: New file.
36233         * MODULES.html.sh (Multithreading): Add yield.
36234
36235 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36236
36237         New module 'thread'.
36238         * modules/thread: New file.
36239         * lib/glthread/thread.h: New file.
36240         * m4/thread.m4: New file.
36241         * MODULES.html.sh (Multithreading): Add thread.
36242
36243 2008-08-17  Bruno Haible  <bruno@clisp.org>
36244
36245         * lib/glthread/lock.h: Include <stdlib.h> always.
36246         * lib/glthread/tls.h: Likewise.
36247         * lib/glthread/cond.h: Likewise.
36248
36249 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36250
36251         New module 'cond'.
36252         * modules/cond: New file.
36253         * lib/glthread/cond.h: New file.
36254         * lib/glthread/cond.c: New file.
36255         * m4/cond.m4: New file.
36256         * MODULES.html.sh (Multithreading): Add cond.
36257
36258 2008-08-16  Eric Blake  <ebb9@byu.net>
36259
36260         c-stack: fix regression on Irix 5.3 from 2008-06-21
36261         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
36262         sa_sigaction...
36263         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
36264         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
36265         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
36266         * modules/signal (Makefile.am): Use the value.
36267         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
36268         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
36269         * doc/posix-headers/signal.texi (signal.h): Document this
36270         portability issue.
36271         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
36272         Reported by Tom G. Christensen.
36273
36274 2008-08-17  Bruno Haible  <bruno@clisp.org>
36275
36276         New module 'threadlib'.
36277         * modules/threadlib: New file.
36278         * lib/glthread/threadlib.c: New file, extracted from
36279         lib/glthread/lock.c.
36280         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
36281         functions.
36282         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
36283         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
36284         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
36285         macros.
36286         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
36287         (gl_DISABLE_THREADS): Remove macro.
36288         * modules/lock (Files): Remove build-aux/config.rpath.
36289         (Depends-on): Remove havelib. Add threadlib.
36290         (configure.ac-early): Remove section.
36291         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
36292         * modules/tls (Depends-on): Remove lock. Add threadlib.
36293         (Link): New section, copied from threadlib.
36294         * MODULES.html.sh (Multithreading): Add threadlib.
36295
36296 2008-08-14  Bruno Haible  <bruno@clisp.org>
36297
36298         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
36299         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
36300         glthread_rwlock_unlock, glthread_rwlock_destroy,
36301         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
36302         glthread_recursive_lock_destroy): Define as macros always.
36303         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
36304         glthread_lock_lock.
36305         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
36306         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
36307         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
36308         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
36309         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
36310         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
36311         (glthread_recursive_lock_lock_func): Renamed from
36312         glthread_recursive_lock_lock.
36313         (glthread_recursive_lock_unlock_func): Renamed from
36314         glthread_recursive_lock_unlock.
36315         (glthread_recursive_lock_destroy_func): Renamed from
36316         glthread_recursive_lock_destroy.
36317
36318 2008-08-14  Bruno Haible  <bruno@clisp.org>
36319
36320         * lib/glthread/lock.h: Renamed from lib/lock.h.
36321         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
36322         * lib/glthread/tls.h: Renamed from lib/tls.h.
36323         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
36324         * lib/fstrcmp.c: Update includes.
36325         * lib/strsignal.c: Update includes.
36326         * modules/lock (Files, Makefile.am): Update.
36327         (Include): Change to "glthread/lock.h".
36328         * modules/tls (Files, Makefile.am): Update.
36329         (Include): Change to "glthread/tls.h".
36330         * tests/test-lock.c: Update includes.
36331         * tests/test-tls.c: Update includes.
36332         * NEWS: Mention the renamed header files.
36333
36334 2008-08-11  Jim Meyering  <meyering@redhat.com>
36335
36336         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
36337
36338 2008-08-11  Eric Blake  <ebb9@byu.net>
36339
36340         test-c-stack: avoid C99-ism
36341         * tests/test-c-stack.c (main): Fix whitespace, move declaration
36342         before statement.
36343         Reported by Alain Guibert.
36344
36345 2008-08-10  Jim Meyering  <meyering@redhat.com>
36346
36347         ensure that return value of uinttostr et al are not ignored
36348         * lib/inttostr.h (__GNUC_PREREQ): Define.
36349         (__attribute_warn_unused_result__): Define.
36350         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
36351
36352 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
36353
36354         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
36355         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
36356
36357 2008-08-07  Jim Meyering  <meyering@redhat.com>
36358
36359         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
36360
36361         * modules/mkstemp (License): Relicense under LGPLv2+.
36362         * modules/tempname (License): Likewise.
36363
36364 2008-08-06  Bruno Haible  <bruno@clisp.org>
36365
36366         * lib/poll.c (poll): Further micro-optimization.
36367
36368 2008-08-06  Jim Meyering  <meyering@redhat.com>
36369
36370         inet_pton.c: use locale-independent tolower
36371         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
36372         (inet_pton6): Use c_tolower rather than tolower.
36373         * modules/inet_pton (Depends-on): Add c-ctype.
36374
36375 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
36376
36377         * lib/poll.c (poll): Avoid division when timeout is 0, cache
36378         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
36379
36380 2008-08-06  Jim Meyering  <meyering@redhat.com>
36381
36382         * modules/inet_pton (License): Relicense under LGPLv2+.
36383
36384 2008-08-03  Bruno Haible  <bruno@clisp.org>
36385
36386         Additional non-aborting API for lock and tls.
36387         * lib/lock.h: Include <errno.h>.
36388         (glthread_lock_init): New macro/function.
36389         (gl_lock_init): Define as wrapper around glthread_lock_init.
36390         (glthread_lock_lock): New macro/function.
36391         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
36392         (glthread_lock_unlock): New macro/function.
36393         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
36394         (glthread_lock_destroy): New macro/function.
36395         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
36396         (glthread_rwlock_init): New macro/function.
36397         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
36398         (glthread_rwlock_rdlock): New macro/function.
36399         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
36400         (glthread_rwlock_wrlock): New macro/function.
36401         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
36402         (glthread_rwlock_unlock): New macro/function.
36403         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
36404         (glthread_rwlock_destroy): New macro/function.
36405         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
36406         (glthread_recursive_lock_init): New macro/function.
36407         (gl_recursive_lock_init): Define as wrapper around
36408         glthread_recursive_lock_init.
36409         (glthread_recursive_lock_lock): New macro/function.
36410         (gl_recursive_lock_lock): Define as wrapper around
36411         glthread_recursive_lock_lock.
36412         (glthread_recursive_lock_unlock): New macro/function.
36413         (gl_recursive_lock_unlock): Define as wrapper around
36414         glthread_recursive_lock_unlock.
36415         (glthread_recursive_lock_destroy): New macro/function.
36416         (gl_recursive_lock_destroy): Define as wrapper around
36417         glthread_recursive_lock_destroy.
36418         (glthread_once): New macro/function.
36419         (gl_once): Define as wrapper around glthread_once.
36420         Update function declarations.
36421         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
36422         glthread_rwlock_init. Return error code.
36423         (glthread_rwlock_rdlock_multithreaded): Renamed from
36424         glthread_rwlock_rdlock. Return error code.
36425         (glthread_rwlock_wrlock_multithreaded): Renamed from
36426         glthread_rwlock_wrlock. Return error code.
36427         (glthread_rwlock_unlock_multithreaded): Renamed from
36428         glthread_rwlock_unlock. Return error code.
36429         (glthread_rwlock_destroy_multithreaded): Renamed from
36430         glthread_rwlock_destroy. Return error code.
36431         (glthread_recursive_lock_init_multithreaded): Renamed from
36432         glthread_recursive_lock_init. Return error code.
36433         (glthread_recursive_lock_lock_multithreaded): Renamed from
36434         glthread_recursive_lock_lock. Return error code.
36435         (glthread_recursive_lock_unlock_multithreaded): Renamed from
36436         glthread_recursive_lock_unlock. Return error code.
36437         (glthread_recursive_lock_destroy_multithreaded): Renamed from
36438         glthread_recursive_lock_destroy. Return error code.
36439         (glthread_once_call): Make static.
36440         (glthread_once_multithreaded): Renamed from glthread_once.
36441         * lib/tls.h: Include <errno.h>.
36442         (glthread_tls_key_init): New macro/function.
36443         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
36444         (glthread_tls_set): New macro/function.
36445         (gl_tls_set): Define as wrapper around glthread_tls_set.
36446         (glthread_tls_key_destroy): New macro/function.
36447         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
36448         Update function declarations.
36449         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
36450         glthread_tls_get.
36451         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36452
36453 2008-08-04  Eric Blake  <ebb9@byu.net>
36454
36455         gnumakefile: use space, not TAB, outside of targets
36456         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
36457
36458 2008-08-02  Jim Meyering  <meyering@redhat.com>
36459
36460         getdate.y: avoid locale-dependent date parsing failure
36461         In Turkish locales, getdate would fail to recognize keywords
36462         containing a lowercase "i".  The solution is not to rely on
36463         locale-sensitive case-conversion.
36464         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
36465         (lookup_word): Use c_toupper in place of toupper.
36466         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
36467         Reported by Vefa Bicakci <bicave@superonline.com> in
36468         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
36469         * modules/getdate (Depends-on): Add c-ctype.
36470
36471 2008-08-02  Bruno Haible  <bruno@clisp.org>
36472
36473         * gnulib-tool (func_import): When updating or creating a .gitignore
36474         file, prepend each added line with a slash, and ignore leading slashes
36475         from the existing lines.
36476         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36477
36478 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36479
36480         Portability fix for GNU make 3.79.1.
36481         * top/GNUmakefile: Avoid 'else COND', which older GNU make
36482         versions do not understand.
36483
36484 2008-08-01  Bruno Haible  <bruno@clisp.org>
36485
36486         Work around bug of HP-UX 10.20 cc with -0.0 literal.
36487         * tests/test-isnanf.h (zero): New variable.
36488         (main): Avoid literal -0.0f.
36489         * tests/test-isnand.h (zero): New variable.
36490         (main): Avoid literal -0.0.
36491         * tests/test-isnanl.h (zero): New variable.
36492         (main): Avoid literal -0.0L.
36493         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
36494         (test_float, test_double, test_long_double): Avoid literals -0.0f,
36495         -0.0, -0.0L.
36496         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
36497         (test_signbitd): Avoid literal -0.0.
36498         (test_signbitl): Avoid literal -0.0L.
36499         * tests/test-ceilf1.c (zero): New variable.
36500         (main): Avoid literal -0.0f.
36501         * tests/test-ceill.c (zero): New variable.
36502         (main): Avoid literal -0.0L.
36503         * tests/test-floorf1.c (zero): New variable.
36504         (main): Avoid literal -0.0f.
36505         * tests/test-floorl.c (zero): New variable.
36506         (main): Avoid literal -0.0L.
36507         * tests/test-roundf1.c (zero): New variable.
36508         (main): Avoid literal -0.0f.
36509         * tests/test-round1.c (zero): New variable.
36510         (main): Avoid literal -0.0.
36511         * tests/test-roundl.c (zero): New variable.
36512         (main): Avoid literal -0.0L.
36513         * tests/test-truncf1.c (zero): New variable.
36514         (main): Avoid literal -0.0f.
36515         * tests/test-trunc1.c (zero): New variable.
36516         (main): Avoid literal -0.0.
36517         * tests/test-truncl.c (zero): New variable.
36518         (main): Avoid literal -0.0L.
36519         * tests/test-frexp.c (zero): New variable.
36520         (main): Avoid literal -0.0.
36521         * tests/test-frexpl.c (zero): New variable.
36522         (main): Avoid literal -0.0L.
36523         * tests/test-ldexpl.c (zero): New variable.
36524         (main): Avoid literal -0.0L.
36525         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36526         (zerod, zerol): New variables.
36527         (test_function): Avoid literals -0.0, -0.0L.
36528         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36529         (zerod, zerol): New variables.
36530         (test_function): Avoid literals -0.0, -0.0L.
36531         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36532         (zerod, zerol): New variables.
36533         (test_function): Avoid literals -0.0, -0.0L.
36534         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36535         (zerod, zerol): New variables.
36536         (test_function): Avoid literals -0.0, -0.0L.
36537         * tests/test-strtod.c (zero): New variable.
36538         (main): Avoid literal -0.0.
36539         Reported by Jonathan C. Patschke <jp@centtech.com>.
36540
36541 2008-07-31  Jim Meyering  <meyering@redhat.com>
36542
36543         sha256.h: correct definition of SHA224_DIGEST_SIZE
36544         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
36545         Reported by Paulie Pena IV <paulie4@gmail.com>.
36546         Define as 224 / 8, rather than as a literal.
36547         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
36548         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
36549         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
36550
36551 2008-07-31  Bruno Haible  <bruno@clisp.org>
36552
36553         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
36554         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
36555         Reported by Jonathan Patschke <jp@centtech.com>.
36556
36557 2008-07-31  Bruno Haible  <bruno@clisp.org>
36558
36559         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
36560         Reported by Paolo Bonzini <bonzini@gnu.org>.
36561
36562 2008-07-30  Eric Blake  <ebb9@byu.net>
36563
36564         test-strtod: allow compilation without -lm
36565         * tests/test-strtod.c (main): Avoid link dependence on fabs.
36566         Reported by Dennis Clarke <blastwave@gmail.com>.
36567
36568 2008-07-28  Jim Meyering  <meyering@redhat.com>
36569
36570         bootstrap: work also when there are no .po files in po/
36571         * build-aux/bootstrap (update_po_files): Complete the change
36572         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
36573
36574 2008-07-27  Jim Meyering  <meyering@redhat.com>
36575
36576         * users.txt: Add zile.
36577
36578 2008-07-26  Ben Pfaff  <blp@gnu.org>
36579
36580         Add missing dependencies on new m4/exponent[fdl].m4 files.
36581         * modules/isnanf-nolibm: Add m4/exponentf.m4.
36582         * modules/isnand-nolibm: Add m4/exponentd.m4.
36583         * modules/isnanl-nolibm: Add m4/exponentl.m4.
36584         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
36585         m4/isnan[fdl].m4, because the macros actually used moved.
36586         Reported by Jim Meyering.
36587
36588 2008-07-14  Ben Pfaff  <blp@gnu.org>
36589
36590         Add isinf module.
36591         * lib/isinf.c: New file.
36592         * lib/math.in.h: Define isinf macro if we have decided to replace
36593         it.
36594         * m4/isinf.m4: New file.
36595         * m4/math_h.m4: Initialize and substitute variables for isinf
36596         module.
36597         * modules/isinf: New file.
36598         * modules/isinf-tests: New file.
36599         * modules/math: Add substitutions for new module.
36600         * tests/test-isinf.c: New file.
36601         * doc/posix-functions/isinf.texi: Mention new module.
36602         * MODULES.html.sh: Mention new module.
36603
36604 2008-07-14  Ben Pfaff  <blp@gnu.org>
36605
36606         Factor out some macros for use by additional modules.
36607         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
36608         exponentf.m4.
36609         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
36610         exponentd.m4.
36611         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
36612         file exponentl.m4.
36613         * m4/exponentf.m4: New file.
36614         * m4/exponentd.m4: New file.
36615         * m4/exponentl.m4: New file.
36616         * modules/isnanf: Use new file m4/exponentf.m4.
36617         * modules/isnand: Use new file m4/exponentd.m4.
36618         * modules/isnanl: Use new file m4/exponentl.m4.
36619
36620 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
36621
36622         mktime.c: normalize tp->tm_isdst value to -1/0/1.
36623         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
36624         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
36625         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
36626
36627         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
36628         readlink on platforms without PATH_MAX.
36629
36630 2008-07-21  Eric Blake  <ebb9@byu.net>
36631
36632         Warn, not fail, on stale version.
36633         * top/GNUmakefile (_curr-ver): Tone down previous patch.
36634
36635         Don't allow installation with stale devel version number.
36636         * top/GNUmakefile (_is-install-target): New macro.
36637         (_curr-ver): Forbid installation with stale version number.
36638
36639 2008-07-20  Bruno Haible  <bruno@clisp.org>
36640
36641         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
36642         TESTS_ENVIRONMENT.
36643         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
36644
36645 2008-07-20  Bruno Haible  <bruno@clisp.org>
36646
36647         * lib/c-stack.h (c_stack_action): Add documentation.
36648         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
36649
36650 2008-07-20  Bruno Haible  <bruno@clisp.org>
36651
36652         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
36653         * modules/readlink (License): Likewise.
36654
36655 2008-07-17  Eric Blake  <ebb9@byu.net>
36656
36657         * modules/c-stack (Link): Fix typo.
36658
36659         Make c-stack use libsigsegv, when available.
36660         * modules/c-stack (Depends-on): Add libsigsegv.
36661         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
36662         needed.
36663         * lib/c-stack.c (SIGSTKSZ): Define fallback.
36664         (segv_handler, overflow_handler, c_stack_action)
36665         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
36666         implementation when libsigsegv is available, but only when using
36667         the library is necessary.
36668         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
36669         comment, explaining why XSI check fails on Linux.
36670         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
36671         * tests/test-c-stack2.sh: Tweak skip message.
36672         * NEWS: Document new link-time requirements.
36673
36674 2008-07-16  Eric Blake  <ebb9@byu.net>
36675
36676         c-stack: Expose false positives when not using libsigsegv.
36677         * modules/c-stack-tests (Files): Expand test.
36678         * tests/test-c-stack.c (main): Add means to conditionally trigger
36679         non-overflow SIGSEGV.
36680         * tests/test-c-stack2.sh: New file.
36681
36682 2008-07-14  Bruno Haible  <bruno@clisp.org>
36683
36684         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
36685         Reported by Eric Blake.
36686
36687 2008-07-14  Sam Steingold  <sds@gnu.org>
36688             Bruno Haible  <bruno@clisp.org>
36689
36690         New module libsigsegv.
36691         * modules/libsigsegv: New file.
36692         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36693         modifications.
36694         * MODULES.html.sh (Signal handling): New section.
36695
36696 2008-07-14  Bruno Haible  <bruno@clisp.org>
36697
36698         * modules/unictype/ctype-* (Description): Add the word "function".
36699         Improves the resulting doc in MODULES.html.
36700
36701 2008-07-12  Ben Pfaff  <blp@gnu.org>
36702
36703         Add longlong module.
36704         * modules/longlong: New file.
36705
36706 2008-07-12  Bruno Haible  <bruno@clisp.org>
36707
36708         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36709         to empty.
36710
36711 2008-07-10  Ben Pfaff  <blp@gnu.org>
36712
36713         Add isnan module.
36714         * doc/posix-functions/isnan.texi: Mention new module.
36715         * lib/math.in.h: Define isnan macro if we have decided to replace
36716         it.
36717         * m4/isnan.m4: New file.
36718         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36719         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36720         also.
36721         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36722         redundancy.
36723         * m4/math_h.m4: Initialize and substitute variables for isnan
36724         module.
36725         * modules/isnan: New file.
36726         * modules/isnan-tests: New file.
36727         * modules/math: Add substitutions for new module.
36728         * tests/test-isnan.c: New file.
36729         * MODULES.html.sh: Mention new module.
36730
36731 2008-07-10  Ben Pfaff  <blp@gnu.org>
36732
36733         Add isnanf module.
36734         * lib/isnanf.m4: New file.
36735         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36736         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36737         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36738         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36739         * modules/isnanf: New file.
36740         * modules/isnanf-tests: New file.
36741         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36742         files.
36743         * tests/test-isnanf-nolibm.c: factored most of its contents into
36744         new file tests/test-isnanf.h.
36745         * tests/test-isnanf.h: New file.
36746         * tests/test-isnanf.c: New file.
36747         * MODULES.html.sh: Mention new module.
36748         * doc/glibc-functions/isnanf.texi: Mention new module.
36749
36750 2008-07-10  Ben Pfaff  <blp@gnu.org>
36751
36752         Add isnand module.
36753         * lib/isnand.h: New file.
36754         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36755         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36756         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36757         functionality also.
36758         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36759         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36760         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36761         * modules/isnand: New file.
36762         * modules/isnand-tests: New file.
36763         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36764         files.
36765         * tests/test-isnand-nolibm.c: factored most of its contents into
36766         new file tests/test-isnand.h.
36767         * tests/test-isnand.h: New file.
36768         * tests/test-isnand.c: New file.
36769         * MODULES.html.sh: Mention new module.
36770
36771 2008-07-10  Ben Pfaff  <blp@gnu.org>
36772
36773         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36774         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36775         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36776         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36777         * modules/isnanf-nolibm: Update references to renamed files.
36778         * modules/isnand-nolibm: Likewise.
36779         * modules/isnanf-nolibm-tests: Likewise.
36780         * modules/isnand-nolibm-tests: Likewise.
36781         * lib/frexp.c: Likewise.
36782         * lib/isfinite.c: Likewise.
36783         * lib/signbitd.c: Likewise.
36784         * lib/signbitf.c: Likewise.
36785         * lib/vasnprintf.c: Likewise.
36786         * tests/test-ceilf1.c: Likewise.
36787         * tests/test-ceilf2.c: Likewise.
36788         * tests/test-floorf1.c: Likewise.
36789         * tests/test-floorf2.c: Likewise.
36790         * tests/test-frexp.c: Likewise.
36791         * tests/test-round1.c: Likewise.
36792         * tests/test-round2.c: Likewise.
36793         * tests/test-roundf1.c: Likewise.
36794         * tests/test-strtod.c: Likewise.
36795         * tests/test-trunc1.c: Likewise.
36796         * tests/test-trunc2.c: Likewise.
36797         * tests/test-truncf1.c: Likewise.
36798         * tests/test-truncf2.c: Likewise.
36799         * NEWS: Mention the renamed header files.
36800
36801 2008-07-11  Jim Meyering  <meyering@redhat.com>
36802
36803         vc-list-files: make the last-resort awk code more portable
36804         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36805         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36806         does not support it.
36807
36808 2008-07-10  Eric Blake  <ebb9@byu.net>
36809
36810         Work with tar's bootstrap.
36811         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36812         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36813         an m4 comment.
36814
36815 2008-07-09  Jim Meyering  <meyering@redhat.com>
36816
36817         posix-shell.m4: fix typo that made this test malfunction
36818         * m4/posix-shell.m4: Remove capitalization in variable name.
36819
36820 2008-07-08  Bruno Haible  <bruno@clisp.org>
36821
36822         * m4/onceonly.m4: Update comments.
36823         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36824
36825 2008-07-04  Jim Meyering  <meyering@redhat.com>
36826
36827         * users.txt: Add vc-dwim.
36828         (bison, coreutils): Use the gitweb URL.
36829
36830 2008-07-03  Jim Meyering  <meyering@redhat.com>
36831
36832         * users.txt: Add libffcall.  From Sam Steingold.
36833
36834 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
36835
36836         getdate.y: do not ignore TZ with relative day, month or year offset
36837         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36838         relative-date-handling, since otherwise, the latter would clobber the
36839         sole output (an updated Start value) of the tz-handling block.
36840         * tests/test-getdate.c: Tests for the fix
36841
36842 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36843
36844         Recognize 'foo_LIBRARIES += libgnu.a'.
36845         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36846         makefile snippet has already specified an installation location,
36847         also using '+='.
36848
36849 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
36850
36851         getdate.y: factor out common actions
36852         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36853         Use them in place of open-coded actions.
36854
36855 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36856
36857         Add self-test for getdate module.
36858         * modules/getdate-tests: New file.
36859         * tests/test-getdate.c: New file.
36860
36861 2008-06-29  Bruno Haible  <bruno@clisp.org>
36862
36863         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36864         .gitignore.
36865         Reported by Sylvain Beucler <beuc@beuc.net>.
36866
36867 2008-06-29  Bruno Haible  <bruno@clisp.org>
36868
36869         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36870         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36871
36872 2008-06-29  Bruno Haible  <bruno@clisp.org>
36873
36874         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36875         EXTRA_DIST.
36876         Reported by Sylvain Beucler <beuc@beuc.net>.
36877
36878 2008-06-26  Jim Meyering  <meyering@redhat.com>
36879
36880         make several modules depend on the "open" module
36881         This provides slightly increased consistency when opening-for-write
36882         the name of a non-directory spelled with a trailing slash.
36883         * modules/chdir-safer: Likewise.
36884         * modules/chown: Likewise.
36885         * modules/clean-temp: Likewise.
36886         * modules/copy-file: Likewise.
36887         * modules/fchdir: Likewise.
36888         * modules/fcntl-safer: Likewise.
36889         * modules/pipe: Likewise.
36890         * modules/utime: Likewise.
36891         Prompted by Eric Blake and Bruno Haible.
36892
36893 2008-06-24  Andreas Schwab  <schwab@suse.de>
36894
36895         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36896         literals can be used as initializers for global variables.
36897
36898 2008-06-23  Eric Blake  <ebb9@byu.net>
36899
36900         Make gnulib-cache.m4 easier to diff.
36901         * gnulib-tool (func_import): Allow newlines when reading cached
36902         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36903
36904 2008-06-23  Bruno Haible  <bruno@clisp.org>
36905
36906         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36907         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36908         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36909         m4/signalblocking.m4.
36910         (gl_PREREQ_SIGACTION): Don't invoke it.
36911         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36912         gl_PREREQ_SIG_HANDLER_H.
36913         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36914         Don't check for sigaction here.
36915
36916 2008-06-23  Bruno Haible  <bruno@clisp.org>
36917
36918         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36919         (install_handlers): Don't set the SA_RESETHAND flag.
36920
36921 2008-06-23  Bruno Haible  <bruno@clisp.org>
36922
36923         * m4/sigaction.m4: Comment fixes.
36924         * lib/signal.in.h: Likewise.
36925
36926 2008-06-23  Eric Blake  <ebb9@byu.net>
36927
36928         Fix typo.
36929         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
36930
36931         Avoid SA_ namespace.
36932         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
36933         Reported by Ralf Wildenhues.
36934
36935         Avoid test failure due to SA_RESTORER.
36936         * tests/test-sigaction.c (SA_MASK): New macro.
36937         (main): Avoid failing due to extension flags being set.
36938         Reported by Jim Meyering.
36939
36940         Revert use of sig-handler.h in sigprocmask.c.
36941         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
36942         it requires the existence of struct sigaction.
36943         * lib/sigprocmask.c (handler_t): Restore typedef.
36944         (rpl_signal, old_handlers): Use local type.
36945
36946 2008-06-22  Bruno Haible  <bruno@clisp.org>
36947
36948         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
36949         conditionally.
36950         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36951
36952 2008-06-22  Bruno Haible  <bruno@clisp.org>
36953
36954         * doc/posix-functions/siginterrupt.texi: Move note.
36955
36956         * lib/signal.in.h (SA_RESTART): New macro.
36957         * lib/sigaction.c: Update comment.
36958
36959         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
36960
36961         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
36962         (gl_PREREQ_SIGPROCMASK): Invoke it.
36963         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
36964
36965         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
36966
36967         * lib/sigprocmask.c: Update a comment.
36968
36969 2008-06-21  Eric Blake  <ebb9@byu.net>
36970
36971         Use sigaction module rather than signal().
36972         * modules/c-stack (Depends-on): Add sigaction.
36973         * modules/fatal-signal (Depends-on): Likewise.
36974         * modules/nanosleep (Depends-on): Likewise.
36975         * modules/sigprocmask (Files): Add sig-handler.h.
36976         * modules/sigaction (Files): Likewise.
36977         * lib/sig-handler.h (get_handler): New file, suggested by Paul
36978         Eggert.
36979         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
36980         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
36981         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36982         (init_fatal_signals): Likewise.
36983         * lib/nanosleep.c (rpl_nanosleep): Likewise.
36984         (siginterrupt): Delete fallback.
36985         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
36986         instead.
36987         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
36988         siginterrupt.
36989
36990         New module sigaction, for mingw.
36991         * modules/sigaction: New module...
36992         * modules/sigaction-tests: ...and its test.
36993         * m4/sigaction.m4: New file.
36994         * lib/sigaction.c: Likewise.
36995         * tests/test-sigaction.c: Likewise.
36996         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
36997         * modules/signal (Makefile.am): Likewise.
36998         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
36999         needed.
37000         * doc/posix-headers/signal.texi (signal.h): Mention provided
37001         types.
37002         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
37003         that sigaction is preferable.
37004         * doc/posix-functions/sigaction.texi (sigaction): Mention new
37005         module.
37006         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37007         sigaction.
37008
37009         Improve robustness of sigprocmask by overriding signal.
37010         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
37011         is in use.
37012         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
37013         (SIGKILL, SIGSTOP): Provide fallbacks.
37014         (rpl_signal): Implement.
37015         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
37016         signal can be called inside handlers.
37017
37018         Fix nanosleep module on mingw.
37019         * modules/nanosleep (Depends-on): Add sys_select.
37020         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
37021
37022         Fix licensing of sigprocmask.
37023         * modules/raise (License): Relicense as LGPL.
37024
37025 2008-06-21  Bruno Haible  <bruno@clisp.org>
37026
37027         * lib/propername.c (proper_name_utf8): Don't use the transliterated
37028         result if it contains question marks.
37029         Reported by Michael Geng <linux@michaelgeng.de>.
37030
37031 2008-06-19  Bruno Haible  <bruno@clisp.org>
37032
37033         Fix CVS-ism.
37034         * doc/gnulib.texi: Include updated-stamp.texi.
37035         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
37036         (updated-stamp.texi): New rule.
37037         (gnulib.info): Depend on it.
37038         * doc/.gitignore: Add updated-stamp.texi.
37039         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
37040
37041 2008-06-19  Bruno Haible  <bruno@clisp.org>
37042
37043         * doc/Makefile (gnulib.info): Update and simplify dependencies.
37044         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37045
37046 2008-06-19  Eric Blake  <ebb9@byu.net>
37047
37048         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
37049         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
37050         Reported by Stepan Kasal.
37051
37052 2008-06-18  Bruno Haible  <bruno@clisp.org>
37053
37054         * lib/fatal-signal.c (init_fatal_signals): Add comment.
37055         Reported by Eric Blake.
37056
37057 2008-06-18  Eric Blake  <ebb9@byu.net>
37058
37059         Work around cygwin 1.5.25 strsignal bug.
37060         * tests/test-strsignal.c: Allow for const char *.
37061         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
37062
37063 2008-06-18  Simon Josefsson  <simon@josefsson.org>
37064
37065         * users.txt: Update URL to article and add author/date
37066         information.
37067
37068 2008-06-17  Bruno Haible  <bruno@clisp.org>
37069
37070         New macro gl_DISABLE_THREADS.
37071         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
37072         if the user did not pass --enable-threads or --disable-threads option.
37073         (gl_DISABLE_THREADS): New macro.
37074         Reported by Eric Blake <ebb9@byu.net>.
37075
37076 2008-06-17  Bruno Haible  <bruno@clisp.org>
37077
37078         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
37079         when the macro ignores it.
37080         Based on a patch by Eric Blake <ebb9@byu.net>.
37081
37082 2008-06-17  Bruno Haible  <bruno@clisp.org>
37083
37084         * modules/tls (License): Change to LGPLv2+.
37085         Reported by Eric Blake.
37086
37087 2008-06-17  Eric Blake  <ebb9@byu.net>
37088
37089         Simplify c-stack prerequisites.
37090         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
37091         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
37092         no longer requires <ucontext.h> to exist.  Optimize setrlimit
37093         check.
37094         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
37095         <sys/resource.h>.
37096
37097         Move c-stack test into testsuite.
37098         * modules/c-stack-tests: New file.
37099         * lib/c-stack.c [DEBUG]: Move test program...
37100         * tests/test-c-stack.c: ...into this new file.  Skip rather than
37101         fail test if sigaltstack is lacking.
37102         * tests/test-c-stack.sh: New driver file.
37103
37104 2008-06-16  Eric Blake  <ebb9@byu.net>
37105
37106         Use raise module consistently.
37107         * modules/fatal-signal (Depends-on): Add raise.
37108         * modules/sigprocmask (Depends-on): Likewise.
37109         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
37110         * lib/sigprocmask.c (sigprocmask): Likewise.
37111         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37112         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
37113
37114         Fix compliance bug in sigpending.
37115         * lib/sigprocmask.c (sigpending): Return pending array via
37116         parameter, not return value.
37117
37118 2008-06-14  Eric Blake  <ebb9@byu.net>
37119
37120         Improve obstack-printf test code.
37121         * tests/test-obstack-printf.c (test_function): Fix comment, and
37122         simplify usage of obstack_* in macros.  Add a test for coverage.
37123         Reported by Bruno Haible.
37124
37125 2008-06-14  Bruno Haible  <bruno@clisp.org>
37126
37127         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
37128         array size as a constant, not as a const variable.
37129         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
37130         AC_USE_SYSTEM_EXTENSIONS.
37131         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37132         Test whether the obstack_printf function actually exists.
37133         * modules/obstack-printf (Depends-on): Add extensions.
37134         (Include): Remove obstack.h.
37135         * modules/obstack-printf-posix (Depends-on): Add extensions.
37136         (Include): Remove obstack.h.
37137
37138 2008-06-13  Eric Blake  <ebb9@byu.net>
37139
37140         Add obstack-printf and obstack-printf-posix modules.
37141         * modules/obstack-printf: New file.
37142         * modules/obstack-printf-posix: Likewise.
37143         * MODULES.html.sh (Misc): Mention them.
37144         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37145         Likewise.
37146         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37147         Likewise.
37148         * modules/stdio (Makefile.am): Accomodate new modules.
37149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37150         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
37151         Declare.
37152         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
37153         functions.
37154         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
37155         (gl_REPLACE_OBSTACK_PRINTF): New macros
37156         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
37157         * tests/test-obstack-printf.c: New file.
37158         * modules/obstack-printf-tests: Likewise.
37159         * modules/obstack-printf-posix-tests: Likewise.
37160
37161 2008-06-11  Bruno Haible  <bruno@clisp.org>
37162
37163         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
37164         * lib/open.c: Include errno.h.
37165         (open): Fail when attempting to write to a file that has a trailing
37166         slash.
37167         * tests/test-open.c (main): Test against trailing slash bug.
37168         * doc/posix-functions/open.texi: Mention the trailing slash bug.
37169
37170 2008-06-10  Bruno Haible  <bruno@clisp.org>
37171
37172         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
37173         for $? to work inside the trap command, with various /bin/sh-s.
37174         * tests/test-vc-list-files-cvs.sh: Likewise.
37175
37176 2008-06-10  Bruno Haible  <bruno@clisp.org>
37177
37178         * lib/acl-internal.h: Don't include gettext.h here.
37179         * lib/set-mode-acl.c: Include gettext.h here.
37180         * lib/copy-acl.c: Likewise.
37181
37182 2008-06-10  Bruno Haible  <bruno@clisp.org>
37183
37184         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
37185         * lib/wait-process.c (wait_subprocess): Likewise.
37186         * lib/execute.h (execute): Add termsigp argument.
37187         * lib/execute.c (execute): Likewise.
37188         * lib/csharpcomp.c (compile_csharp_using_pnet,
37189         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
37190         * lib/csharpexec.c (execute_csharp_using_pnet,
37191         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
37192         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
37193         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
37194         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
37195         is_jikes_present): Update.
37196         * lib/javaexec.c (execute_java_class): Update.
37197         * lib/javaversion.c (execute_and_read_line): Update.
37198         * NEWS: Document the changes.
37199         Reported by Eric Blake.
37200
37201 2008-06-10  Eric Blake  <ebb9@byu.net>
37202
37203         Add missing include.
37204         * tests/test-strstr.c (includes): Add <signal.h>.
37205         * tests/test-strcasestr.c (includes): Likewise.
37206         * tests/test-memmem.c (includes): Likewise.
37207
37208 2008-06-10  Bruno Haible  <bruno@clisp.org>
37209
37210         * lib/wait-process.c (wait_subprocess): Add an assertion.
37211
37212 2008-06-10  Bruno Haible  <bruno@clisp.org>
37213
37214         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
37215
37216 2008-06-10  Bruno Haible  <bruno@clisp.org>
37217
37218         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
37219         using alarm().
37220         * tests/test-strcasestr.c (main): Likewise.
37221         * tests/test-strstr.c (main): Likewise.
37222
37223 2008-06-09  Bruno Haible  <bruno@clisp.org>
37224
37225         Work around the Solaris 10 ACE ACLs ABI change.
37226         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
37227         declare if ACL_NO_TRIVIAL is present.
37228         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
37229         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
37230         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
37231         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
37232         define if ACL_NO_TRIVIAL is present.
37233         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
37234         and use the current ABI.
37235         (file_has_acl): Use same #if condition as elsewhere.
37236         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
37237         in use, and use the current ABI.
37238         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
37239         Reported by Jim Meyering.
37240
37241 2008-06-09  Eric Blake  <ebb9@byu.net>
37242
37243         Work around environments that (stupidly) ignore SIGALRM.
37244         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
37245         before using alarm().
37246         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37247         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37248         Reported by Ian Beckwith <ianb@erislabs.net>.
37249
37250         Produce autobuild blurb earlier in log.
37251         * modules/autobuild (configure.ac-early): Move AB_INIT here.
37252
37253 2008-06-09  Jim Meyering  <meyering@redhat.com>
37254         and OndÅ™ej Vašík  <ovasik@redhat.com>
37255
37256         utimens.c: correct kernel bug work-around
37257         OndÅ™ej Vašík found that the invalid return value of 280 indicates
37258         failure, not success, and the kernel bug we're trying to work
37259         around affects not just the utimensat call, but also the fallback
37260         futimens call.
37261         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
37262         not success.
37263         [HAVE_FUTIMENS]: Use the same work-around, here.
37264
37265 2008-06-09  Jim Meyering  <meyering@redhat.com>
37266
37267         add more guards around definition of ACE_-related code
37268         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
37269         ALLOW and ACE_OWNER are also defined.
37270
37271 2008-06-08  Bruno Haible  <bruno@clisp.org>
37272
37273         * lib/acl-internal.h: Add me as co-author.
37274         * lib/file-has-acl.c: Likewise.
37275         * lib/set-mode-acl.c: Likewise.
37276         * lib/copy-acl.c: Likewise.
37277
37278 2008-06-08  Bruno Haible  <bruno@clisp.org>
37279
37280         Add support for AIX ACLs.
37281         * lib/acl-internal.h (acl_nontrivial): New declaration.
37282         * lib/file-has-acl.c (acl_nontrivial): New function.
37283         (file_has_acl): Add implementation using AIX 4 ACL API.
37284         * lib/set-mode-acl.c (qset_acl): Likewise.
37285         * lib/copy-acl.c (qcopy_acl): Likewise.
37286
37287 2008-06-08  Bruno Haible  <bruno@clisp.org>
37288
37289         Add support for HP-UX ACLs.
37290         * lib/acl-internal.h (acl_nontrivial): New declaration.
37291         * lib/file-has-acl.c (acl_nontrivial): New function.
37292         (file_has_acl): Add implementation using HP-UX 11 ACL API.
37293         * lib/set-mode-acl.c (qset_acl): Likewise.
37294         * lib/copy-acl.c (qcopy_acl): Likewise.
37295
37296 2008-06-08  Bruno Haible  <bruno@clisp.org>
37297
37298         Add support for Cygwin ACLs.
37299         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
37300         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
37301         the chmod_or_fchmod call.
37302         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
37303
37304 2008-06-08  Bruno Haible  <bruno@clisp.org>
37305
37306         Fix bug with setuid modes in Solaris 10+ code.
37307         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
37308         succeeded, when the mode contains some special bits.
37309
37310 2008-06-08  Bruno Haible  <bruno@clisp.org>
37311
37312         Add support for Solaris 7..10 ACLs.
37313         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
37314         declarations.
37315         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
37316         functions.
37317         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
37318         * lib/set-mode-acl.c (qset_acl): Likewise.
37319         * lib/copy-acl.c (qcopy_acl): Likewise.
37320
37321 2008-06-08  Bruno Haible  <bruno@clisp.org>
37322
37323         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
37324         declaration.
37325         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
37326         (acl_access_nontrivial): Remove MacOS X case.
37327         (file_has_acl): Use acl_extended_nontrivial.
37328         * lib/copy-acl.c (qcopy_acl): Likewise.
37329
37330 2008-06-08  Bruno Haible  <bruno@clisp.org>
37331
37332         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
37333
37334 2008-06-08  Jim Meyering  <meyering@redhat.com>
37335
37336         * modules/acl (Maintainer): Add Bruno Haible.
37337
37338 2008-06-07  Bruno Haible  <bruno@clisp.org>
37339
37340         Improve support for Tru64 ACLs.
37341         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
37342         ACL on OSF/1.
37343
37344 2008-06-07  Bruno Haible  <bruno@clisp.org>
37345
37346         Add support for MacOS X ACLs.
37347         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
37348         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
37349         * lib/set-mode-acl.c (qset_acl): Likewise.
37350         * lib/copy-acl.c (qcopy_acl): Likewise.
37351
37352 2008-06-07  Bruno Haible  <bruno@clisp.org>
37353
37354         Fix memory leak introduced on 2008-05-22.
37355         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
37356         use.
37357
37358 2008-06-07  Bruno Haible  <bruno@clisp.org>
37359
37360         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
37361         to construct an empty ACL.
37362
37363 2008-06-07  Bruno Haible  <bruno@clisp.org>
37364
37365         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
37366         precisely.
37367         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
37368
37369 2008-06-07  Bruno Haible  <bruno@clisp.org>
37370
37371         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
37372         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
37373
37374 2008-06-07  Bruno Haible  <bruno@clisp.org>
37375
37376         * doc/posix-functions/_setjmp.texi: Explain the use of this function
37377         regardless of POSIX.
37378         * doc/posix-functions/_longjmp.texi: Likewise.
37379         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
37380         SystemV platform in this case.
37381
37382 2008-06-06  Eric Blake  <ebb9@byu.net>
37383
37384         Document abort() bugs.
37385         * doc/posix-functions/abort.texi (abort): Mention anomalies.
37386
37387         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
37388         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
37389         sigsetjmp.
37390         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
37391         siglongjmp, but only as a macro.
37392         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
37393         is obsolete.
37394         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
37395
37396         Tweak documentation to cover cygwin argz bugs.
37397         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
37398         argz bug fix; no code change needed since no cygwin releases
37399         occurred between the last fix and the bug being tested.
37400         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
37401         module and recently fixed cygwin bugs.
37402         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
37403         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
37404         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
37405         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
37406         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
37407         Likewise.
37408         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
37409         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
37410         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
37411         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
37412         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
37413         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
37414         Likewise.
37415
37416         Avoid gcc warning on cygwin.
37417         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
37418         !ACL_NO_TRIVIAL]: Avoid unused variable.
37419
37420 2008-06-05  Eric Blake  <ebb9@byu.net>
37421
37422         Be tolerant of UNKNOWN version in gnulib-tool test dir.
37423         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
37424         git-version-gen fails to come up with a version.
37425         Reported by Simon Josefsson.
37426
37427 2008-06-05  Jim Meyering  <meyering@redhat.com>
37428             Paul Eggert  <eggert@cs.ucla.edu>
37429
37430         utimens.c: work around a probable Linux kernel bug
37431         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
37432         appears to be a kernel bug that causes utimensat to return 280
37433         instead of 0, indicating success.
37434
37435 2008-06-04  Bruno Haible  <bruno@clisp.org>
37436
37437         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
37438         2008-06-01 commit.
37439
37440 2008-06-04  Bruno Haible  <bruno@clisp.org>
37441
37442         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
37443         * lib/file-has-acl.c (acl_access_nontrivial): New function.
37444         (file_has_acl): Use it. Save errno afterwards.
37445         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
37446
37447 2008-06-03  Bruno Haible  <bruno@clisp.org>
37448
37449         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
37450         draft code. Simplify #ifs.
37451         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
37452         Put Solaris code after POSIX-draft code. Fix comments regarding
37453         Solaris 10, HP-UX. Mention Cygwin.
37454         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
37455
37456 2008-06-03  Eric Blake  <ebb9@byu.net>
37457
37458         Provide fallback for older kernels.
37459         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
37460         Provide runtime fallback if kernel lacks support.
37461         Reported by Mike Frysinger.
37462
37463 2008-06-02  Bruno Haible  <bruno@clisp.org>
37464
37465         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
37466         it exists.
37467
37468 2008-06-02  Bruno Haible  <bruno@clisp.org>
37469
37470         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
37471         * lib/copy-acl.c (qcopy_acl): Update comment.
37472
37473 2008-06-02  Bruno Haible  <bruno@clisp.org>
37474
37475         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
37476         like ACL APIs.
37477
37478 2008-06-02  Bruno Haible  <bruno@clisp.org>
37479
37480         * tests/test-file-has-acl.sh: Use different code for Cygwin.
37481         * tests/test-set-mode-acl.sh: Likewise.
37482         * tests/test-copy-acl.sh: Likewise.
37483         * tests/test-copy-file.sh: Likewise.
37484
37485 2008-06-02  Bruno Haible  <bruno@clisp.org>
37486
37487         * tests/test-file-has-acl.sh: Remove unused code.
37488
37489 2008-06-01  Bruno Haible  <bruno@clisp.org>
37490
37491         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
37492         (copy_acl): Just a wrapper around qcopy_acl that emits the error
37493         messages.
37494         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
37495
37496 2008-06-01  Bruno Haible  <bruno@clisp.org>
37497
37498         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
37499         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
37500         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
37501         APIs.
37502         * modules/acl-tests (configure.ac): Remove tests now contained in
37503         m4/acl.m4.
37504
37505 2008-06-02  Jim Meyering  <meyering@redhat.com>
37506
37507         announce-gen: use a better key-server host name
37508         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
37509         it may be more consistently reliable.  Suggested by Werner Koch
37510         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
37511
37512 2008-06-01  Bruno Haible  <bruno@clisp.org>
37513
37514         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
37515         Reported by Voroskoi Andras <voroskoi@gmail.com>.
37516
37517 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
37518
37519         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
37520
37521 2008-06-01  Bruno Haible  <bruno@clisp.org>
37522
37523         New ACL tests.
37524         * tests/test-file-has-acl.sh: New file.
37525         * tests/test-file-has-acl.c: New file.
37526         * tests/test-set-mode-acl.sh: New file.
37527         * tests/test-set-mode-acl.c: New file.
37528         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
37529         * tests/test-copy-acl.c: New file.
37530         * modules/acl-tests: New file, based on modules/copy-file-tests.
37531         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
37532         (Depends-on): Add acl-tests.
37533         (configure.ac): Remove checks.
37534         (Makefile.am): Don't create test-sameacls program here any more.
37535
37536 2008-06-01  Bruno Haible  <bruno@clisp.org>
37537
37538         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
37539         * tests/test-sameacls.c: Include progname.h.
37540         (main): Invoke set_program_name. Portability fixes for MacOS X,
37541         Solaris, HP-UX.
37542
37543 2008-06-01  Bruno Haible  <bruno@clisp.org>
37544
37545         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
37546         function.
37547         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
37548
37549 2008-06-01  Bruno Haible  <bruno@clisp.org>
37550
37551         * modules/rpmatch (Depends-on): Add strdup.
37552
37553 2008-06-01  Bruno Haible  <bruno@clisp.org>
37554
37555         * lib/pipe.c: Include unistd-safer.h.
37556         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
37557         * modules/pipe (Depends-on): Add unistd-safer.
37558
37559 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37560
37561         * modules/autobuild (configure.ac): Call AB_INIT.
37562
37563 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37564
37565         * tests/test-getaddrinfo.c: Don't print debug messages by default.
37566         Suggested by Bruno Haible <bruno@clisp.org>.
37567
37568 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37569
37570         * tests/test-base64.c: Cast size_t to unsigned long when invoking
37571         printf.  Use %lu instead of %d.  Reported by Bruno Haible
37572         <bruno@clisp.org>.
37573
37574 2008-05-29  Eric Blake  <ebb9@byu.net>
37575
37576         Prefer new POSIX 200x interfaces over futimesat.
37577         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
37578         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
37579         when available.
37580         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
37581
37582 2008-05-28  Bruno Haible  <bruno@clisp.org>
37583
37584         * modules/stpcpy (License): Change to LGPLv2+.
37585         Requested by David Lutterkort <dlutter@redhat.com>.
37586
37587 2008-05-27  Bruno Haible  <bruno@clisp.org>
37588
37589         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
37590         current mingw.
37591         Reported by Jose E. Marchesi <jemarch@gnu.org>.
37592
37593 2008-05-27  Bruno Haible  <bruno@clisp.org>
37594
37595         * modules/iconv_open (Link): New section, from module 'iconv'.
37596         * modules/striconv (Link): Likewise.
37597         * modules/striconveh (Link): Likewise.
37598         * modules/xstriconv (Link): Likewise.
37599         * modules/unicodeio (Link): Likewise.
37600         * modules/propername (Link): Likewise.
37601         Reported by Jim Meyering.
37602
37603 2008-05-26  Jim Meyering  <meyering@redhat.com>
37604
37605         sha256: do not artificially restrict buffer length to be < 2^32
37606         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
37607         uint32_t to size_t.
37608         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
37609         to match.
37610
37611         avoid unaligned access errors, e.g., on sparc
37612         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
37613         direct access through a possibly-unaligned uint64* pointer.
37614         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
37615         direct access through a possibly-unaligned uint32* pointer.
37616         Prompted by this patch from Tom "spot" Callaway:
37617         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
37618
37619         sha512.c: fix typo in comment
37620         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
37621
37622 2008-05-25  Bruno Haible  <bruno@clisp.org>
37623
37624         * lib/set-mode-acl.c: Renamed from lib/acl.c.
37625         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
37626         (Makefile.am): Update lib_SOURCES.
37627
37628 2008-05-25  Bruno Haible  <bruno@clisp.org>
37629
37630         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
37631
37632 2008-05-25  Jim Meyering  <meyering@redhat.com>
37633
37634         useless-if-before-free: freed expr may have white-space differences
37635         * build-aux/useless-if-before-free: Recognize cases in which the
37636         freed expression differs from the tested one in embedded white
37637         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
37638         $1 was used, so we can't make any regexp shy.  Improved tests now
37639         detect this.
37640
37641         useless-if-before-free: accept white space in the expression.
37642         * build-aux/useless-if-before-free: For now, any white space
37643         in the expression must be identical in the free argument.
37644
37645         useless-if-before-free: efficiency tweak
37646         * build-aux/useless-if-before-free: Make the expression-matching
37647         regexp "shy".
37648         Make the *outer* regexp shy, not the expr-matching one.
37649
37650         update code-in-comment to accept cast of free arg
37651         * build-aux/useless-if-before-free: Update regexp.
37652
37653 2008-05-25  Bruno Haible  <bruno@clisp.org>
37654
37655         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
37656         * modules/copy-file-tests (Files, Makefile.am): Update.
37657         * tests/test-copy-file.c (func_test_copy): Update.
37658
37659 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
37660
37661         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
37662
37663 2008-05-23  Bruno Haible  <bruno@clisp.org>
37664
37665         Improve support for ACLs on OSF/1.
37666         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
37667         Remove fallback for unknown flavors of ACLs.
37668
37669 2008-05-22  Bruno Haible  <bruno@clisp.org>
37670
37671         Add support for ACLs on OSF/1.
37672         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
37673         replacements.
37674         (acl_free_text): New macro fallback.
37675         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
37676         acl_free.
37677         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
37678         acl_free_text function. Require AC_C_INLINE.
37679
37680 2008-05-22  Bruno Haible  <bruno@clisp.org>
37681
37682         Make copy_acl work on MacOS X 10.5.
37683         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
37684         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
37685         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37686         If MODE_INSIDE_ACL, don't assume that every system has the same text
37687         representation for ACLs as FreeBSD.
37688         * lib/copy-acl.c (copy_acl): Add support for platforms with
37689         !MODE_INSIDE_ACL.
37690         * lib/file-has-acl.c (file_has_acl): Likewise.
37691         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37692         FreeBSD, MacOS X, or IRIX, respectively.
37693
37694 2008-05-22  Bruno Haible  <bruno@clisp.org>
37695
37696         * lib/acl.h: Don't include <sys/acl.h>.
37697         (GETACLCNT): Move fallback to lib/acl-internal.h.
37698         * lib/acl-internal.h: Include <sys/acl.h> here.
37699         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37700
37701 2008-05-22  Bruno Haible  <bruno@clisp.org>
37702
37703         Split off copy_acl function to separate file.
37704         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37705         * lib/acl.c (copy_acl): Moved function to separate file.
37706         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37707         * modules/acl (Files): Add lib/copy-acl.c.
37708         (Makefiles.am): Augment lib_SOURCES.
37709
37710 2008-05-22  Bruno Haible  <bruno@clisp.org>
37711
37712         * modules/copy-file-tests: New file.
37713         * tests/test-copy-file.sh: New file.
37714         * tests/test-copy-file.c: New file.
37715         * tests/test-copy-file-sameacls.c: New file.
37716
37717 2008-05-22  Eric Blake  <ebb9@byu.net>
37718
37719         Avoid gcc warning.
37720         * tests/test-memcmp.c (main): Pass NULL indirectly.
37721
37722 2008-05-21  Bruno Haible  <bruno@clisp.org>
37723
37724         Add reference doc about ACLs.
37725         * doc/acl-resources.txt: New file.
37726         * doc/acl-cygwin.txt: New file.
37727
37728 2008-05-21  Bruno Haible  <bruno@clisp.org>
37729
37730         Avoid one more warning from gcc.
37731         * lib/vasnprintf.c (IF_LINT): Update comments.
37732         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37733
37734 2008-05-21  Jim Meyering  <meyering@redhat.com>
37735
37736         avoid a warning from gcc
37737         * lib/vasnprintf.c (IF_LINT): Define.
37738         (scale10_round_decimal_long_double):
37739         Use it to avoid a "may be used uninitialized" warning.
37740         (scale10_round_decimal_double): Likewise.
37741
37742 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37743
37744         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37745         declared.
37746
37747 2008-05-20  Bruno Haible  <bruno@clisp.org>
37748
37749         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37750         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37751
37752 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37753
37754         * modules/memcmp-tests: New file.
37755         * tests/test-memcmp.c: New file.
37756
37757 2008-05-19  Bruno Haible  <bruno@clisp.org>
37758
37759         * modules/propername (Notice, configure.ac): Put quoted "..." into
37760         --keyword option.
37761         * lib/propername.h: Update comments accordingly.
37762         Reported by Eric Blake.
37763
37764 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37765
37766         * modules/getpass-gnu (Depends-on): Add fseeko.
37767
37768 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37769
37770         * modules/base64-tests: New file.
37771
37772 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37773
37774         * lib/base64.c (base64_decode_ctx): If a decode context structure
37775         was passed in use it to ignore newlines.  If a context structure
37776         was _not_ passed in, continue to treat newlines as garbage (this
37777         is the historical behavior).  Formerly base64_decode.
37778         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37779         takes a decode context structure.
37780         * lib/base64.h (base64_decode): Macro for four-argument calls.
37781         (base64_decode_alloc): Likewise.
37782         * lib/base64.c (base64_decode_ctx): If a decode context structure
37783         was passed in use it to ignore newlines.  If a context structure
37784         was _not_ passed in, continue to treat newlines as garbage (this
37785         is the historical behavior).  Formerly base64_decode.
37786         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37787         takes a decode context structure.
37788         * lib/base64.h (base64_decode): Macro for four-argument calls.
37789         (base64_decode_alloc): Likewise.
37790
37791 2008-05-19  Jim Meyering  <meyering@redhat.com>
37792
37793         avoid a warning from gcc
37794         * lib/trim.c (IF_LINT): Define.
37795         (trim2): Use it to avoid a "may be used uninitialized" warning.
37796
37797         Fix doc typo.
37798         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37799
37800 2008-05-19  Bruno Haible  <bruno@clisp.org>
37801
37802         * doc/glibc-functions/getpass.texi: Document limits of other
37803         implementations.
37804
37805 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37806             Bruno Haible <bruno@clisp.org>
37807
37808         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37809
37810 2008-05-18  Bruno Haible  <bruno@clisp.org>
37811
37812         * modules/propername: New file, from GNU gettext.
37813         * lib/propername.h: New file, from GNU gettext.
37814         * lib/propername.c: New file, from GNU gettext.
37815         * MODULES.html.sh (Internationalization functions): Add propername.
37816
37817 2008-05-16  Jim Meyering  <meyering@redhat.com>
37818             Bruno Haible  <bruno@clisp.org>
37819
37820         Avoid some warnings from "gcc -Wshadow".
37821         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37822
37823 2008-05-15  Eric Blake  <ebb9@byu.net>
37824
37825         Extend previous patch to cygwin 1.7.0.
37826         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37827         fast implementation in cygwin >= 1.7.0.
37828         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37829         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37830
37831 2008-05-15  Bruno Haible  <bruno@clisp.org>
37832
37833         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37834         implementation in glibc >= 2.9.
37835         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37836         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37837
37838 2008-05-15  Bruno Haible  <bruno@clisp.org>
37839
37840         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37841         (Unicode string functions): Add unilbrk/*.
37842         Reported by Karl Berry.
37843
37844 2008-05-15  Eric Blake  <ebb9@byu.net>
37845
37846         Fix violation of <stdbool.h> replacement in regex.
37847         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37848         * lib/regexec.c (re_search_internal): Likewise.
37849         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37850
37851 2008-05-15  Jim Meyering  <meyering@redhat.com>
37852
37853         avoid distracting test output when git or cvs is not found
37854         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37855         * tests/test-vc-list-files-git.sh: Likewise.
37856
37857 2008-05-15  Eric Blake  <ebb9@byu.net>
37858
37859         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37860         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37861         glibc version.
37862         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37863         * doc/posix-functions/strstr.texi (strstr): Likewise.
37864         * lib/str-two-way.h (MAX): Sychronize with glibc.
37865
37866 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37867
37868         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37869         opr.ctx_type.
37870         (calc_first): Initialize constraint field.
37871         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37872         Fix grammar.
37873         (duplicate_node): Merge constraint field for all node types.
37874         (calc_eclosure_iter): Look at constraint field for all node types.
37875         * lib/regex_internal.c (create_cd_newstate): Don't look at
37876         opr.ctx_type.
37877
37878 2008-05-14  Bruno Haible  <bruno@clisp.org>
37879
37880         Help GCC to do better code generation.
37881         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37882         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37883         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37884         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37885         Declare with attribute 'malloc' if supported.
37886
37887 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37888
37889         use "echo STR|wc -c" rather than unportable "expr length STR"
37890         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37891         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37892
37893 2008-05-14  Jim Meyering  <meyering@redhat.com>
37894
37895         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37896         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37897         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37898         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37899         via Collin Lasse.
37900
37901 2008-05-14  Eric Blake  <ebb9@byu.net>
37902
37903         Avoid quadratic growth in gl_LIBSOURCES.
37904         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37905         Suggested by Bruno Haible.
37906
37907         Test xmemdup0.
37908         * modules/xmemdup0-tests: New file.
37909         * tests/test-xmemdup0.c: Likewise.
37910
37911 2008-05-13  Eric Blake  <ebb9@byu.net>
37912
37913         Split xmemdup0 into its own module.
37914         * modules/xmemdup0: New file.
37915         * lib/xmemdup0.h: Likewise.
37916         * lib/xmemdup0.c: Likewise.
37917         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37918         * lib/xalloc.h (xmemdup0): Remove.
37919         * lib/xmalloc.c (xmemdup0): Likewise.
37920
37921 2008-05-13  Eric Blake  <ebb9@byu.net>
37922             Bruno Haible  <bruno@clisp.org>
37923
37924         Reduce number of forks required during autoconf.
37925         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
37926         and gl_LIBSOURCES_DIR.
37927         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
37928         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
37929         m4_syscmd per file.
37930         <m4_foreach_w>: Move...
37931         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
37932
37933 2008-05-13  Eric Blake  <ebb9@byu.net>
37934
37935         * gnulib-tool: Fix various comment typos.
37936
37937 2008-05-12  Bruno Haible  <bruno@clisp.org>
37938
37939         Tailor the linebreaking algorithm.
37940         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
37941
37942 2008-05-12  Bruno Haible  <bruno@clisp.org>
37943
37944         Update to Unicode 5.0.0.
37945         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37946         LBP_JV, LBP_JT. Redistribute values.
37947         (unilbrk_table): Change size.
37948         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
37949         Unicode TR#14 rev. 22.
37950         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37951         LBP_JV, LBP_JT. Redistribute values.
37952         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
37953         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
37954         Update.
37955         * lib/unilbrk/lbrkprop1.h: Regenerated.
37956         * lib/unilbrk/lbrkprop2.h: Regenerated.
37957         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
37958         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
37959         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
37960         Likewise.
37961         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
37962         Likewise.
37963         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
37964         result.
37965         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
37966         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
37967         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
37968         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
37969         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
37970         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
37971
37972 2008-05-11  Bruno Haible  <bruno@clisp.org>
37973
37974         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
37975
37976 2008-05-11  Bruno Haible  <bruno@clisp.org>
37977
37978         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
37979         * modules/unilbrk/gen-lbrk: New file.
37980
37981 2008-05-11  Bruno Haible  <bruno@clisp.org>
37982
37983         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
37984         * m4/sha512.m4 (gl_SHA512): Likewise.
37985
37986 2008-05-11  Jim Meyering  <meyering@redhat.com>
37987
37988         New modules: crypto/sha256, crypto/sha512 (from coreutils)
37989         * modules/crypto/sha256: New file.
37990         * modules/crypto/sha512: Likewise.
37991         * lib/sha256.c: Likewise.
37992         * lib/sha256.h: Likewise.
37993         * lib/sha512.c: Likewise.
37994         * lib/sha512.h: Likewise.
37995         * lib/u64.h: Likewise.
37996         * m4/sha256.m4: Likewise.
37997         * m4/sha512.m4: Likewise.
37998         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
37999
38000 2008-05-10  Bruno Haible  <bruno@clisp.org>
38001
38002         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
38003         (Input/Output <stdio.h>): Add xprintf.
38004         (Signal handling <signal.h>): Add strsignal.
38005         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
38006         (Core language properties): Add func.
38007         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
38008         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
38009         strings.
38010         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
38011         (Input/output): New section.
38012         (File system functions): Add openat-die, stat-macros.
38013         (Networking functions): Add sockets.
38014         (Unicode string functions): Add unictype/*.
38015         (Support for building libraries and executables): Add gperf.
38016         (Support for building documentation): Add agpl-3.0.
38017         (Misc): Add nocrash.
38018
38019 2008-05-10  Bruno Haible  <bruno@clisp.org>
38020
38021         * modules/unictype/gen-ctype: New file.
38022
38023 2008-05-10  Jim Meyering  <meyering@redhat.com>
38024
38025         Make chdir-safer.c more efficient on a system with no symlinks.
38026         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
38027         also if ELOOP is zero.  Suggested by Bruno Haible.
38028
38029         Make chdir-safer.c slightly safer.
38030         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
38031         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
38032
38033         Avoid compile failure on systems without ELOOP (like mingw).
38034         * lib/chdir-safer.c (ELOOP): Define if not already defined.
38035         Reported by Bruno Haible.
38036
38037 2008-05-10  Bruno Haible  <bruno@clisp.org>
38038
38039         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
38040         (is_utf8_encoding): Use a case-insensitive comparison.
38041         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
38042         streq.
38043
38044 2008-05-10  Bruno Haible  <bruno@clisp.org>
38045
38046         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
38047         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
38048         * lib/unilbrk/ulc-common.h (iconv_string_length,
38049         iconv_string_keeping_offsets): Remove declarations.
38050         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
38051         Don't include <iconv.h>, streq.h, xsize.h.
38052         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
38053         conversion.
38054         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
38055         <iconv.h>, streq.h, xsize.h.
38056         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
38057         conversion.
38058         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
38059         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
38060         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
38061         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
38062
38063 2008-05-10  Bruno Haible  <bruno@clisp.org>
38064
38065         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
38066         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
38067
38068         * modules/unilbrk/u32-width-linebreaks-tests: New file.
38069         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
38070
38071         * modules/unilbrk/u16-width-linebreaks-tests: New file.
38072         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
38073
38074         * modules/unilbrk/u8-width-linebreaks-tests: New file.
38075         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
38076
38077         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
38078         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
38079
38080         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
38081         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
38082
38083         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
38084         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
38085
38086         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
38087         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
38088
38089 2008-05-10  Bruno Haible  <bruno@clisp.org>
38090
38091         Split up 'linebreak' module.
38092         * lib/unilbrk.h: New file, based on lib/linebreak.h.
38093         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
38094         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
38095         modifications.
38096         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
38097         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
38098         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
38099         lib/linebreak.c.
38100         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
38101         lib/linebreak.c.
38102         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
38103         lib/linebreak.c.
38104         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
38105         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
38106         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
38107         lib/linebreak.c.
38108         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
38109         lib/linebreak.c.
38110         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
38111         lib/linebreak.c.
38112         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
38113         lib/linebreak.c.
38114         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
38115         lib/linebreak.c.
38116         * modules/unilbrk/base: New file.
38117         * modules/unilbrk/tables: New file.
38118         * modules/unilbrk/u8-possible-linebreaks: New file.
38119         * modules/unilbrk/u16-possible-linebreaks: New file.
38120         * modules/unilbrk/u32-possible-linebreaks: New file.
38121         * modules/unilbrk/ulc-common: New file.
38122         * modules/unilbrk/ulc-possible-linebreaks: New file.
38123         * modules/unilbrk/u8-width-linebreaks: New file.
38124         * modules/unilbrk/u16-width-linebreaks: New file.
38125         * modules/unilbrk/u32-width-linebreaks: New file.
38126         * modules/unilbrk/ulc-width-linebreaks: New file.
38127         * lib/linebreak.h: Remove file.
38128         * lib/linebreak.c: Remove file.
38129         * m4/linebreak.m4: Remove file.
38130         * modules/linebreak: Remove file.
38131         * NEWS: Mention the changes.
38132
38133 2008-05-09  Eric Blake  <ebb9@byu.net>
38134
38135         Add xmemdup0.
38136         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
38137         implementation.
38138         * lib/xmalloc.c (xmemdup0): New C implementation.
38139
38140 2008-05-08  Bruno Haible  <bruno@clisp.org>
38141
38142         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
38143
38144 2008-05-07  Eric Blake  <ebb9@byu.net>
38145
38146         Support cross-compilation of <wctype.h>.
38147         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
38148         AC_CACHE_CHECK.
38149
38150 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
38151
38152         * build-aux/vc-list-files: Add support for bzr.
38153
38154 2008-05-03  Jim Meyering  <meyering@redhat.com>
38155
38156         avoid failed assertion with tight malloc
38157         * tests/test-getndelim2.c: Correct an off-by-one assertion.
38158
38159 2008-05-03  Simon Josefsson  <simon@josefsson.org>
38160
38161         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
38162         are needed from arpa/inet.h.
38163         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
38164         Reported by Bruno Haible.
38165
38166 2008-05-02  Jim Meyering  <meyering@redhat.com>
38167
38168         avoid compilation error on FreeBSD 6
38169         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
38170
38171 2008-05-01  Jim Meyering  <meyering@redhat.com>
38172
38173         useless-if-before-free: correct --help's exit status description
38174         * build-aux/useless-if-before-free (usage): Like grep, exit 0
38175         for one or more matches, etc.  Reported by Bruno Haible.
38176
38177         vc-list-files: make the stand-alone gnulib test work
38178         * modules/vc-list-files-tests (configure.ac):
38179         Define and AC_SUBST abs_aux_dir.
38180         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
38181         $(abs_top_srcdir) to each script and having each of them
38182         duplicate the work of setting PATH, set PATH here, using
38183         the new variable, abs_aux_dir instead.
38184         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
38185         * tests/test-vc-list-files-git.sh: Likewise.
38186         Reported by Bruno Haible.
38187
38188 2008-05-01  Bruno Haible  <bruno@clisp.org>
38189
38190         * lib/getndelim2.c (getndelim2): Fix newsize computation during
38191         reallocation. Rename 'done' to 'found_delimiter'.
38192
38193 2008-05-01  Jim Meyering  <meyering@redhat.com>
38194
38195         vc-list-files: accommodate /bin/sh like the one from Solaris 10
38196         * build-aux/vc-list-files: Use `...`, not $(...).
38197
38198 2008-04-30  Jim Meyering  <meyering@redhat.com>
38199
38200         add tests for vc-list-files
38201         * modules/vc-list-files-tests: New module.
38202         * tests/test-vc-list-files-cvs.sh: New file.
38203         * tests/test-vc-list-files-git.sh: New file.
38204
38205         avoid a warning from gcc
38206         * lib/getndelim2.c (IF_LINT): Define.
38207         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
38208
38209         vc-list-files: work properly with build-aux/cvsu, too
38210         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
38211         to all cvs-based clauses.
38212
38213         vc-list-files: work properly in the CVS+awk case, too
38214         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
38215
38216         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
38217         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
38218         take more than one file argument, so .  Add quotes, just in case $dir
38219         ever contains a shell meta-character.  Prompted by Soren Hansen in
38220         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
38221
38222 2008-04-29  Eric Blake  <ebb9@byu.net>
38223
38224         Optimize getndelim2 to use block operations when possible.
38225         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
38226         freadseek, and memchr2.
38227         * lib/getndelim2.c (getndelim2): Use them for block reads.
38228
38229 2008-04-29  Bruno Haible  <bruno@clisp.org>
38230
38231         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
38232         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38233         * modules/inet_ntop (Depends-on): Add extensions.
38234         * modules/inet_pton (Depends-on): Likewise.
38235         Reported by Simon Josefsson.
38236
38237 2008-04-29  Jim Meyering  <meyering@redhat.com>
38238
38239         When the is more than one match in a block, match all of them.
38240         * build-aux/useless-if-before-free: Iterate through each block
38241         until there are no more matches.
38242
38243         Fix broken useless-if-before-free script.
38244         * build-aux/useless-if-before-free: Fix typo: missing "?" after
38245         the expression to match cast of argument to free-like function.
38246
38247 2008-04-29  Eric Blake  <ebb9@byu.net>
38248
38249         Use new header.
38250         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
38251
38252 2008-04-29  Jim Meyering  <meyering@redhat.com>
38253
38254         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
38255         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
38256         by gnulib to exist and to declare e.g., inet_ntop.
38257         Don't include "inet_ntop.h", now removed.
38258
38259         * m4/arpa_inet_h.m4: Remove trailing blanks.
38260
38261 2008-04-29  Eric Blake  <ebb9@byu.net>
38262
38263         Silence valgrind on safe reads beyond potential array bounds.
38264         * lib/rawmemchr.valgrind: New file.
38265         * lib/strchrnul.valgrind: Likewise.
38266         * modules/rawmemchr (Files): Distribute new file.
38267         * modules/strchrnul (Files): Likewise.
38268         Suggested by Bruno Haible.
38269
38270 2008-04-29  Bruno Haible  <bruno@clisp.org>
38271
38272         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
38273         (inet_ntop, inet_pton): Change portability warning's wording.
38274         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
38275         Invoke gl_CHECK_NEXT_HEADERS.
38276         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
38277         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
38278         set ARPA_INET_H.
38279         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38280         * modules/arpa_inet (Description): No longer only for systems that
38281         lack it.
38282         (Depends-on): Add include_next.
38283         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
38284         HAVE_ARPA_INET_H.
38285
38286 2008-04-29  Jim Meyering  <meyering@redhat.com>
38287
38288         * modules/mkdir (License): Re-license as LGPLv2+.
38289
38290 2008-04-29  Bruno Haible  <bruno@clisp.org>
38291
38292         * modules/rawmemchr (Maintainer): Set to Eric.
38293         * modules/strchrnul (Maintainer): Likewise.
38294
38295 2008-04-29  Simon Josefsson  <simon@josefsson.org>
38296
38297         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
38298         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
38299
38300         * modules/arpa_inet (arpa/inet.h): Use them.
38301
38302 2008-04-28  Eric Blake  <ebb9@byu.net>
38303
38304         Test getndelim2.
38305         * modules/getndelim2-tests: New file.
38306         * tests/test-getndelim2.c: Likewise.
38307         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
38308         stream.
38309         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
38310
38311         * MODULES.html.sh: Document new module.
38312
38313 2008-04-20  Bruno Haible  <bruno@clisp.org>
38314
38315         * lib/c-stack.c (die): Use raise.
38316         * modules/c-stack (Depends-on): Add raise.
38317
38318 2008-04-28  Bruno Haible  <bruno@clisp.org>
38319
38320         Expect rpmatch to be declared.
38321         * lib/yesno.c (rpmatch): Remove declaration.
38322
38323         Declare rpmatch.
38324         * lib/stdlib.in.h (rpmatch): New declaration.
38325         * lib/rpmatch.c: Include <stdlib.h> first.
38326         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
38327         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
38328         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
38329         HAVE_RPMATCH.
38330         * modules/rpmatch (Depends-on): Add stdlib, extensions.
38331         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38332         (Include): Set to <stdlib.h>.
38333         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
38334         HAVE_RPMATCH.
38335         * NEWS: Document the change.
38336
38337 2008-04-28  Bruno Haible  <bruno@clisp.org>
38338
38339         Change rpmatch to use nl_langinfo when appropriate.
38340         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
38341         (N_): New macro.
38342         (localized_pattern): New function/macro.
38343         (try): Remove match, nomatch arguments. Copy the pattern into safe
38344         memory before caching it.
38345         (rpmatch): Use localized_pattern. Add translator comments.
38346         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
38347         Suggested by Eric Blake.
38348         * modules/rpmatch (Depends-on): Add stdbool.
38349
38350 2008-04-28  Eric Blake  <ebb9@byu.net>
38351
38352         Add rawmemchr module, matching glibc.
38353         * modules/string (Makefile.am): New indicator.
38354         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
38355         * lib/string.in.h (rawmemchr): Declare when appropriate.
38356         * modules/rawmemchr: New file.
38357         * m4/rawmemchr.m4: Likewise.
38358         * lib/rawmemchr.c: Likewise.
38359         * modules/rawmemchr-tests: Likewise.
38360         * tests/test-rawmemchr.c: Likewise.
38361         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
38362         module.
38363         * modules/strchrnul (Depends-on): Add rawmemchr.
38364         * lib/strchrnul.c (strchrnul): Optimize a corner case.
38365
38366         Whitespace cleanup.
38367         * tests/test-strchrnul.c: Reindent.
38368         * lib/strchrnul.c: Likewise.
38369
38370         Optimize and test strchrnul.
38371         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
38372         * modules/strchrnul-tests: New file.
38373         * tests/test-strchrnul.c: Likewise.
38374
38375         Remove intprops dependency.
38376         * modules/memchr (Depends-on): Remove intprops.
38377         * modules/memrchr (Depends-on): Likewise.
38378         * modules/memchr2 (Depends-on): Likewise.
38379         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
38380         * lib/memrchr.c (__memrchr): Likewise.
38381         * lib/memrchr2.c (memchr2): Likewise.
38382         Reported by Simon Josefsson.
38383
38384 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38385
38386         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
38387         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38388
38389 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38390
38391         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
38392
38393         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
38394
38395         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
38396
38397         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
38398         declarations.
38399         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
38400
38401         * m4/inet_pton.m4: Don't check for header files.
38402
38403         * m4/inet_ntop.m4: Don't check for header files.
38404
38405 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38406
38407         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
38408         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
38409         trigger for cygwin).
38410         Reported by Bruno Haible  <bruno@clisp.org>.
38411
38412 2008-04-28  Bruno Haible  <bruno@clisp.org>
38413
38414         * doc/posix-functions/strdup.texi: Mention mingw problem.
38415
38416 2008-04-27  Bruno Haible  <bruno@clisp.org>
38417
38418         * modules/stat-time-tests (Depends-on): Add sleep.
38419         * tests/test-stat-time.c (force_unlink): New function.
38420         (cleanup): Use it.
38421         (test_mtime): Remove the ctime related tests.
38422         (test_ctime): New function, containing the ctime related tests.
38423         (main): Call test_ctime, except on native Windows platforms.
38424
38425 2008-04-27  Bruno Haible  <bruno@clisp.org>
38426
38427         * lib/rpmatch.c (rpmatch): Add some comments.
38428         Reported by James Youngman <jay@gnu.org>.
38429
38430 2008-04-27  Bruno Haible  <bruno@clisp.org>
38431
38432         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
38433         quiet NaNs.
38434
38435 2008-04-27  Bruno Haible  <bruno@clisp.org>
38436
38437         Make test-yesno.sh work on mingw.
38438         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
38439         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
38440         (main): Set stdin to binary mode.
38441         * modules/yesno-tests (Depends-on): Add binary-io.
38442
38443 2008-04-27  Bruno Haible  <bruno@clisp.org>
38444
38445         Fix 'isfinite' on x86, x86_64, ia64 platforms.
38446         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
38447         argument that lie outside the IEEE 854 domain.
38448         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
38449         (gl_ISFINITE): Use it.
38450         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
38451
38452 2008-04-27  Bruno Haible  <bruno@clisp.org>
38453
38454         Allow local renaming in config.h.
38455         * lib/memrchr.c (memrchr): Don't undefine outside libc.
38456
38457 2008-04-27  Bruno Haible  <bruno@clisp.org>
38458
38459         * lib/memchr.c (__memchr): Change type of 'i'.
38460         * lib/memchr2.c (memchr2): Likewise.
38461
38462 2008-04-26  Eric Blake  <ebb9@byu.net>
38463         and Bruno Haible  <bruno@clisp.org>
38464
38465         Optimize and test memrchr.
38466         * modules/memrchr (Depends-on): Add intprops.
38467         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
38468         * modules/memrchr-tests: New file.
38469         * tests/test-memrchr.c: New file.
38470
38471 2008-04-26  Bruno Haible  <bruno@clisp.org>
38472
38473         Add tentative support for DragonFly BSD.
38474         * lib/stdio-impl.h: Add macros for DragonFly BSD.
38475         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
38476         fp.
38477         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38478         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
38479         * lib/fpurge.c (fpurge): Likewise.
38480         * lib/freadable.c (freaadable): Likewise.
38481         * lib/freadahead.c (freadahead): Likewise.
38482         * lib/freading.c (freading): Likewise.
38483         * lib/freadptr.c (freadptr): Likewise.
38484         * lib/freadseek.c (freadptrinc): Likewise.
38485         * lib/fseeko.c (fseeko): Likewise.
38486         * lib/fseterr.c (fseterr): Likewise.
38487         * lib/fwritable.c (fwritable): Likewise.
38488         * lib/fwriting.c (fwriting): Likewise.
38489
38490 2008-04-26  Bruno Haible  <bruno@clisp.org>
38491
38492         * lib/stdio-impl.h: New file.
38493         * lib/fbufmode.c: Include stdio-impl.h.
38494         (fbufmode): Use fp_, remove redundant #defines.
38495         * lib/fflush.c: Include stdio-impl.h.
38496         (clear_ungetc_buffer): Remove redundant #defines.
38497         * lib/fpurge.c: Include stdio-impl.h.
38498         (fpurge): Remove redundant #defines.
38499         * lib/freadable.c: Include stdio-impl.h.
38500         (freadable): Remove redundant #defines.
38501         * lib/freadahead.c: Include stdio-impl.h.
38502         (freadahead): Remove redundant #defines.
38503         * lib/freading.c: Include stdio-impl.h.
38504         (freading): Remove redundant #defines.
38505         * lib/freadptr.c: Include stdio-impl.h.
38506         (freadptr): Remove redundant #defines.
38507         * lib/freadseek.c: Include stdio-impl.h.
38508         (freadptrinc): Remove redundant #defines.
38509         * lib/fseeko.c: Include stdio-impl.h.
38510         (rpl_fseeko): Remove redundant #defines.
38511         * lib/fseterr.c: Include stdio-impl.h.
38512         (fseterr): Remove redundant #defines.
38513         * lib/fwritable.c: Include stdio-impl.h.
38514         (fwritable: Remove redundant #defines.
38515         * lib/fwriting.c: Include stdio-impl.h.
38516         (fwriting): Remove redundant #defines.
38517         * modules/fbufmode (Files): Add lib/stdio-impl.h.
38518         * modules/fflush (Files): Likewise.
38519         * modules/fpurge (Files): Likewise.
38520         * modules/freadable (Files): Likewise.
38521         * modules/freadahead (Files): Likewise.
38522         * modules/freading (Files): Likewise.
38523         * modules/freadptr (Files): Likewise.
38524         * modules/freadseek (Files): Likewise.
38525         * modules/fseeko (Files): Likewise.
38526         * modules/fseterr (Files): Likewise.
38527         * modules/fwritable (Files): Likewise.
38528         * modules/fwriting (Files): Likewise.
38529
38530 2008-04-26  Bruno Haible  <bruno@clisp.org>
38531
38532         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38533         restore_seek_optimization, update_fpos_cache): New functions, extracted
38534         from rpl_fflush.
38535         (rpl_fflush): Use them.
38536         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
38537         (gl_REPLACE_FFLUSH): Use it.
38538
38539 2008-04-26  Bruno Haible  <bruno@clisp.org>
38540
38541         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
38542         on Solaris.
38543         * tests/test-xstrtoimax.sh: Likewise.
38544         * tests/test-xstrtoumax.sh: Likewise.
38545         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38546
38547 2008-04-26  Bruno Haible  <bruno@clisp.org>
38548
38549         * modules/memchr-tests: New file.
38550         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
38551
38552 2008-04-26  Eric Blake  <ebb9@byu.net>
38553             Bruno Haible  <bruno@clisp.org>
38554
38555         * lib/memchr.c: Include intprops.h.
38556         (__memchr): Optimize parallel detection of matching bytes. Rename local
38557         variables. Add explanatory comments.
38558
38559 2008-04-26  Bruno Haible  <bruno@clisp.org>
38560
38561         Fix module 'memchr', broken since 2000-10-28.
38562         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
38563
38564 2008-04-26  Bruno Haible  <bruno@clisp.org>
38565
38566         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
38567         comments.
38568
38569 2008-04-25  Eric Blake  <ebb9@byu.net>
38570
38571         Use native fstatat on cygwin 1.7.0.
38572         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
38573         first.
38574
38575 2008-04-23  Eric Blake  <ebb9@byu.net>
38576
38577         Improve memchr2 performance.
38578         * lib/memchr2.c (memchr2): Further optimize parallel detection of
38579         NUL bytes.
38580         * modules/memchr2 (Depends-on): Use intprops.h.
38581
38582 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38583
38584         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
38585         an inline function instead of a CPP macro.  Patch by Ben Pfaff
38586         <blp@cs.stanford.edu>.
38587
38588 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38589
38590         * lib/arpa_inet.in.h: New file.
38591
38592         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
38593         (Makefile.am): Sed in substitute header file.
38594
38595         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
38596         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
38597
38598         * modules/inet_ntop (configure.ac): Use
38599         gl_ARPA_INET_MODULE_INDICATOR.
38600
38601         * modules/inet_pton (configure.ac): Use
38602         gl_ARPA_INET_MODULE_INDICATOR.
38603
38604 2008-04-22  Jim Meyering  <meyering@redhat.com>
38605
38606         * modules/verify (License): Re-license as LGPLv2+.
38607
38608 2008-04-22  Simon Josefsson  <simon@josefsson.org>
38609
38610         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
38611         parameter to void* as per POSIX standard (MinGW uses char*).
38612
38613 2008-04-21  Bruno Haible  <bruno@clisp.org>
38614
38615         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
38616         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
38617         Define to replacements if REPLACE_ISWCNTRL is 1.
38618         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
38619         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
38620         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
38621         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
38622         what it fixes.
38623         * doc/posix-functions/iswalpha.texi: Likewise.
38624         * doc/posix-functions/iswblank.texi: Likewise.
38625         * doc/posix-functions/iswcntrl.texi: Likewise.
38626         * doc/posix-functions/iswdigit.texi: Likewise.
38627         * doc/posix-functions/iswgraph.texi: Likewise.
38628         * doc/posix-functions/iswlower.texi: Likewise.
38629         * doc/posix-functions/iswprint.texi: Likewise.
38630         * doc/posix-functions/iswpunct.texi: Likewise.
38631         * doc/posix-functions/iswspace.texi: Likewise.
38632         * doc/posix-functions/iswupper.texi: Likewise.
38633         * doc/posix-functions/iswxdigit.texi: Likewise.
38634         Reported by Alain Guibert.
38635
38636 2008-04-21  Bruno Haible  <bruno@clisp.org>
38637
38638         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
38639         Patch by Alain Guibert.
38640
38641 2008-04-21  Bruno Haible  <bruno@clisp.org>
38642
38643         Fix test failures on mingw.
38644         * tests/test-xstrtol.c (print_no_progname): New function.
38645         (main): Install it in error_print_progname hook.
38646         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
38647         * tests/test-xstrtoimax.sh: Likewise.
38648         * tests/test-xstrtoumax.sh: Likewise.
38649
38650 2008-04-21  Bruno Haible  <bruno@clisp.org>
38651
38652         Fix test failure on mingw.
38653         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
38654
38655 2008-04-21  Bruno Haible  <bruno@clisp.org>
38656
38657         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
38658         Actually assign a value.
38659
38660 2008-04-20  Bruno Haible  <bruno@clisp.org>
38661
38662         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
38663         take 2.
38664         * lib/canonicalize.c (canonicalize_file_name): Elide if the
38665         'canonicalize-lgpl' module is also used.
38666         * lib/canonicalize-lgpl.c: Undo last change.
38667         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
38668
38669 2008-04-20  Bruno Haible  <bruno@clisp.org>
38670
38671         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
38672         config.h. Provide _mkdir based fallback for mingw.
38673         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
38674         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
38675         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
38676         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
38677         rather than defining mkdir in config.h.
38678         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
38679         (gl_SYS_STAT_H_DEFAULTS): New macro.
38680         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
38681         HAVE_IO_H any more.
38682         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
38683         HAVE_DECL_MKDIR and HAVE_IO_H.
38684
38685 2008-04-20  Bruno Haible  <bruno@clisp.org>
38686
38687         * lib/isapipe.c: Port to native Windows platforms.
38688
38689 2008-04-20  Bruno Haible  <bruno@clisp.org>
38690
38691         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38692
38693 2008-04-21  Eric Blake  <ebb9@byu.net>
38694
38695         Work around preprocessors that don't handle UINTMAX_MAX.
38696         * lib/memchr2.c (memchr2): Avoid embedded #if.
38697         Reported by Alain Guibert, fix suggested by Bruno Haible.
38698
38699 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38700
38701         * doc/posix-functions/strftime.texi (strftime): Explain better
38702         Windows incompatibility.  Suggested by Micah Cowan
38703         <micah@cowan.name>.
38704
38705 2008-04-20  Bruno Haible  <bruno@clisp.org>
38706
38707         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38708         unistr/u8-mblen.
38709
38710 2008-04-20  Bruno Haible  <bruno@clisp.org>
38711
38712         Fix test failure on platforms with non-GNU iconv.
38713         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38714         (U_TO_U8): Use it, rather than u16_to_u8.
38715         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38716         units at the end of the input string.
38717         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38718
38719 2008-04-20  Bruno Haible  <bruno@clisp.org>
38720
38721         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38722         when the resulting length is 0.
38723         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38724
38725 2008-04-20  Bruno Haible  <bruno@clisp.org>
38726
38727         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38728         works.
38729         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38730
38731 2008-04-20  Bruno Haible  <bruno@clisp.org>
38732
38733         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38734         * modules/tsearch-tests (configure.ac): Test for initstate function.
38735
38736 2008-04-20  Bruno Haible  <bruno@clisp.org>
38737
38738         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38739         for nlink_t if missing.
38740         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38741
38742 2008-04-19  Bruno Haible  <bruno@clisp.org>
38743
38744         Work around snprintf bug on Linux libc5.
38745         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38746         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38747         gl_SNPRINTF_SIZE1.
38748         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38749         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38750         that test failed.
38751         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38752         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38753         * modules/snprintf (Files): Add m4/printf.m4.
38754         * modules/vsnprintf (Files): Likewise.
38755         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38756         * doc/posix-functions/vsnprintf.texi: Likewise.
38757
38758 2008-04-19  Bruno Haible  <bruno@clisp.org>
38759
38760         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38761         from 0.0058 to less than 10^-7.
38762
38763 2008-04-19  Bruno Haible  <bruno@clisp.org>
38764
38765         Fix rounding when a precision is given.
38766         * lib/vasnprintf.c (is_borderline): New function.
38767         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38768         9...9x.
38769         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38770         %e, %g.
38771         * tests/test-vasprintf-posix.c (test_function): Likewise.
38772         * tests/test-snprintf-posix.h (test_function): Likewise.
38773         * tests/test-sprintf-posix.h (test_function): Likewise.
38774         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38775         * tests/test-printf-posix.h (test_function): Likewise.
38776         * tests/test-printf-posix.output: Update.
38777         Reported by John Darrington <john@darrington.wattle.id.au> via
38778         Ben Pfaff <blp@cs.stanford.edu>.
38779
38780 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38781
38782         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38783         Suggested by Bruno Haible <bruno@clisp.org>.
38784
38785 2008-04-17  Bruno Haible  <bruno@clisp.org>
38786
38787         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38788         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38789         implementation.
38790         Patch by Bruce Merry <bmerry@gmail.com>.
38791
38792 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38793
38794         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38795         doesn't work under Windows.
38796
38797 2008-04-16  Bruno Haible  <bruno@clisp.org>
38798
38799         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38800         New macros.
38801         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38802         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38803         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38804         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38805         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38806         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38807         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38808         macros.
38809         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38810         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38811         Northern Sotho, Uighur.
38812
38813 2008-04-16  Bruno Haible  <bruno@clisp.org>
38814
38815         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38816         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38817         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38818         Reported by Daniel Bergström <daniel@octocode.com>.
38819
38820 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38821             Bruno Haible  <bruno@clisp.org>
38822
38823         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38824         function.
38825         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38826         New functions, mostly extracted from gl_locale_name_default.
38827         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38828
38829 2008-04-16  Eric Blake  <ebb9@byu.net>
38830
38831         Adjust strtod detection to catch glibc 2.7 bug.
38832         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38833         Reported by John Gatewood Ham.
38834
38835 2008-04-16  Bruno Haible  <bruno@clisp.org>
38836
38837         Add tentative support for Linux libc5.
38838         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38839         * lib/fpurge.c (fpurge): Likewise.
38840         * lib/freadable.c (freadable): Likewise.
38841         * lib/freadahead.c (freadahead): Likewise.
38842         * lib/freading.c (freading): Likewise.
38843         * lib/freadptr.c (freadptr): Likewise.
38844         * lib/freadseek.c (freadptrinc): Likewise.
38845         * lib/fseeko.c (rpl_fseeko): Likewise.
38846         * lib/fseterr.c (fseterr): Likewise.
38847         * lib/fwritable.c (fwritable): Likewise.
38848         * lib/fwriting.c (fwriting): Likewise.
38849         Reported by Alain Guibert <alguibert+bts@free.fr>.
38850
38851 2008-04-15  Bruno Haible  <bruno@clisp.org>
38852
38853         * modules/mathl (configure.ac): Define module indicator.
38854
38855 2008-04-15  Bruno Haible  <bruno@clisp.org>
38856
38857         * lib/logl.c (logl): Remove unused variables.
38858
38859 2008-04-15  Bruno Haible  <bruno@clisp.org>
38860
38861         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38862         fails.
38863
38864 2008-04-15  Bruno Haible  <bruno@clisp.org>
38865
38866         * lib/trim.c (trim2): Fix argument of isspace() macro.
38867
38868 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38869
38870         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38871         to 0.
38872         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38873
38874 2008-04-14  Bruno Haible  <bruno@clisp.org>
38875
38876         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38877         AC_LANG_PROGRAM argument.
38878         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38879         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38880         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38881         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38882         * m4/math_h.m4 (gl_MATH_H): Likewise.
38883         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38884         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38885         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38886         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38887         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38888         * m4/regex.m4 (gl_REGEX): Likewise.
38889         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38890         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38891         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38892         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38893         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38894         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38895         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38896         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38897
38898 2008-04-14  Jim Meyering  <meyering@redhat.com>
38899
38900         test-strtod: fix typos: s/abs/fabs/
38901         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38902
38903 2008-04-13  Bruno Haible  <bruno@clisp.org>
38904
38905         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38906         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38907         module is also used and while not building the reloc-wrapper.
38908
38909 2008-04-13  Bruno Haible  <bruno@clisp.org>
38910
38911         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38912
38913 2008-04-13  Bruno Haible  <bruno@clisp.org>
38914
38915         Fix AIX compilation failure introduced on 2008-04-02.
38916         * tests/test-frexp.c (exp): Undefine before redefining.
38917         * tests/test-frexpl.c (exp): Likewise.
38918
38919 2008-04-13  Bruno Haible  <bruno@clisp.org>
38920
38921         Work around a HP-UX stdio bug.
38922         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
38923         * tests/test-ftello.c (main): Likewise.
38924         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
38925         * doc/posix-functions/ftello.texi: Likewise.
38926
38927 2008-04-13  Bruno Haible  <bruno@clisp.org>
38928
38929         Make test-signbit pass on HP-UX/hppa.
38930         * tests/test-signbit.c (minus_zerol): New variable.
38931         (test_signbitl): Use it.
38932
38933 2008-04-13  Bruno Haible  <bruno@clisp.org>
38934
38935         Make truncl work on OSF/1 4.0.
38936         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
38937         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38938         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
38940         HAVE_DECL_TRUNCL.
38941         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
38942         HAVE_DECL_TRUNCL.
38943         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
38944
38945 2008-04-13  Bruno Haible  <bruno@clisp.org>
38946
38947         * lib/unictype.h: Remove trailing comma from enumeration definitions.
38948
38949 2008-04-13  Bruno Haible  <bruno@clisp.org>
38950
38951         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
38952         expression, so as to avoid HP-UX 11 cc compiler bug.
38953
38954 2008-04-13  Bruno Haible  <bruno@clisp.org>
38955
38956         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
38957
38958 2008-04-13  Bruno Haible  <bruno@clisp.org>
38959
38960         * lib/git-merge-changelog.c: Remove empty declaration outside of
38961         functions.
38962
38963 2008-04-13  Bruno Haible  <bruno@clisp.org>
38964
38965         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
38966
38967 2008-04-13  Bruno Haible  <bruno@clisp.org>
38968
38969         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
38970         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
38971         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
38972         also if it exists but lacks definitions of the SHUT_* macros.
38973         * modules/sys_socket (Description): Update.
38974         Reported by Elbert Pol <e.pol@chello.nl>.
38975
38976 2008-04-13  Bruno Haible  <bruno@clisp.org>
38977
38978         * lib/localcharset.c (OS2): Don't redefine if already defined.
38979         Reported by Elbert Pol <e.pol@chello.nl>.
38980
38981 2008-04-13  Bruno Haible  <bruno@clisp.org>
38982
38983         * lib/binary-io.h [__EMX__]: Include <io.h>.
38984         Reported by Elbert Pol <e.pol@chello.nl>.
38985
38986 2008-04-12  Bruno Haible  <bruno@clisp.org>
38987
38988         * lib/fpucw.h: Enable the definitions also for x86_64.
38989         Needed for NetBSD/x86_64.
38990         Reported by Thomas Klausner <tk@giga.or.at>.
38991
38992 2008-04-12  Bruno Haible  <bruno@clisp.org>
38993
38994         * tests/test-strtod.c: Include isnand.h.
38995         (main): Use isnand instead of isnan.
38996         Reported by Jim Meyering.
38997
38998 2008-04-12  Bruno Haible  <bruno@clisp.org>
38999
39000         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
39001         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39002
39003 2008-04-12  Jim Meyering  <meyering@redhat.com>
39004
39005         * m4/math_h.m4 (gl_MATH_H): Fix typos.
39006
39007 2008-04-12  Bruno Haible  <bruno@clisp.org>
39008
39009         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
39010         Reported by Elbert Pol <e.pol@chello.nl>.
39011
39012 2008-04-12  Eric Blake  <ebb9@byu.net>
39013
39014         Work around Solaris 10 math.h bug.
39015         * m4/math_h.m4 (gl_MATH_H): Check for bug.
39016         (gl_MATH_H_DEFAULTS): Set up default.
39017         * modules/math (Makefile.am): Replace new indicators.
39018         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
39019         * tests/test-math.c (main): Test this.
39020         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
39021         * doc/posix-headers/math.texi (math.h): Mention bug.
39022         Reported by Nelson H. F. Beebe and Jim Meyering.
39023
39024 2008-04-11  Bruno Haible  <bruno@clisp.org>
39025
39026         Adapt to future versions of Apple GCC.
39027         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
39028         Reported by Peter O'Gorman <peter@pogma.com>.
39029
39030 2008-04-11  Bruno Haible  <bruno@clisp.org>
39031
39032         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
39033
39034 2008-04-11  Bruno Haible  <bruno@clisp.org>
39035
39036         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
39037
39038         * modules/getaddrinfo-tests (Makefile.am): Define
39039         test_getaddrinfo_LDADD.
39040
39041 2008-04-11  Bruno Haible  <bruno@clisp.org>
39042
39043         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
39044         (init): Fix syntax error.
39045         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
39046         is declared.
39047
39048 2008-04-11  Bruno Haible  <bruno@clisp.org>
39049
39050         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
39051         * modules/glob (Depends-on): Add stdbool.
39052
39053 2008-04-11  Bruno Haible  <bruno@clisp.org>
39054
39055         * lib/trim.c: Include <string.h>.
39056
39057 2008-04-11  Eric Blake  <ebb9@byu.net>
39058
39059         Avoid compile failure on OS/2.
39060         * lib/regex_internal.h (internal_function): Disable optimization
39061         on OS/2 (__EMX__), where it caused compiler error.
39062         Reported by Elbert Pol.
39063
39064 2008-04-11  Bruno Haible  <bruno@clisp.org>
39065
39066         Flush the standard error stream before aborting. Needed on mingw.
39067         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
39068         * tests/test-array_list.c (ASSERT): Likewise.
39069         * tests/test-array_oset.c (ASSERT): Likewise.
39070         * tests/test-avltree_list.c (ASSERT): Likewise.
39071         * tests/test-avltree_oset.c (ASSERT): Likewise.
39072         * tests/test-avltreehash_list.c (ASSERT): Likewise.
39073         * tests/test-binary-io.c (ASSERT): Likewise.
39074         * tests/test-byteswap.c (ASSERT): Likewise.
39075         * tests/test-c-ctype.c (ASSERT): Likewise.
39076         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
39077         * tests/test-c-strcasestr.c (ASSERT): Likewise.
39078         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
39079         * tests/test-c-strstr.c (ASSERT): Likewise.
39080         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
39081         * tests/test-canonicalize.c (ASSERT): Likewise.
39082         * tests/test-carray_list.c (ASSERT): Likewise.
39083         * tests/test-ceilf1.c (ASSERT): Likewise.
39084         * tests/test-ceilf2.c (ASSERT): Likewise.
39085         * tests/test-ceill.c (ASSERT): Likewise.
39086         * tests/test-count-one-bits.c (ASSERT): Likewise.
39087         * tests/test-fbufmode.c (ASSERT): Likewise.
39088         * tests/test-fflush2.c (ASSERT): Likewise.
39089         * tests/test-floorf1.c (ASSERT): Likewise.
39090         * tests/test-floorf2.c (ASSERT): Likewise.
39091         * tests/test-floorl.c (ASSERT): Likewise.
39092         * tests/test-fopen.c (ASSERT): Likewise.
39093         * tests/test-fpending.c (ASSERT): Likewise.
39094         * tests/test-fprintf-posix.c (ASSERT): Likewise.
39095         * tests/test-fpurge.c (ASSERT): Likewise.
39096         * tests/test-freadable.c (ASSERT): Likewise.
39097         * tests/test-freadahead.c (ASSERT): Likewise.
39098         * tests/test-freading.c (ASSERT): Likewise.
39099         * tests/test-freadptr.c (ASSERT): Likewise.
39100         * tests/test-freadptr2.c (ASSERT): Likewise.
39101         * tests/test-freadseek.c (ASSERT): Likewise.
39102         * tests/test-freopen.c (ASSERT): Likewise.
39103         * tests/test-frexp.c (ASSERT): Likewise.
39104         * tests/test-frexpl.c (ASSERT): Likewise.
39105         * tests/test-fseek.c (ASSERT): Likewise.
39106         * tests/test-fseeko.c (ASSERT): Likewise.
39107         * tests/test-fstrcmp.c (ASSERT): Likewise.
39108         * tests/test-ftell.c (ASSERT): Likewise.
39109         * tests/test-ftello.c (ASSERT): Likewise.
39110         * tests/test-func.c (ASSERT): Likewise.
39111         * tests/test-fwritable.c (ASSERT): Likewise.
39112         * tests/test-fwriting.c (ASSERT): Likewise.
39113         * tests/test-getdelim.c (ASSERT): Likewise.
39114         * tests/test-getline.c (ASSERT): Likewise.
39115         * tests/test-i-ring.c (ASSERT): Likewise.
39116         * tests/test-iconv-utf.c (ASSERT): Likewise.
39117         * tests/test-iconv.c (ASSERT): Likewise.
39118         * tests/test-isfinite.c (ASSERT): Likewise.
39119         * tests/test-isnand.c (ASSERT): Likewise.
39120         * tests/test-isnanf.c (ASSERT): Likewise.
39121         * tests/test-isnanl.h (ASSERT): Likewise.
39122         * tests/test-ldexpl.c (ASSERT): Likewise.
39123         * tests/test-linked_list.c (ASSERT): Likewise.
39124         * tests/test-linkedhash_list.c (ASSERT): Likewise.
39125         * tests/test-localename.c (ASSERT): Likewise.
39126         * tests/test-lseek.c (ASSERT): Likewise.
39127         * tests/test-mbscasecmp.c (ASSERT): Likewise.
39128         * tests/test-mbscasestr1.c (ASSERT): Likewise.
39129         * tests/test-mbscasestr2.c (ASSERT): Likewise.
39130         * tests/test-mbscasestr3.c (ASSERT): Likewise.
39131         * tests/test-mbscasestr4.c (ASSERT): Likewise.
39132         * tests/test-mbschr.c (ASSERT): Likewise.
39133         * tests/test-mbscspn.c (ASSERT): Likewise.
39134         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
39135         * tests/test-mbspbrk.c (ASSERT): Likewise.
39136         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
39137         * tests/test-mbsrchr.c (ASSERT): Likewise.
39138         * tests/test-mbsspn.c (ASSERT): Likewise.
39139         * tests/test-mbsstr1.c (ASSERT): Likewise.
39140         * tests/test-mbsstr2.c (ASSERT): Likewise.
39141         * tests/test-mbsstr3.c (ASSERT): Likewise.
39142         * tests/test-memchr2.c (ASSERT): Likewise.
39143         * tests/test-memmem.c (ASSERT): Likewise.
39144         * tests/test-open.c (ASSERT): Likewise.
39145         * tests/test-printf-frexp.c (ASSERT): Likewise.
39146         * tests/test-printf-frexpl.c (ASSERT): Likewise.
39147         * tests/test-printf-posix.c (ASSERT): Likewise.
39148         * tests/test-quotearg.c (ASSERT): Likewise.
39149         * tests/test-rbtree_list.c (ASSERT): Likewise.
39150         * tests/test-rbtree_oset.c (ASSERT): Likewise.
39151         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
39152         * tests/test-round1.c (ASSERT): Likewise.
39153         * tests/test-roundf1.c (ASSERT): Likewise.
39154         * tests/test-roundl.c (ASSERT): Likewise.
39155         * tests/test-signbit.c (ASSERT): Likewise.
39156         * tests/test-sleep.c (ASSERT): Likewise.
39157         * tests/test-snprintf-posix.c (ASSERT): Likewise.
39158         * tests/test-snprintf.c (ASSERT): Likewise.
39159         * tests/test-sprintf-posix.c (ASSERT): Likewise.
39160         * tests/test-stat-time.c (ASSERT): Likewise.
39161         * tests/test-strcasestr.c (ASSERT): Likewise.
39162         * tests/test-strerror.c (ASSERT): Likewise.
39163         * tests/test-striconv.c (ASSERT): Likewise.
39164         * tests/test-striconveh.c (ASSERT): Likewise.
39165         * tests/test-striconveha.c (ASSERT): Likewise.
39166         * tests/test-strsignal.c (ASSERT): Likewise.
39167         * tests/test-strstr.c (ASSERT): Likewise.
39168         * tests/test-strtod.c (ASSERT): Likewise.
39169         * tests/test-trunc1.c (ASSERT): Likewise.
39170         * tests/test-trunc2.c (ASSERT): Likewise.
39171         * tests/test-truncf1.c (ASSERT): Likewise.
39172         * tests/test-truncf2.c (ASSERT): Likewise.
39173         * tests/test-truncl.c (ASSERT): Likewise.
39174         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
39175         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
39176         * tests/test-vasnprintf.c (ASSERT): Likewise.
39177         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
39178         * tests/test-vasprintf.c (ASSERT): Likewise.
39179         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
39180         * tests/test-vprintf-posix.c (ASSERT): Likewise.
39181         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
39182         * tests/test-vsnprintf.c (ASSERT): Likewise.
39183         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
39184         * tests/test-wcwidth.c (ASSERT): Likewise.
39185         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
39186         * tests/test-xprintf-posix.c (ASSERT): Likewise.
39187         * tests/test-xvasprintf.c (ASSERT): Likewise.
39188         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
39189         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
39190         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
39191         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
39192         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
39193         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
39194         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
39195         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
39196         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
39197         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
39198         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
39199         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
39200         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
39201         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
39202         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
39203         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
39204         * tests/unictype/test-block_list.c (ASSERT): Likewise.
39205         * tests/unictype/test-block_of.c (ASSERT): Likewise.
39206         * tests/unictype/test-block_test.c (ASSERT): Likewise.
39207         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
39208         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
39209         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
39210         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
39211         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
39212         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
39213         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
39214         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
39215         * tests/unictype/test-combining.c (ASSERT): Likewise.
39216         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
39217         * tests/unictype/test-digit.c (ASSERT): Likewise.
39218         * tests/unictype/test-mirror.c (ASSERT): Likewise.
39219         * tests/unictype/test-numeric.c (ASSERT): Likewise.
39220         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
39221         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
39222         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
39223         * tests/unictype/test-scripts.c (ASSERT): Likewise.
39224         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
39225         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
39226         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
39227         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
39228         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
39229         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
39230         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
39231         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
39232         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
39233         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
39234         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
39235         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
39236         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
39237         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
39238         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
39239         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
39240         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
39241         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
39242         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
39243         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
39244         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
39245         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
39246         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
39247         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
39248         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
39249         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
39250         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
39251         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
39252         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
39253         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
39254         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
39255         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
39256         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
39257         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
39258         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
39259         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
39260         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
39261         Reported by Eric Blake.
39262
39263 2008-04-11  Bruno Haible  <bruno@clisp.org>
39264
39265         * lib/wchar.in.h: Tweak comment.
39266
39267 2008-04-11  Bruno Haible  <bruno@clisp.org>
39268
39269         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
39270         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
39271         gl_COMMON.
39272         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
39273
39274 2008-04-11  Bruno Haible  <bruno@clisp.org>
39275
39276         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
39277
39278 2008-04-11  Simon Josefsson  <simon@josefsson.org>
39279
39280         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
39281         of attempting to use non-existing /dev/*random.  Based on patch
39282         from Adam Strzelecki <ono@java.pl> in
39283         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
39284
39285 2008-04-08  Bruno Haible  <bruno@clisp.org>
39286
39287         Add tentative support for emx+gcc.
39288         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
39289         * lib/fpurge.c (fpurge): Likewise.
39290         * lib/freadable.c (freadable): Likewise.
39291         * lib/freadahead.c (freadahead): Likewise.
39292         * lib/freading.c (freading): Likewise.
39293         * lib/freadptr.c (freadptr): Likewise.
39294         * lib/freadseek.c (freadptrinc): Likewise.
39295         * lib/fseeko.c (rpl_fseeko): Likewise.
39296         * lib/fseterr.c (fseterr): Likewise.
39297         * lib/fwritable.c (fwritable): Likewise.
39298         * lib/fwriting.c (fwriting): Likewise.
39299         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
39300
39301 2008-04-09  Eric Blake  <ebb9@byu.net>
39302
39303         Avoid some autoconf warnings.
39304         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
39305         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
39306         * m4/afs.m4 (gl_AFS): Likewise.
39307         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
39308         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
39309         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39310         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
39311         (gl_INTEGER_TYPE_SUFFIX): Likewise.
39312         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
39313         (AC_CHECK_DECLS_ONCE): Likewise.
39314         Rename file...
39315         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
39316         gnulib-tool requires autoconf 2.59 or better.
39317         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
39318
39319 2008-04-08  Eric Blake  <ebb9@byu.net>
39320
39321         Use 'git describe --match' if present (added in git 1.5.5).
39322         * build-aux/git-version-gen: Limit result to tags that match 'v*'
39323         if possible.
39324
39325 2008-04-08  Bruno Haible  <bruno@clisp.org>
39326
39327         Add tentative support for OpenServer.
39328         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
39329         _ptr, _cnt.
39330         * lib/fpurge.c (fpurge): Likewise.
39331         * lib/freadable.c (freadable): Likewise.
39332         * lib/freadahead.c (freadahead): Likewise.
39333         * lib/freading.c (freading): Likewise.
39334         * lib/freadptr.c (freadptr): Likewise.
39335         * lib/freadseek.c (freadptrinc): Likewise.
39336         * lib/fseeko.c (rpl_fseeko): Likewise.
39337         * lib/fseterr.c (fseterr): Likewise.
39338         * lib/fwritable.c (fwritable): Likewise.
39339         * lib/fwriting.c (fwriting): Likewise.
39340         Reported by Roger Cornelius <rac@tenzing.org> and
39341         Brian K. White <brian@aljex.com>.
39342
39343 2008-04-06  Jim Meyering  <meyering@redhat.com>
39344
39345         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
39346
39347 2008-04-06  Bruno Haible  <bruno@clisp.org>
39348
39349         Avoid possible error with non-ASCII bytes in UTF-8 locales.
39350         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
39351         * tests/test-printf-posix.sh: Likewise.
39352         * tests/test-vfprintf-posix.sh: Likewise.
39353         * tests/test-vprintf-posix.sh: Likewise.
39354         * tests/test-xprintf-posix.sh: Likewise.
39355
39356 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39357
39358         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
39359         hide error from 'ls', needed on OS/2.
39360         Report by Elbert Pol <elbert.pol@gmail.com>.
39361
39362 2008-04-04  Eric Blake  <ebb9@byu.net>
39363
39364         Make test-fseeko.c failures meaningful.
39365         * tests/test-fseeko.c: Print line number on failure.
39366         * tests/test-fseek.c: Likewise.
39367         Reported by Nelson H. F. Beebe.
39368
39369         Improve strtod bug detection check.
39370         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
39371         required for Solaris 10.
39372         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
39373
39374 2008-04-04  Bruno Haible  <bruno@clisp.org>
39375
39376         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
39377         by m4/setenv.m4.
39378
39379 2008-04-03  Eric Blake  <ebb9@byu.net>
39380
39381         Ensure sane .version contents.
39382         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
39383         version string.
39384         * build-aux/git-version-gen: Improve documentation.
39385
39386         Make GNU make output nicer.
39387         * top/GNUmakefile [!_have-Makefile]: Add dependency on
39388         MAKECMDGOALS to enforce message for all command line targets.  Set
39389         srcdir for use in maint.mk.
39390
39391         Another maintainer tweak.
39392         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
39393         a target that regenerates version.
39394
39395 2008-04-03  Jim Meyering  <meyering@redhat.com>
39396
39397         vc-list-files: don't cause coreutils "make po-check" failure
39398         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
39399
39400 2008-04-03  Eric Blake  <ebb9@byu.net>
39401
39402         Allow VPATH usage of vc-list-files.
39403         * build-aux/vc-list-files (scriptversion): Add timestamp.
39404         (options): Add --help, --version, -C.
39405         (CVS): Support installed cvsu.
39406
39407 2008-04-02  Bruno Haible  <bruno@clisp.org>
39408
39409         Avoid some "statement with no effect" warnings from gcc.
39410         * tests/test-wctype.c (main): Explicitly ignore unused values.
39411         Reported by Jim Meyering.
39412
39413 2008-04-02  Jim Meyering  <meyering@redhat.com>
39414
39415         Avoid some warnings from "gcc -Wshadow".
39416         * tests/test-frexp.c (exp): Define to a different identifier.
39417         * tests/test-frexpl.c (exp): Likewise.
39418
39419 2008-04-03  Jim Meyering  <meyering@redhat.com>
39420
39421         bootstrap: remove dangling *.[ch] symlinks from lib
39422         * build-aux/bootstrap [dangling symlink removal]: Move find's
39423         -depth option to precede all others, to avoid a warning.
39424         Remove *.[ch] files too, and from "$source_base" (usually lib/).
39425
39426 2008-04-02  Bruno Haible  <bruno@clisp.org>
39427
39428         Avoid some warnings from "gcc -Wshadow".
39429         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
39430         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
39431         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
39432         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
39433         Reported by Jim Meyering.
39434
39435 2008-04-01  Bruno Haible  <bruno@clisp.org>
39436
39437         Fix test to work on IRIX 6.5 with cc.
39438         * tests/test-math.c (numeric_equal): New function.
39439         (main): Use it.
39440
39441 2008-04-01  Bruno Haible  <bruno@clisp.org>
39442
39443         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
39444
39445 2008-04-01  Bruno Haible  <bruno@clisp.org>
39446
39447         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
39448         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39449         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
39450         (Depends-on): Remove math.
39451
39452         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
39453         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39454         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
39455         (Depends-on): Remove math.
39456
39457         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
39458         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39459         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
39460         (Depends-on): Remove math.
39461         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
39462         (Depends-on): Remove math.
39463
39464         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
39465         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39466         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
39467         (Depends-on): Remove math.
39468         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
39469         (Depends-on): Remove math.
39470
39471         * tests/test-round1.c: Include nan.h.
39472         (main): Use NaNd instead of NAN.
39473         * modules/round-tests (Files): Add tests/nan.h.
39474
39475         * tests/test-trunc1.c: Include nan.h.
39476         (main): Use NaNd instead of NAN.
39477         * modules/trunc-tests (Files): Add tests/nan.h.
39478
39479         * tests/test-roundf1.c: Include nan.h.
39480         (main): Use NaNf instead of NAN.
39481         * modules/roundf-tests (Files): Add tests/nan.h.
39482
39483         * tests/test-truncf1.c: Include nan.h.
39484         (main): Use NaNf instead of NAN.
39485         * modules/truncf-tests (Files): Add tests/nan.h.
39486
39487         * tests/test-ceilf1.c: Include nan.h.
39488         (main): Use NaNf instead of NAN.
39489         * modules/ceilf-tests (Files): Add tests/nan.h.
39490
39491         * tests/test-floorf1.c: Include nan.h.
39492         (main): Use NaNf instead of NAN.
39493         * modules/floorf-tests (Files): Add tests/nan.h.
39494
39495         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
39496         (main): Use NaNf instead of NAN.
39497         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
39498
39499         * tests/test-isnand.c: Include nan.h instead of <math.h>.
39500         (main): Use NaNd instead of NAN.
39501         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
39502
39503         * tests/test-frexp.c: Include nan.h.
39504         (main): Use NaNd instead of NAN.
39505         * modules/frexp-tests (Files): Add tests/nan.h.
39506
39507         * lib/isnan.c: Don't include <math.h>.
39508         (FUNC): Don't use NAN macro.
39509         * modules/isnand-nolibm (Depends-on): Remove math.
39510         * modules/isnanf-nolibm (Depends-on): Remove math.
39511         * modules/isnanl (Depends-on): Remove math.
39512         * modules/isnanl-nolibm (Depends-on): Remove math.
39513
39514         * tests/nan.h: New file.
39515
39516 2008-04-01  Eric Blake  <ebb9@byu.net>
39517
39518         Fix typos.
39519         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
39520         values to be the right type.
39521
39522         For now, cater to gnulib strtod inaccuracies.
39523         * tests/test-strtod.c (main): Allow 1-ulp error on expected
39524         fractional results.  While not as nice from a QoI perspective, it
39525         is a quicker patch than correctly implementing decimal to binary
39526         rounding.
39527
39528 2008-03-31  Eric Blake  <ebb9@byu.net>
39529
39530         Guarantee a definition of NAN.
39531         * lib/math.in.h (NAN): Define if missing.
39532         * tests/test-math.c (main): Test it.
39533         * doc/posix-headers/math.texi (math.h): Document this.
39534         * lib/isnan.c (rpl_isnand): Use it.
39535         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
39536         * tests/test-floorf1.c (NaN): Likewise.
39537         * tests/test-frexp.c (NaN): Likewise.
39538         * tests/test-isnand.c (NaN): Likewise.
39539         * tests/test-isnanf.c (NaN): Likewise.
39540         * tests/test-round1.c (NaN): Likewise.
39541         * tests/test-roundf1.c (NaN): Likewise.
39542         * tests/test-snprintf-posix.h (NaN): Likewise.
39543         * tests/test-sprintf-posix.h (NaN): Likewise.
39544         * tests/test-trunc1.c (NaN): Likewise.
39545         * tests/test-truncf1.c (NaN): Likewise.
39546         * tests/test-vasnprintf-posix.c (NaN): Likewise.
39547         * tests/test-vasprintf-posix.c (NaN): Likewise.
39548         * modules/isnand-nolibm (Depends-on): Add math.
39549         * modules/isnanf-nolibm (Depends-on): Likewise.
39550         * modules/isnanl (Depends-on): Likewise.
39551         * modules/isnanl-nolibm (Depends-on): Likewise.
39552         * modules/snprintf-posix-tests (Depends-on): Likewise.
39553         * modules/sprintf-posix-tests (Depends-on): Likewise.
39554         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
39555         * modules/vsprintf-posix-tests (Depends-on): Likewise.
39556         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
39557         * modules/vasprintf-posix-tests (Depends-on): Likewise.
39558
39559 2008-03-31  Bruno Haible  <bruno@clisp.org>
39560
39561         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
39562         * doc/posix-functions/strtod.texi: Likewise.
39563
39564 2008-03-31  Bruno Haible  <bruno@clisp.org>
39565
39566         * tests/test-strtod.c (main): Don't use C99 syntax.
39567
39568 2008-03-31  Bruno Haible  <bruno@clisp.org>
39569
39570         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
39571         Reported by Eric Blake.
39572
39573 2008-03-31  Jim Meyering  <meyering@redhat.com>
39574
39575         Don't compare actual signbit return values.
39576         * tests/test-strtod.c (main): Rather, compare only their
39577         zero/non-zero nature.
39578
39579 2008-03-31  Eric Blake  <ebb9@byu.net>
39580
39581         More strtod documentation.
39582         * doc/posix-functions/strtod.texi (strtod): Interpret more test
39583         failures as distinct bugs.
39584
39585 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39586
39587         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
39588         Problem reported by Erik Benada in
39589         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
39590
39591 2008-03-30  Bruno Haible  <bruno@clisp.org>
39592
39593         * tests/test-strtod.c: Add comments about which assertion fails on which
39594         platform.
39595         * doc/posix-functions/strtod.texi: Add info about many more platforms.
39596
39597 2008-03-30  Eric Blake  <ebb9@byu.net>
39598
39599         Test signbit behavior on zeros.
39600         * tests/test-signbit.c (test_signbitf): Add tests for zero.
39601         (test_signbitd, test_signbitl): Likewise.
39602
39603         More strtod touchups.
39604         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
39605         sign of negative underflow, for now.  Use .5, not .1.
39606         * doc/posix-functions/strtod.texi (strtod): Mention these
39607         limitations.
39608         Reported by Jim Meyering.
39609
39610 2008-03-30  Bruno Haible  <bruno@clisp.org>
39611
39612         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
39613         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
39614
39615 2008-03-30  Bruno Haible  <bruno@clisp.org>
39616
39617         Avoid failure when attempting to return empty iconv results on some
39618         platforms.
39619         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
39620         allocation, don't report ENOMEM when the resulting string is empty.
39621
39622 2008-03-30  Bruno Haible  <bruno@clisp.org>
39623
39624         Fix buffer overrun.
39625         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
39626         Don't consider the width for tmp_length. Check count against tmp_length
39627         before doing the padding. Ensure enough allocation during padding.
39628
39629 2008-03-30  Eric Blake  <ebb9@byu.net>
39630
39631         strtod touchups.
39632         * lib/strtod.c (strtod): Avoid compiler warnings.
39633         Reported by Jim Meyering.
39634
39635 2008-03-30  Bruno Haible  <bruno@clisp.org>
39636
39637         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
39638         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
39639         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
39640         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
39641         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
39642         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
39643         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
39644         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
39645
39646         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
39647         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
39648         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
39649         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
39650         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
39651         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
39652         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
39653         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
39654
39655         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
39656         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
39657         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
39658         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
39659         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
39660         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
39661         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
39662         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
39663
39664         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
39665         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
39666
39667         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
39668         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
39669
39670         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
39671         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
39672
39673         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
39674         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
39675         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
39676
39677         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
39678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
39679         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
39680
39681         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
39682         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
39683         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
39684
39685         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39686         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39687         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39688
39689         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39690         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39691         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39692         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39693         (Depends-on): Add EOVERFLOW.
39694         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39695         (Depends-on): Add EOVERFLOW.
39696         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39697         (Depends-on): Add EOVERFLOW.
39698         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39699         (Depends-on): Add EOVERFLOW.
39700         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39701         (Depends-on): Add EOVERFLOW.
39702         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39703         (Depends-on): Add EOVERFLOW.
39704         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39705         (Depends-on): Add EOVERFLOW.
39706         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39707         (Depends-on): Add EOVERFLOW.
39708
39709         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39710         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39711         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39712
39713         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39714         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39715         * modules/snprintf (Depends-on): Add EOVERFLOW.
39716
39717         * lib/poll.c (EOVERFLOW): Remove fallback.
39718         * modules/poll (Depends-on): Add EOVERFLOW.
39719
39720         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39721         * modules/getugroups (Depends-on): Add EOVERFLOW.
39722
39723         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39724         * modules/getdelim (Depends-on): Add EOVERFLOW.
39725
39726         * lib/ftell.c (EOVERFLOW): Remove fallback.
39727         * modules/ftell (Depends-on): Add EOVERFLOW.
39728
39729         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39730         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39731         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39732
39733         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39734
39735         * modules/EOVERFLOW-tests: New file.
39736         * tests/test-EOVERFLOW.c: New file.
39737
39738         * modules/EOVERFLOW: New file.
39739         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39740
39741 2008-03-30  Bruno Haible  <bruno@clisp.org>
39742
39743         Fix bug introduced on 2007-06-10.
39744         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39745         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39746
39747 2008-03-30  Bruno Haible  <bruno@clisp.org>
39748
39749         Improve freadseek's efficiency after ungetc.
39750         * lib/freadseek.c: Include freadahead.h.
39751         (freadptrinc): New function, extracted from freadseek.
39752         (freadseek): Use it in a loop. Use freadahead to determine the number
39753         of loop iterations.
39754         * modules/freadseek (Depends-on): Add freadahead.
39755         (configure.ac): Require AC_C_INLINE.
39756
39757 2008-03-30  Bruno Haible  <bruno@clisp.org>
39758
39759         * lib/freadseek.c (freadseek): Don't ignore the return value of
39760         freadptr.
39761
39762 2008-03-29  Eric Blake  <ebb9@byu.net>
39763
39764         Add hex float support.
39765         * modules/strtod (Depends-on): Add c-ctype.
39766         (Link): Mention POW_LIB.
39767         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39768         whitespace between 'e' and exponent.
39769         * tests/test-strtod.c (main): Enable hex float tests.
39770         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39771         now provides.
39772
39773         Document various strtod bugs, with some fixes.
39774         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39775         "-0x", "inf", "nan", and hex constants.
39776         * doc/posix-functions/atof.texi (atof): Likewise.
39777         * modules/stdlib (Makefile.am): Support strtod.
39778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39779         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39780         detect additional strtod bugs.
39781         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39782         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39783         bool where appropriate.  Parse 'inf' and 'nan'.
39784         * tests/test-strtod.c: New file.
39785         * modules/strtod (Depends-on): Add stdbool, stdlib.
39786         (configure.ac): Turn on module indicator.
39787         * modules/strtod-tests: New module.
39788
39789 2008-03-29  Eric Blake  <ebb9@byu.net>
39790
39791         Fix ftell on mingw.
39792         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39793         * modules/ftell-tests (Depends-on): Add binary-io.
39794         * modules/ftello-tests (Depends-on): Likewise.
39795         * tests/test-ftell.c (main): Enhance test to cover behavior after
39796         ungetc.  Enforce binary mode.
39797         * tests/test-ftello.c (main): Likewise.
39798
39799         Pass test-freadseek on cygwin.
39800         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39801         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39802         ungetc buffer.
39803
39804         * tests/test-fflush2.c (main): Fix typo.
39805
39806 2008-03-29  Bruno Haible  <bruno@clisp.org>
39807
39808         * tests/test-fflush2.c (main): Temporarily disable the contents of
39809         this test.
39810         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39811         Reported by Eric Blake.
39812
39813 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39814
39815         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39816         (GC_SHA224_DIGEST_SIZE): Add.
39817
39818         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39819         (gc_hash_digest_length): Likewise.
39820         (gc_hash_buffer): Likewise.
39821
39822 2008-03-25  Bruno Haible  <bruno@clisp.org>
39823
39824         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39825         detail which gettext release to use.
39826         Reported by Simon Josefsson.
39827
39828 2008-03-26  Jim Meyering  <meyering@redhat.com>
39829
39830         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39831         * modules/gnumakefile (clean-GNUmakefile): Also, use
39832         test ... && ... || : syntax rather than if-then ... fi.
39833
39834         gnumakefile: Don't double-quote-expand $(VPATH) value.
39835         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39836
39837 2008-03-24  Eric Blake  <ebb9@byu.net>
39838
39839         Alter GNUmakefile to install into top directory.
39840         * modules/maintainer-makefile: Split, and add dependency...
39841         * modules/gnumakefile: to this new module.
39842         * build-aux/GNUmakefile: Move...
39843         * top/GNUmakefile: ...here.
39844         * build-aux/maint.mk: Move...
39845         * top/maint.mk: ...here.
39846         * MODULES.html.sh (Support for maintaining...): Document new
39847         module.
39848
39849 2008-03-23  Bruno Haible  <bruno@clisp.org>
39850
39851         * gnulib-tool: New options --vc-files, --no-vc-files.
39852         (func_usage): Document them.
39853         (vc_files): New variable.
39854         (func_import): Consider vc_files.
39855         (func_create_testdir): Set vc_files to empty.
39856         Suggested by Jim Meyering and Karl Berry.
39857
39858 2008-03-23  Bruno Haible  <bruno@clisp.org>
39859
39860         Fix regex compilation error on HP-UX 11.
39861         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39862         * modules/regex (Files): Add m4/mbstate_t.m4.
39863         Reported by Ton Voon <ton.voon@altinity.com>.
39864
39865 2008-03-23  Bruno Haible  <bruno@clisp.org>
39866
39867         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39868
39869 2008-03-23  Eric Blake  <ebb9@byu.net>
39870             Bruno Haible  <bruno@clisp.org>
39871
39872         Install files from top/ in the destination directory.
39873         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39874         augmentation also for the files from top/.
39875         (func_import, func_create_testdir): Rewrite file names:
39876         top/filename -> filename.
39877
39878 2008-03-23  Bruno Haible  <bruno@clisp.org>
39879
39880         Tweak "gnulib --version" output.
39881         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39882
39883 2008-03-23  Bruno Haible  <bruno@clisp.org>
39884
39885         Tweak "gnulib --version" output.
39886         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39887         rather than contents of ChangeLog, when possible.
39888
39889 2008-03-21  Eric Blake  <ebb9@byu.net>
39890
39891         More --version tweaks.
39892         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39893         date of last ChangeLog entry.
39894
39895 2008-03-21  Jim Meyering  <meyering@redhat.com>
39896
39897         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39898
39899 2008-03-20  Eric Blake  <ebb9@byu.net>
39900
39901         VPATH fix.
39902         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39903
39904 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39905
39906         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39907         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39908
39909 2008-03-20  Eric Blake  <ebb9@byu.net>
39910
39911         Sync GNUmakefile with coreutils.
39912         * build-aux/GNUmakefile (have-Makefile): Rename...
39913         (_have-Makefile): ...to this, for namespace consideration.
39914         (GNUmakefile.cfg): Include, if present.
39915         (_autoreconf): Define a default.
39916         (_is-dist-target): New rule for rebuilds to pick up intra-release
39917         version.
39918         (maint-cfg.mk): Rename...
39919         (cfg.mk): ...to this.
39920
39921 2008-03-18  Jim Meyering  <meyering@redhat.com>
39922
39923         New script and module: mktempd
39924         * MODULES.html.sh (maint+release support): Add mktempd.
39925         * build-aux/mktempd: New file.
39926         * modules/mktempd: New file.
39927
39928 2008-03-15  Jim Meyering  <meyering@redhat.com>
39929
39930         Undo last change.
39931         * lib/sha1.c, lib/md5.c: 63 != ~63.
39932         Reported by Andreas Schwab.
39933
39934         sha1.c, md5.c: Hoist a redundant expression.
39935         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
39936         "ctx->buflen" only once, before calling *_process_block.
39937         * lib/md5.c (md5_process_bytes): Likewise.
39938
39939 2008-03-14  Eric Blake  <ebb9@byu.net>
39940
39941         Bump copyright year in files generated by gnulib-tool.
39942         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
39943         gnulib-tool, rather than hard-coding it.
39944
39945         Fix 'gnulib-tool --version' output to work with git.
39946         * gnulib-tool (func_gnulib_dir): New function, extracted from...
39947         (startup): ...here.
39948         (func_version): Use it to invoke git-version-gen, rather than
39949         relying on CVS keyword expansion.  Modernize wording.
39950         (cvsdatestamp, last_checkin_date, version): Kill unused
39951         variables.
39952
39953 2008-03-12  Jim Meyering  <meyering@redhat.com>
39954
39955         Recognize optional cast of the argument to free.
39956         * build-aux/useless-if-before-free: Update regexps.
39957
39958         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
39959
39960 2008-03-11  Bruno Haible  <bruno@clisp.org>
39961
39962         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
39963         by a single package.
39964         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
39965         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
39966         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
39967         Reported by Sam Steingold <sds@gnu.org>.
39968
39969 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39970
39971         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
39972         repositories.
39973
39974 2008-03-11  Bruno Haible  <bruno@clisp.org>
39975
39976         Avoid conflicts between local macro definitions.
39977         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39978         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
39979
39980 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
39981             Bruno Haible  <bruno@clisp.org>
39982
39983         Make va_copy work with some version of xlc on AIX 5.1.
39984         * lib/stdarg.in.h: New file.
39985         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
39986         On AIX, use a <stdarg.h> file substitute.
39987         * modules/stdarg (Files): Add lib/stdarg.in.h.
39988         (Depends-on): Add include_next.
39989         (Makefile.am): Build a stdarg.h substitute if requested.
39990         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
39991
39992 2008-03-10  Bruno Haible  <bruno@clisp.org>
39993
39994         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
39995         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39996         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39997
39998 2008-03-10  Bruno Haible  <bruno@clisp.org>
39999
40000         * modules/stdlib (Depends-on): Add include_next, remove
40001         absolute-header.
40002
40003 2008-03-09  Bruno Haible  <bruno@clisp.org>
40004
40005         * lib/freadahead.h (freadahead): Document more precisely.
40006         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
40007         the sum of both buffer sizes.
40008         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
40009         * NEWS: Document the change.
40010
40011 2008-03-09  Bruno Haible  <bruno@clisp.org>
40012
40013         Extend freadptr to return also the buffer size.
40014         * lib/freadptr.h (freadptr): Add sizep argument.
40015         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
40016         (freadptr): Add sizep argument. Determine buffer size like freadahead
40017         does.
40018         * tests/test-freadptr.c: Don't include freadahead.h.
40019         (main): Adapt for new calling convention of freadptr.
40020         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
40021         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
40022         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
40023         tests/test-freadptr2.sh.
40024         (Depends): Remove freadahead.
40025         (TESTS): Add test-freadptr2.sh.
40026         (check_PROGRAMS): Add test-freadptr2.
40027
40028 2008-03-09  Bruno Haible  <bruno@clisp.org>
40029
40030         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
40031         Report and solution by Simon Josefsson.
40032
40033 2008-03-06  Bruno Haible  <bruno@clisp.org>
40034
40035         Make fflush after ungetc work on BSD platforms.
40036         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
40037         * tests/test-fflush2.c: New file.
40038         * tests/test-fflush2.sh: New file.
40039         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
40040         tests/test-fflush2.c.
40041         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
40042         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
40043
40044 2008-03-06  Eric Blake  <ebb9@byu.net>
40045
40046         Likewise for ftello.
40047         * modules/ftello (Dependencies): Add extensions.
40048         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
40049
40050 2008-03-06  Bruno Haible  <bruno@clisp.org>
40051
40052         * modules/fseeko (Dependencies): Add extensions.
40053         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
40054         Needed on glibc systems.
40055
40056 2008-03-06  Bruno Haible  <bruno@clisp.org>
40057
40058         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
40059         email address.
40060         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40061
40062 2008-03-06  Bruno Haible  <bruno@clisp.org>
40063
40064         * users.txt: Add libgnupdf.
40065
40066 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40067
40068         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
40069         (Header File Substitutes, Function Substitutes,
40070         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
40071         (Build robot for gnulib): Fix typo.
40072
40073 2008-03-06  Bruno Haible  <bruno@clisp.org>
40074
40075         * doc/gnulib-tool.texi (VCS Issues): Small updates.
40076         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40077
40078 2008-03-06  Bruno Haible  <bruno@clisp.org>
40079
40080         * doc/func.texi: New file, extracted from doc/gnulib.texi.
40081         * doc/gnulib.texi: Include it.
40082
40083 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40084
40085         * modules/func (License): Change license to unlimited; there was
40086         no LGPL parts in the module anyway.
40087
40088 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40089
40090         * modules/__func__: Renamed to modules/func.
40091         * modules/__func__-tests: Renamed to modules/func-tests.
40092         * tests/test-__func__.c: Renamed to tests/test-func.c.
40093         * m4/__func__.m4: Renamed to m4/func.m4.
40094         * doc/gnulib.texi (__func__): Section renamed to func.
40095         Suggested by Eric Blake <ebb9@byu.net>.
40096
40097 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40098
40099         * doc/gnulib.texi (__func__): Use C99 terminology when talking
40100         about __func__.  Make example self-contained.  Suggested by Eric
40101         Blake <ebb9@byu.net>.
40102
40103         * tests/test-__func__.c (main): Avoid extraneous () around __func.
40104         Suggested by Eric Blake <ebb9@byu.net>.
40105
40106 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40107
40108         * modules/__func__: New file.
40109         * modules/__func__-tests: New file.
40110         * tests/test-__func__.c: New file.
40111         * m4/__func__.m4: New file.
40112         * doc/gnulib.texi (__func__): Document __func__ module.
40113
40114 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40115
40116         * modules/byteswap (License): Re-license as LGPLv2+.
40117
40118 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40119
40120         * doc/Makefile: Add pdf target.
40121
40122 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40123
40124         * modules/inline (License): Use 'unlimited', since there are only
40125         *.m4 files in this module.
40126
40127 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40128             Bruno Haible  <bruno@clisp.org>
40129
40130         Add support for HP C 7.1 on OpenVMS 8.3.
40131         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
40132
40133 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40134
40135         Update VMS specifics.
40136         * lib/getopt.c [VMS]: Remove include of unixlib.h.
40137
40138 2008-03-02  Jim Meyering  <meyering@redhat.com>
40139
40140         Remove the last dependency on the "free" module.
40141         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
40142         Reported by Bob Proulx.
40143
40144         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
40145
40146         Remove useless "if" tests before free.  Deprecate "free" module.
40147         * doc/posix-functions/free.texi: Mention that this
40148         module is no longer useful.
40149         * modules/free (Notice): Say this module is obsolete.
40150         * modules/readutmp (Depends-on): Remove free.
40151         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
40152         * lib/putenv.c (putenv): Likewise.
40153         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
40154         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
40155         * tests/test-c-strcasestr.c (main): Likewise.
40156         * tests/test-c-strstr.c (main): Likewise.
40157         * tests/test-mbscasestr1.c (main): Likewise.
40158         * tests/test-mbscasestr2.c (main): Likewise.
40159         * tests/test-mbsstr1.c (main): Likewise.
40160         * tests/test-mbsstr2.c (main): Likewise.
40161         * tests/test-memmem.c (main): Likewise.
40162         * tests/test-strcasestr.c (main): Likewise.
40163         * tests/test-striconv.c (main): Likewise.
40164         * tests/test-striconveh.c (main): Likewise.
40165         * tests/test-striconveha.c (main): Likewise.
40166         * tests/test-strstr.c (main): Likewise.
40167
40168         * build-aux/git-version-gen: Adjust a comment and the Usage string.
40169
40170         bootstrap: sync from coreutils again
40171         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
40172
40173 2008-03-01  Jim Meyering  <meyering@redhat.com>
40174
40175         bootstrap: sync from coreutils
40176         * build-aux/bootstrap (update_po_files): Copy a .po file into place
40177         also when the target doesn't exist.
40178
40179 2008-03-01  Eric Blake  <ebb9@byu.net>
40180
40181         Fix bugs in last patch.
40182         * lib/memchr2.c (memchr2): Fix typo.
40183         * tests/test-memchr2.c: Test previous bug, and don't use GNU
40184         extension.
40185         Reported by Bruce Korb.
40186
40187         New module 'memchr2'.
40188         * modules/memchr2: New file.
40189         * modules/memchr2-tests: Likewise.
40190         * lib/memchr2.h: Likewise.
40191         * lib/memchr2.c: Likewise, based on memchr.c.
40192         * tests/test-memchr2.c: New test.
40193         * MODULES.html.sh (String handling): Add memchr2.
40194
40195 2008-02-29  Bruno Haible  <bruno@clisp.org>
40196
40197         * modules/freadseek-tests: New file.
40198         * tests/test-freadseek.sh: New file.
40199         * tests/test-freadseek.c: New file.
40200
40201         New module 'freadseek'.
40202         * modules/freadseek: New file.
40203         * lib/freadseek.h: New file.
40204         * lib/freadseek.c: New file.
40205         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
40206
40207 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40208
40209         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
40210         wydawca.
40211
40212         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
40213         program_invocation_name and program_invocation_short_name are
40214         present.
40215
40216 2008-02-28  Bruno Haible  <bruno@clisp.org>
40217
40218         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
40219         * tests/test-freadptr.sh: Also test non-seekable stdin.
40220
40221 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
40222
40223         * build-aux/bootstrap (source_base, m4_base)
40224         (doc_base, tests_base): New variables.
40225         (gnulib_tool_options): Do not hardcode base directories, use
40226         the above variables instead.
40227
40228 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
40229
40230         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
40231
40232 2008-02-28  Bruno Haible  <bruno@clisp.org>
40233
40234         * modules/freadptr-tests: New file.
40235         * tests/test-freadptr.sh: New file.
40236         * tests/test-freadptr.c: New file.
40237
40238         New module 'freadptr'.
40239         * modules/freadptr: New file.
40240         * lib/freadptr.h: New file.
40241         * lib/freadptr.c: New file.
40242         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
40243
40244 2008-02-26  Karl Berry  <karl@freefriends.org>
40245
40246         Sync from Libtool:
40247         * libltdl/argz.c (argz_add, argz_count): New functions.
40248         * libltdl/argz.in.h: Declare them.
40249         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
40250
40251 2008-02-22  Bruno Haible  <bruno@clisp.org>
40252
40253         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
40254         is a pointer type.  Needed for HP-UX 10.
40255         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
40256         * doc/posix-functions/gmtime_r.texi: Likewise.
40257         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40258
40259 2008-02-24  Bruno Haible  <bruno@clisp.org>
40260
40261         * modules/environ-tests: New file.
40262         * tests/test-environ.c: New file.
40263
40264         New module 'environ'.
40265         * modules/environ: New file.
40266         * lib/unistd.in.h (environ): New declaration.
40267         * m4/environ.m4: New file.
40268         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
40269         after use.
40270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
40271         HAVE_DECL_ENVIRON.
40272         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
40273         HAVE_DECL_ENVIRON.
40274         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
40275         wrong claim that 'environ' is missing on some systems.
40276         * modules/execute (Depends-on): Add environ.
40277         * lib/execute.c (environ): Remove fallback declaration.
40278         * modules/pipe (Depends-on): Add environ.
40279         * lib/pipe.c (environ): Remove fallback declaration.
40280         * modules/setenv (Depends-on): Add environ.
40281         * lib/setenv.c (environ): Remove fallback declaration.
40282         * modules/unsetenv (Depends-on): Add environ.
40283         * lib/unsetenv.c (environ): Remove fallback declaration.
40284         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
40285         m4/environ.m4.
40286         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
40287         (gl_PREREQ_UNSETENV): Likewise.
40288
40289 2008-02-24  Bruno Haible  <bruno@clisp.org>
40290
40291         * doc/posix-functions/environ.texi: Document the MacOS X problem.
40292
40293 2008-02-20  Bob Proulx  <bob@proulx.com>
40294
40295         Enable use of older two part flavor 'git describe'.
40296         * build-aux/git-version-gen: If using the older two part flavor of
40297         git version then recreate the third part now present in the
40298         newer three part flavor of git describe.
40299
40300 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
40301
40302         * lib/fts.c (fts_build): Typo correction to comment.
40303
40304 2008-02-17  Bruno Haible  <bruno@clisp.org>
40305
40306         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
40307         generating no-op conflicts.
40308
40309 2008-02-17  Bruno Haible  <bruno@clisp.org>
40310
40311         Speed up by 10%.
40312         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
40313         result_entries, rather than an index-based loop.
40314
40315 2008-02-17  Bruno Haible  <bruno@clisp.org>
40316
40317         Speed up by 25%.
40318         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
40319         'hashcode_cached'.
40320         (entry_create): New function.
40321         (entry_hashcode): Use the cached hashcode if possible.
40322         (read_changelog_file, try_split_merged_entry): Use entry_create.
40323
40324 2008-02-17  Bruno Haible  <bruno@clisp.org>
40325
40326         Speed up from O(n^2) to O(n) for long ChangeLog files.
40327         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
40328         (read_changelog_file): Change implementation of entries_reversed list
40329         to rbtreehash.
40330         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
40331
40332 2008-02-17  Bruno Haible  <bruno@clisp.org>
40333
40334         New option --split-merged-entry.
40335         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
40336         (find_paragraph_end, try_split_merged_entry): New functions.
40337         (long_options): Add option --split-merged-entry.
40338         (usage): Document option --split-merged-entry.
40339         (main): Implement option --split-merged-entry.
40340         Reported by Eric Blake.
40341
40342 2008-02-17  Bruno Haible  <bruno@clisp.org>
40343
40344         * lib/git-merge-changelog.c: Include c-strstr.h.
40345         (main): Support the "git pull --rebase" situation.
40346         * modules/git-merge-changelog (Depends-on): Add c-strstr.
40347         Reported by Eric Blake.
40348
40349 2008-02-16  Eric Blake  <ebb9@byu.net>
40350
40351         Avoid doubling \ in common case of "c-maybe" quoting style.
40352         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
40353         eliding outer quotes.
40354         * lib/quotearg.h: Document this.
40355         * tests/test-quotearg.c (result_strings, inputs, results_g)
40356         (flag_results, locale_results): Test it by adding a new string to
40357         each test group.
40358         (compare_strings): Test new string.
40359
40360 2008-02-13  Eric Blake  <ebb9@byu.net>
40361
40362         Avoid trigraph quoting in default output.
40363         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
40364         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
40365         unless explicitly requested.
40366         * tests/test-quotearg.c (flag_results, main): Add additional tests.
40367
40368 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
40369
40370         Don't rely on signed integer overflowing to negative value.
40371         * lib/getugroups.c (getugroups): Include <limits.h>.
40372         Instead, compare against INT_MAX, and increment only if the test passes.
40373
40374 2008-02-13  Jim Meyering  <meyering@redhat.com>
40375         and Eric Blake  <ebb9@byu.net>
40376
40377         Avoid shadowing warning and compile errors on Linux.
40378         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
40379         forwarding macros on Linux.
40380         (dcgettext): Define a stub, for Linux.
40381         (results_g, main): Avoid warnings.
40382
40383 2008-02-12  Eric Blake  <ebb9@byu.net>
40384
40385         Silence warning in last patch.
40386         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
40387
40388         Quotearg part 4: add tests, fix c-maybe colon quoting.
40389         * lib/quotearg.h: Improve documentation.
40390         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
40391         escapes when adding outer quotes.  When quoting trigraphs, use
40392         valid C notation.  When quoting NUL, omit extra characters if next
40393         character is not digit.  Alter prototype.
40394         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
40395         callers.
40396         * modules/quotearg-tests: New module.
40397         * tests/test-quotearg.c: New test.
40398
40399 2008-02-07  Eric Blake  <ebb9@byu.net>
40400
40401         Quotearg part 3: add flag to control outer quote elision.
40402         * lib/quotearg.h (c_maybe_quoting_style): New style.
40403         (enum quoting_flags): Better documentation of flags.
40404         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
40405         c-maybe style.
40406         (quotearg_buffer_restyled): Handle new flag to elide outer
40407         quotes.
40408
40409         Quotearg part 2: add flag that can control NUL elision.
40410         * lib/quotearg.h (set_quoting_flags): New prototype.
40411         * lib/quotearg.c (struct quoting_options): Add flag field.
40412         (set_quoting_flags): New function.
40413         (quotearg_buffer_restyled): Add flags parameter.
40414         (quotearg_alloc_mem): Set the flag if length cannot be returned.
40415         (quotearg_n_options): Set the flag, since length cannot be
40416         returned.
40417         (quoting_options_from_style): Default flags correctly.
40418
40419         Quotearg part 1: more wrappers, restore quotearg_char state.
40420         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
40421         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
40422         (quotearg_colon_mem): New wrappers.
40423         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
40424         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
40425         functions.
40426         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
40427         (quotearg_colon_mem): New functions.
40428
40429 2008-02-11  Bruno Haible  <bruno@clisp.org>
40430
40431         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
40432         library in the current directory: it does not work with parallel make.
40433         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40434
40435 2008-02-11  Bruno Haible  <bruno@clisp.org>
40436
40437         * .gitattributes: New file.
40438
40439 2008-02-11  Jim Meyering  <meyering@redhat.com>
40440
40441         useless-if-before-free: Fix reversed exit values.
40442         * build-aux/useless-if-before-free: Use correct values
40443         for EXIT_MATCH and EXIT_NO_MATCH.
40444
40445         * build-aux/useless-if-before-free: Close stdout carefully.
40446
40447 2008-02-10  Bruno Haible  <bruno@clisp.org>
40448
40449         New module 'git-merge-changelog'.
40450         * modules/git-merge-changelog: New file.
40451         * lib/git-merge-changelog.c: New file.
40452
40453 2008-02-10  Jim Meyering  <meyering@redhat.com>
40454
40455         useless-if-before-free: New option: --list (-l).
40456
40457         useless-if-before-free: Don't exit immediately upon open failure.
40458         * build-aux/useless-if-before-free: Exit 2 for errors.
40459         Upon failure to open a file, don't exit immediately.
40460         Rather, just warn and continue with any remaining files.
40461
40462 2008-02-10  Bruno Haible  <bruno@clisp.org>
40463
40464         New abstract list operation 'node_set_value'.
40465         * lib/gl_list.h (gl_list_node_set_value): New function.
40466         (struct gl_list_implementation): New field node_set_value.
40467         * lib/gl_list.c (gl_list_node_set_value): New function.
40468         * lib/gl_array_list.c (gl_array_node_set_value): New function.
40469         (gl_array_list_implementation): Update.
40470         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
40471         (gl_carray_list_implementation): Update.
40472         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
40473         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40474         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40475         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
40476         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40477         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40478         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40479         Update.
40480         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40481         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
40482         (gl_sublist_list_implementation): Update.
40483
40484 2008-02-10  Bruno Haible  <bruno@clisp.org>
40485
40486         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
40487         Needed when ELEMENT is #defined to 'some_type *'.
40488
40489 2008-02-10  Jim Meyering  <meyering@redhat.com>
40490
40491         New script and module: useless-if-before-free
40492         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
40493         * build-aux/useless-if-before-free: New file.
40494         * modules/useless-if-before-free: New file.
40495
40496         * build-aux/gitlog-to-changelog: Use committer date, not author date.
40497
40498         xstrtol_error: Fix typo.
40499         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
40500         s/exit_failure/exit_status/.
40501
40502 2008-02-09  Jim Meyering  <meyering@redhat.com>
40503
40504         New script and module: gitlog-to-changelog
40505         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
40506         * modules/gitlog-to-changelog: New file.
40507         * build-aux/gitlog-to-changelog: New file.
40508
40509 2008-02-08  Jim Meyering  <meyering@redhat.com>
40510
40511         Avoid two "parameter unused" warnings.
40512         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
40513         Mark "st" as used.
40514
40515         Use "git COMMAND", not "git-COMMAND".
40516         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
40517         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
40518         * build-aux/git-version-gen: Use "git status", not "git-status".
40519
40520 2008-02-07  Bruno Haible  <bruno@clisp.org>
40521
40522         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
40523         Avoids a crash on Windows Vista.
40524         Reported by Adam Strzelecki <ono@java.pl> via
40525         Simon Josefsson <simon@josefsson.org>.
40526
40527 2008-02-06  Bruno Haible  <bruno@clisp.org>
40528
40529         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
40530         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
40531         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
40532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
40533         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40534         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40535         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
40536         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
40537         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40538         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40539         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40540         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40541         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40542         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40543         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40544         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
40545         left-adjust flag.
40546         * tests/test-snprintf-posix.h (test_function): Likewise.
40547         * tests/test-sprintf-posix.h (test_function): Likewise.
40548         * tests/test-vasprintf-posix.c (test_function): Likewise.
40549         * doc/posix-functions/fprintf.texi: Update.
40550         * doc/posix-functions/printf.texi: Update.
40551         * doc/posix-functions/snprintf.texi: Update.
40552         * doc/posix-functions/sprintf.texi: Update.
40553         * doc/posix-functions/vfprintf.texi: Update.
40554         * doc/posix-functions/vprintf.texi: Update.
40555         * doc/posix-functions/vsnprintf.texi: Update.
40556         * doc/posix-functions/vsprintf.texi: Update.
40557         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40558
40559 2008-02-06  Bruno Haible  <bruno@clisp.org>
40560
40561         Fix bug introduced on 2008-01-26.
40562         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
40563
40564 2008-02-06  Bruno Haible  <bruno@clisp.org>
40565
40566         Fix bug introduced on 2007-06-10.
40567         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
40568         !NEED_PRINTF_FLAG_ZERO.
40569
40570 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
40571
40572         getloadavg: use libperfstat on AIX5
40573         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
40574
40575 2008-02-03  Bruno Haible  <bruno@clisp.org>
40576
40577         * lib/diffseq.h: Add comments about required #includes.
40578         Reported by Michael Biggs <gnulib@doubleplum.net>.
40579
40580 2008-02-01  Bruno Haible  <bruno@clisp.org>
40581
40582         * users.txt: Add gnuit.
40583
40584 2008-01-31  Bruno Haible  <bruno@clisp.org>
40585
40586         * lib/md4.c (set_uint32): Mark as inline.
40587         * lib/md5.c (set_uint32): Likewise.
40588         * lib/sha1.c (set_uint32): Likewise.
40589         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
40590         * m4/md5.m4 (gl_MD5): Likewise.
40591         * m4/sha1.m4 (gl_SHA1): Likewise.
40592
40593 2008-01-31  Jim Meyering  <meyering@redhat.com>
40594
40595         Use "sizeof VAR", rather than a literal "4".
40596         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
40597         * lib/md4.c (md4_read_ctx): Likewise.
40598         * lib/sha1.c (sha1_read_ctx): Likewise.
40599
40600 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40601
40602         * tests/test-sha1.c: New file, based on test-md5.c.
40603
40604         * modules/crypto/sha1-tests: New file.
40605
40606 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40607
40608         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
40609
40610 2008-01-31  Jim Meyering  <meyering@redhat.com>
40611
40612         Prefer "sizeof v" over the equivalent "4".
40613         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
40614         * lib/md5.c (set_uint32): Likewise.
40615         * lib/sha1.c (set_uint32): Likewise.
40616
40617 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40618
40619         * lib/sha1.c (set_uint32): Mark function as static.
40620
40621 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40622
40623         md2: clarify comments to say that alignment is not required.
40624         * lib/md2.h: Remove warning about alignment in comment.
40625         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
40626         never been required.
40627
40628 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40629
40630         md4: adapt alignment constraint fix from sha1.
40631         * lib/md4.c (set_uint32): New function, from sha1.c
40632         (md4_read_ctx): Use it.
40633         (md4_finish_ctx): Doc fix.
40634         * lib/md4.h: Doc fix.
40635
40636 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40637
40638         md5: adapt alignment constraint fix from sha1.
40639         * lib/md5.c (set_uint32): New function, from sha1.c
40640         (md5_read_ctx): Use it.
40641         (md5_finish_ctx): Doc fix.
40642         * lib/md5.h: Doc fix.
40643
40644 2008-01-30  Peter Palfrader  <weasel@debian.org>
40645
40646         sha1: remove the result buffer alignment constraint
40647         * lib/sha1.c (set_uint32): New function.
40648         (sha1_read_ctx): Rewrite to remove the result buffer alignment
40649         constraint.
40650         (sha1_finish_ctx): Remove comment warning about alignment constraint.
40651         * lib/sha1.h: Likewise.
40652
40653 2008-01-30  Andreas Schwab  <schwab@suse.de>
40654             Bruno Haible  <bruno@clisp.org>
40655
40656         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
40657         correct definition of LDBL_MIN_EXP.
40658
40659 2008-01-30  Karl Berry  <karl@gnu.org>
40660
40661         * config/srclist-update: try to preserve x bit on updates.
40662         * config/srclistvars.sh: update for karl.
40663
40664 2008-01-29  Jim Meyering  <meyering@redhat.com>
40665
40666         vasnprintf.c: Avoid warning about unused label
40667         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
40668         "overflow" label definition and associated code with the
40669         same cpp condition that guards the sole use of that label.
40670
40671 2008-01-26  Bruno Haible  <bruno@clisp.org>
40672
40673         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
40674         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
40675         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
40676         * lib/isnanl-nolibm.h (isnanl): Likewise.
40677         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40678
40679 2008-01-26  Bruno Haible  <bruno@clisp.org>
40680
40681         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
40682         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
40683
40684 2008-01-26  Bruno Haible  <bruno@clisp.org>
40685
40686         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40687         GCC >= 4.0 built-in.
40688         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40689
40690 2008-01-26  Bruno Haible  <bruno@clisp.org>
40691
40692         Rename isnan, applicable to 'double' only, to isnand.
40693         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40694         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40695         (configure.ac): Update.
40696         (Include): Replace "isnan.h" with "isnand.h".
40697         * m4/isnand.m4: Renamed from m4/isnan.m4.
40698         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40699         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40700         instead of isnan.c.
40701         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40702         instead of HAVE_ISNAN_IN_LIBC.
40703         (isnand): Renamed from isnan.
40704         * lib/isnand.c: New file.
40705         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40706         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40707         (Makefile.am): Update.
40708         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40709         Include isnand.h instead of isnan.h.
40710         (main): Test isnand instead of isnan.
40711         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40712         isnan-nolibm.
40713         * modules/frexp (Depends-on): Likewise.
40714         * modules/frexp-tests (Depends-on): Likewise.
40715         * modules/frexp-nolibm (Depends-on): Likewise.
40716         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40717         * modules/isfinite (Depends-on): Likewise.
40718         * modules/round-tests (Depends-on): Likewise.
40719         * modules/signbit (Depends-on): Likewise.
40720         * modules/signbit-tests (Depends-on): Likewise.
40721         * modules/snprintf-posix (Depends-on): Likewise.
40722         * modules/sprintf-posix (Depends-on): Likewise.
40723         * modules/trunc-tests (Depends-on): Likewise.
40724         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40725         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40726         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40727         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40728         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40729         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40730         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40731         * modules/vasnprintf-posix (Depends-on): Likewise.
40732         * modules/vasprintf-posix (Depends-on): Likewise.
40733         * modules/vfprintf-posix (Depends-on): Likewise.
40734         * modules/vsnprintf-posix (Depends-on): Likewise.
40735         * modules/vsprintf-posix (Depends-on): Likewise.
40736         * lib/frexp.c: Include isnand.h instead of isnan.h.
40737         (ISNAN): Set to isnand instead of isnan.
40738         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40739         (gl_isfinited): Use isnand instead of isnan.
40740         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40741         (gl_signbitd): Use isnand instead of isnan.
40742         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40743         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40744         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40745         (main): Use isnand instead of isnan.
40746         * tests/test-round1.c: Include isnand.h.
40747         (main): Use isnand instead of isnan.
40748         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40749         (ISNAN): Set to isnand instead of isnan.
40750         * tests/test-trunc1.c: Include isnand.h.
40751         (main): Use isnand instead of isnan.
40752         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40753         (equal): Use isnand instead of isnan.
40754         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40755         isnand-nolibm.
40756         * NEWS: Mention the change.
40757
40758 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40759             Bruno Haible  <bruno@clisp.org>
40760
40761         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40762         the GCC builtins for signbits are present and set
40763         REPLACE_SIGNBIT_USING_GCC if so.
40764         * lib/math.in.h (signbit): Define using GCC builtins if
40765         REPLACE_SIGNBIT_USING_GCC is set.
40766         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40767         REPLACE_SIGNBIT_USING_GCC.
40768         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40769
40770 2008-01-25  Jim Meyering  <meyering@redhat.com>
40771
40772         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40773         * lib/poll.c: Include <config.h>, not "config.h".
40774         * tests/test-getaddrinfo.c: Likewise.
40775
40776 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40777
40778         * modules/sockets-tests: New file.
40779
40780 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40781
40782         * modules/sockets: New module, can be used to call WSA_Startup and
40783         WSA_Cleanup when needed.
40784
40785         * lib/sockets.h, lib/sockets.c: New files.
40786
40787         * m4/sockets.m4: New file.
40788
40789         * tests/test-sockets.c: New file.
40790
40791 2008-01-19  Bruno Haible  <bruno@clisp.org>
40792
40793         * doc/posix-headers: Renamed from doc/headers.
40794         * doc/posix-functions: Renamed from doc/functions.
40795         * doc/gnulib.texi: Update.
40796
40797 2008-01-19  Bruno Haible  <bruno@clisp.org>
40798
40799         * doc/glibc-functions/strcasestr.texi: Include contents of
40800         doc/functions/strcasestr.texi, fixing the list of platforms.
40801         * doc/functions/strcasestr.texi: Remove file.
40802
40803 2008-01-19  Bruno Haible  <bruno@clisp.org>
40804
40805         * doc/glibc-functions/memmem.texi: Include contents of
40806         doc/functions/memmem.texi.
40807         * doc/functions/memmem.texi: Remove file.
40808
40809 2008-01-18  Bruno Haible  <bruno@clisp.org>
40810
40811         * doc/glibc-functions/*.texi: New files.
40812         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40813         to use the new files.
40814
40815 2008-01-17  Bruno Haible  <bruno@clisp.org>
40816
40817         * tests/test-gethostname.c (main): Fix printf statement.
40818
40819 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40820
40821         * modules/gethostname-tests: New file.
40822
40823         * tests/test-gethostname.c: New file.
40824
40825 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40826
40827         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40828         used by the UNAME case.  Reported by Bruno Haible
40829         <bruno@clisp.org>.
40830
40831 2008-01-17  Eric Blake  <ebb9@byu.net>
40832
40833         Convert c-strcasestr to be more efficient.
40834         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40835         (Depends-on): Add c-strcase, remove malloca, strnlen.
40836         * tests/test-c-strcasestr.c (main): Enhance test.
40837         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40838
40839 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40840
40841         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40842         Use it in creating po/Makevars.
40843
40844 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40845
40846         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40847         Applications that requires it should initialize libgcrypt
40848         manually.
40849
40850 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40851
40852         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40853
40854 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40855
40856         Fix problem with getdate on mingw32 reported by Simon Josefsson
40857         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40858         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40859         tzname", when deciding whether to declare tzname.
40860         * lib/strftime.c (tzname): Likewise.
40861
40862 2008-01-15  Bruno Haible  <bruno@clisp.org>
40863
40864         Work around a MacOS X 10.5 bug in frexpl().
40865         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40866         * doc/functions/frexpl.texi: Document the bug.
40867         Reported by Elias Pipping <pipping@gentoo.org>.
40868
40869 2008-01-14  Eric Blake  <ebb9@byu.net>
40870
40871         Touch up previous patch.
40872         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40873         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40874
40875         Convert strcasestr module to use Two-Way algorithm.
40876         * modules/strcasestr-simple: New module, based on the old
40877         strcasestr, but with Two-Way rather than KMP.
40878         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40879         * lib/string.in.h (rpl_strcasestr): Declare.
40880         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40881         performance.
40882         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40883         * modules/string (Makefile.am): Support strcasestr.
40884         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40885         * modules/strcasestr-tests (Depends-on): Check for alarm.
40886         * tests/test-strcasestr.c: Augment test.
40887         * lib/str-two-way.h: Clean up stray macro.
40888         * NEWS: Document new module.
40889         * MODULES.html.sh (string handling): Likewise.
40890         * doc/functions/strcasestr.texi: New file.
40891         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40892         here, since it is not a POSIX function.
40893
40894 2008-01-14  Colin Watson  <cjwatson@debian.org>
40895             Bruno Haible  <bruno@clisp.org>
40896
40897         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40898         works fine; if not, set REPLACE_STRSIGNAL.
40899         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40900         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40901         REPLACE_STRSIGNAL.
40902         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40903         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40904         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40905
40906 2008-01-14  Bruno Haible  <bruno@clisp.org>
40907
40908         * modules/strsignal (Include): Change to <string.h>.
40909
40910 2008-01-14  Colin Watson  <cjwatson@debian.org>
40911
40912         * modules/argp (Notice): Add a notice recommending to change
40913         XGETTEXT_OPTIONS.
40914         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40915
40916 2008-01-13  Colin Watson  <cjwatson@debian.org>
40917
40918         * modules/strsignal-tests: New file.
40919         * tests/test-strsignal.c: New file.
40920
40921         * lib/strsignal.c: New file, from glibc with modifications.
40922         * lib/siglist.h: New file, from glibc with modifications.
40923         * lib/string.in.h (strsignal): New declaration.
40924         * m4/strsignal.m4: New file.
40925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40926         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
40927         * modules/strsignal: New file.
40928         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
40929         HAVE_DECL_STRSIGNAL.
40930
40931 2008-01-13  Bruno Haible  <bruno@clisp.org>
40932
40933         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
40934         locale encoding is not ASCII. Needed for OpenBSD 4.0.
40935         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40936         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40937
40938 2008-01-13  Bruno Haible  <bruno@clisp.org>
40939
40940         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
40941         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
40942         * lib/argp.h (__attribute__): Likewise.
40943         * lib/c-stack.c (__attribute__): Likewise.
40944         * lib/error.h (__attribute__): Likewise.
40945         * lib/fts.c (__attribute__): Likewise.
40946         * lib/openat.h (__attribute__): Likewise.
40947         * lib/stdio.in.h (__attribute__): Likewise.
40948         * lib/string.in.h (__attribute__): Likewise.
40949         * lib/utimens.c (__attribute__): Likewise.
40950         * lib/vasnprintf.h (__attribute__): Likewise.
40951         * lib/xalloc.h (__attribute__): Likewise.
40952         * lib/xprintf.h (__attribute__): Likewise.
40953         * lib/xstrtol.h (__attribute__): Likewise.
40954         * lib/xvasprintf.h (__attribute__): Likewise.
40955
40956 2008-01-12  Bruno Haible  <bruno@clisp.org>
40957
40958         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
40959         * doc/glibc-headers/a.out.texi: New file.
40960         * doc/glibc-headers/aliases.texi: New file.
40961         * doc/glibc-headers/alloca.texi: New file.
40962         * doc/glibc-headers/ar.texi: New file.
40963         * doc/glibc-headers/argp.texi: New file.
40964         * doc/glibc-headers/argz.texi: New file.
40965         * doc/glibc-headers/byteswap.texi: New file.
40966         * doc/glibc-headers/crypt.texi: New file.
40967         * doc/glibc-headers/endian.texi: New file.
40968         * doc/glibc-headers/envz.texi: New file.
40969         * doc/glibc-headers/err.texi: New file.
40970         * doc/glibc-headers/error.texi: New file.
40971         * doc/glibc-headers/execinfo.texi: New file.
40972         * doc/glibc-headers/fpu_control.texi: New file.
40973         * doc/glibc-headers/fstab.texi: New file.
40974         * doc/glibc-headers/fts.texi: New file.
40975         * doc/glibc-headers/getopt.texi: New file.
40976         * doc/glibc-headers/ieee754.texi: New file.
40977         * doc/glibc-headers/ifaddrs.texi: New file.
40978         * doc/glibc-headers/libintl.texi: New file.
40979         * doc/glibc-headers/mcheck.texi: New file.
40980         * doc/glibc-headers/mntent.texi: New file.
40981         * doc/glibc-headers/obstack.texi: New file.
40982         * doc/glibc-headers/paths.texi: New file.
40983         * doc/glibc-headers/printf.texi: New file.
40984         * doc/glibc-headers/pty.texi: New file.
40985         * doc/glibc-headers/resolv.texi: New file.
40986         * doc/glibc-headers/shadow.texi: New file.
40987         * doc/glibc-headers/sysexits.texi: New file.
40988         * doc/glibc-headers/ttyent.texi: New file.
40989
40990 2008-01-12  Jim Meyering  <meyering@redhat.com>
40991
40992         announce-gen: emit Gnulib's git-based version string.
40993         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
40994         New option --gnulib-version=V, where V is expected to be
40995         the output of running git describe in the gnulib directory.
40996         (get_tool_versions): Request feedback on xdelta.  I suspect it's
40997         not useful, and plan to stop publishing an xdelta file with each
40998         coreutils release.
40999
41000         * build-aux/announce-gen: Also check for lzma-compressed files.
41001
41002 2008-01-11  Bruno Haible  <bruno@clisp.org>
41003
41004         * tests/test-memmem.c (main): Increase maximum allowed time.
41005         * tests/test-strstr.c (main): Likewise.
41006
41007 2008-01-11  Bruno Haible  <bruno@clisp.org>
41008
41009         * doc/functions/memmem.texi: Add more precisions about platforms.
41010         * doc/functions/strstr.texi: Likewise.
41011
41012 2008-01-10  Eric Blake  <ebb9@byu.net>
41013
41014         * m4/strstr.m4: Delete cruft from copy-n-paste.
41015         Reported by Bruno Haible.
41016
41017 2008-01-10  Bruno Haible  <bruno@clisp.org>
41018
41019         Make c-strstr rely on strstr.
41020         * lib/c-strstr.c: Don't include str-kmp.h.
41021         (c_strstr): Define in terms of strstr.
41022         * modules/c-strstr (Files): Remove lib/str-kmp.h.
41023         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
41024
41025 2008-01-10  Bruno Haible  <bruno@clisp.org>
41026
41027         * doc/gnulib.texi (String Functions in C Locale): New section.
41028         * doc/c-ctype.texi: New file.
41029         * doc/c-strcase.texi: New file.
41030         * doc/c-strcaseeq.texi: New file.
41031         * doc/c-strcasestr.texi: New file.
41032         * doc/c-strstr.texi: New file.
41033         * doc/c-strtod.texi: New file.
41034         * doc/c-strtold.texi: New file.
41035
41036 2008-01-10  Eric Blake  <ebb9@byu.net>
41037
41038         * lib/relocatable.h: Fix a comment.
41039
41040 2008-01-10  Eric Blake  <ebb9@byu.net>
41041
41042         Share two-way algorithm.
41043         * lib/str-two-way.h: New file, merged from...
41044         * lib/memmem.c: ...here...
41045         * lib/strstr.c: ...and here.
41046         * modules/memmem (Files): Use it.
41047         * modules/strstr (Files): Likewise.
41048
41049         Avoid quadratic strstr implementations.
41050         * lib/strstr.c: New file.
41051         * m4/strstr.m4: Likewise.
41052         * modules/strstr: Likewise.
41053         * modules/strstr-tests: Likewise.
41054         * tests/test-strstr.c: Likewise.
41055         * lib/string.in.h (rpl_strstr): Declare.
41056         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
41057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
41058         * modules/string (Makefile.am): Likewise.
41059         * MODULES.html.sh (string handling): Mention new module.
41060         * doc/functions/strstr.texi (strstr): Document the bug.
41061
41062 2008-01-10  Bruno Haible  <bruno@clisp.org>
41063
41064         * lib/relocatable.h (relocate): State whether result is freshly
41065         allocated or not.
41066         * lib/relocatable.c (relocate): Return a freshly allocated string
41067         instead of a pointer to a privately held string.
41068         Reported by Sylvain Beucler <beuc@gnu.org>.
41069
41070 2008-01-10  Colin Watson  <cjwatson@debian.org>
41071
41072         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
41073         s/S_ISNLK/S_ISLNK/.
41074
41075 2008-01-09  Bruno Haible  <bruno@clisp.org>
41076
41077         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
41078         and other files.
41079         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
41080         if it's only a guess.
41081         * modules/memmem: Simplify by depending on memmem-simple.
41082
41083 2008-01-09  Bruno Haible  <bruno@clisp.org>
41084
41085         Work around OpenBSD 4.0 tdelete() bug.
41086         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
41087         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
41088         macros and don't redefine the enum values.
41089         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
41090         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
41091         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
41092
41093 2008-01-09  Bruno Haible  <bruno@clisp.org>
41094
41095         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
41096         (main): Don't perform the tests if setlocale did not install a UTF-8
41097         locale. Needed on OpenBSD 4.0.
41098         * modules/wcwidth-tests (Depends-on): Add localcharset.
41099
41100 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
41101
41102         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
41103         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
41104         * NEWS: announce this.
41105         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
41106
41107 2008-01-09  Simon Josefsson  <simon@josefsson.org>
41108         and Eric Blake  <ebb9@byu.net>
41109
41110         Add memmem-simple module.
41111         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
41112         (gl_FUNC_MEMMEM): Separate performance from presence checks.
41113         * modules/memmem-simple: New file.
41114         * modules/memmem (Description): Tweak.
41115         * MODULES.html.sh (string handling): Mention new module.
41116         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
41117         addressed by memmem-simple.
41118         * NEWS: Document the difference.
41119
41120 2008-01-09  Eric Blake  <ebb9@byu.net>
41121
41122         Give gcc some memmem optimization hints.
41123         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
41124         (strcasestr): Declare as pure.
41125         * modules/memmem (Maintainer): Claim my implementation.
41126
41127 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41128
41129         Support AIX 6.1 and higher.
41130         * build-aux/config.libpath: Likewise.
41131         * build-aux/config.rpath: Likewise.
41132
41133 2008-01-08  Jim Meyering  <meyering@redhat.com>
41134             Bruno Haible  <bruno@clisp.org>
41135
41136         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
41137         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
41138         Reported by Peter Fales in
41139         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
41140
41141 2008-01-08  Bruno Haible  <bruno@clisp.org>
41142
41143         * modules/unictype/category-of (Depends-on): Add
41144         unictype/category-none.
41145         * modules/unictype/category-and-tests (Depends-on): Add
41146         unictype/category-{L,N,Lu,Nd}.
41147         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
41148         * modules/unictype/category-or-tests (Depends-on): Add
41149         unictype/category-{L,N}.
41150         * modules/unictype/category-name-tests (Depends-on): Add
41151         unictype/category-{Z,Nl}.
41152         Reported by Simon Josefsson.
41153
41154 2008-01-08  Bruno Haible  <bruno@clisp.org>
41155
41156         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
41157         convention better.
41158         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
41159         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
41160         Reported by Peter Miller <millerp@canb.auug.org.au>.
41161
41162 2008-01-08  Eric Blake  <ebb9@byu.net>
41163
41164         Rewrite memmem to guarantee linear complexity without malloc.
41165         * lib/memmem.c (memmem): Use Two-Way rather than
41166         Knuth-Morris-Pratt, to allow O(1) space usage.
41167         (critical_factorization, two_way_short_needle)
41168         (two_way_long_needle): New functions.
41169         (knuth_morris_pratt): Delete.
41170         * modules/memmem (Depends-on): No longer need malloca or stdbool.
41171         Add stdint.
41172         * tests/test-memmem.c (main): Add tests for periodic needle and
41173         sublinear performance.
41174         * doc/functions/memmem.texi (memmem): Document other deficiencies
41175         in cygwin and older glibc.
41176
41177 2008-01-08  Bruno Haible  <bruno@clisp.org>
41178
41179         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
41180         augmentation.
41181
41182 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
41183
41184         Add a configure time option: --disable-acl.
41185         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
41186         AC_ARG_ENABLE(acl).
41187
41188 2008-01-06  Simon Josefsson  <simon@josefsson.org>
41189
41190         * tests/test-localename.c: Don't include obsolete "setenv.h".
41191
41192         * modules/localename-tests (Depends-on): Need unsetenv.
41193
41194 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41195
41196         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
41197
41198 2008-01-06  Colin Watson  <cjwatson@debian.org>
41199
41200         * users.txt: Add man-db.
41201
41202 2008-01-07  Bruno Haible  <bruno@clisp.org>
41203
41204         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
41205         previous section name.
41206
41207 2008-01-07  Bruno Haible  <bruno@clisp.org>
41208
41209         * lib/progname.c (set_program_name): Don't strip off a leading
41210         "lt-" prefix outside a .libs directory.
41211         Suggested by Paul Eggert.
41212
41213 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
41214             Bruno Haible  <bruno@clisp.org>
41215
41216         Improve memory cleanup in 'relocatable' module.
41217         * lib/relocatable.h (compute_curr_prefix): Change return type to
41218         'char *'.
41219         * lib/relocatable.c (compute_curr_prefix): Change return type to
41220         'char *'. Free curr_installdir after use.
41221         (relocate): Free curr_prefix_better after use.
41222         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
41223
41224 2008-01-01  Bruno Haible  <bruno@clisp.org>
41225
41226         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
41227         failure on older glibc systems.
41228         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41229
41230 2008-01-05  Eric Blake  <ebb9@byu.net>
41231
41232         Avoid quadratic system memmem.
41233         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
41234         Reported by Ralf Wildenhues.
41235
41236         Fix memmem test for mingw.
41237         * modules/memmem-tests (configure.ac): Check for alarm.
41238         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
41239         it.
41240         * doc/functions/memmem.texi: New file.
41241         * doc/gnulib.texi (Function Substitutes): Add memmem.
41242         Reported by Bruno Haible.
41243
41244 2008-01-04  Bruno Haible  <bruno@clisp.org>
41245
41246         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
41247         Require gl_HEADER_STRINGS_H_DEFAULTS, not
41248         gl_HEADER_STRING_H_DEFAULTS.
41249
41250 2008-01-04  Eric Blake  <ebb9@byu.net>
41251
41252         Shorten duration of memmem test.
41253         * tests/test-memmem.c (main): Use alarm to declare failure if test
41254         is taking too long.
41255         Reported by Ralf Wildenhues.
41256
41257 2007-12-21  Simon Josefsson  <simon@josefsson.org>
41258
41259         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
41260         string, needed by strerror.
41261
41262 2008-01-03  Colin Watson  <cjwatson@debian.org>
41263             Bruno Haible  <bruno@clisp.org>
41264
41265         * doc/gnulib-tool.texi (Localization): New section.
41266
41267 2008-01-02  Bruno Haible  <bruno@clisp.org>
41268
41269         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
41270         variables to 'unsigned char *' type.
41271         Reported by Paul Eggert.
41272
41273 2008-01-02  Jim Meyering  <jim@meyering.net>
41274
41275         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
41276
41277 2007-12-31  Jim Meyering  <jim@meyering.net>
41278
41279         Avoid use of private FTS type name.
41280         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
41281
41282 2007-12-30  Karl Berry  <karl@gnu.org>
41283
41284         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
41285         work around defect in Texinfo and/or the standalone Info browser.
41286
41287 2007-12-30  Bruno Haible  <bruno@clisp.org>
41288
41289         Unify 5 copies of the KMP code.
41290         * lib/str-kmp.h: New file.
41291         * lib/c-strcasestr.c: Include str-kmp.h.
41292         (knuth_morris_pratt): Remove function.
41293         (c_strcasestr): Update.
41294         * lib/c-strstr.c: Include str-kmp.h.
41295         (knuth_morris_pratt): Remove function.
41296         (c_strcasestr): Update.
41297         * lib/mbscasestr.c: Include str-kmp.h.
41298         (knuth_morris_pratt_unibyte): Remove function.
41299         * lib/mbsstr.c: Include str-kmp.h.
41300         (knuth_morris_pratt_unibyte): Remove function.
41301         * lib/strcasestr.c: Include str-kmp.h.
41302         (knuth_morris_pratt): Remove function.
41303         (strcasestr): Update.
41304         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
41305         * modules/c-strstr (Files): Likewise.
41306         * modules/mbscasestr (Files): Likewise.
41307         * modules/mbsstr (Files): Likewise.
41308         * modules/strcasestr (Files): Likewise.
41309         Suggested by Paul Eggert.
41310
41311 2007-12-30  Bruno Haible  <bruno@clisp.org>
41312
41313         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
41314         defined.
41315
41316 2007-12-30  Bruno Haible  <bruno@clisp.org>
41317
41318         * lib/xmalloca.h: Include xalloc.h.
41319         (xnmalloca): New macro.
41320
41321 2007-12-30  Bruno Haible  <bruno@clisp.org>
41322
41323         * lib/malloca.h (nmalloca): New macro.
41324         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
41325         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
41326         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
41327         knuth_morris_pratt_multibyte): Likewise.
41328         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
41329         knuth_morris_pratt_multibyte): Likewise.
41330         * lib/memmem.c (knuth_morris_pratt): Likewise.
41331         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
41332
41333 2007-12-25  Bruno Haible  <bruno@clisp.org>
41334
41335         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
41336         * lib/glob.c: Don't include openat.h.
41337         (link_exists2_p): Add back the code that deals with the
41338         !GLOB_ALTDIRFUNC case.
41339         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
41340         let it do the filename concatenation.
41341         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
41342         * modules/glob (Depends-on): Remove openat.
41343
41344 2007-12-31  Bruno Haible  <bruno@clisp.org>
41345
41346         * modules/dirfd (License): Change to LGPLv2+.
41347         Approved by Jim Meyering.
41348
41349 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41350
41351         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
41352         when multiplying M by sizeof (size_t).
41353
41354 2007-12-10  Martin Lambers  <marlam@marlam.de>
41355
41356         Override getpagesize on mingw.
41357         * lib/getpagesize.c: New file.
41358         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
41359         * modules/getpagesize (Files): Add lib/getpagesize.c.
41360         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
41361         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41362         REPLACE_GETPAGESIZE.
41363         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
41364
41365 2007-12-25  Bruno Haible  <bruno@clisp.org>
41366
41367         * modules/localcharset (Notice): New field.
41368         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
41369         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
41370
41371 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41372             Bruno Haible  <bruno@clisp.org>
41373
41374         Avoid using the syntax symbol() in formatted documentation.
41375         * MODULES.html.sh (func_module): When replacing symbol() with a
41376         hyperlink, remove the parentheses. Show an error if some remain.
41377         Recognize and render the '...' syntax.
41378         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
41379         Rework. Add paragraph about GCC's inlining.
41380         * doc/alloca.texi: Likewise.
41381         * doc/error.texi: Remove parentheses from symbol reference.
41382         * doc/gnulib-intro.texi: Likewise.
41383         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
41384         * modules/fnmatch (Description): Reword to say "the ... function".
41385         * modules/full-read (Description): Likewise.
41386         * modules/full-write (Description): Likewise.
41387         * modules/safe-read (Description): Likewise.
41388         * modules/safe-write (Description): Likewise.
41389         * modules/strchrnul (Description): Likewise.
41390         * modules/trim (Description): Likewise.
41391         * modules/error (Description): Remove parentheses from symbol
41392         references.
41393         * modules/verror (Description): Likewise.
41394         Reported by Karl Berry.
41395
41396 2007-12-25  Bruno Haible  <bruno@clisp.org>
41397
41398         Fixup after 2007-10-16 commit.
41399         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
41400
41401 2007-12-24  Bruno Haible  <bruno@clisp.org>
41402
41403         Make --enable-relocatable work with DESTDIR.
41404         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
41405         to compute installdir from destprog.
41406         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
41407         also set the RELOC_DESTDIR variable.
41408         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
41409
41410 2007-12-24  Bruno Haible  <bruno@clisp.org>
41411
41412         Fix link error due to xalloc_die().
41413         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
41414         of xreadlink.
41415         * lib/relocwrapper.c: Update comments.
41416         * build-aux/install-reloc: Remove xreadlink.c from file list.
41417         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
41418         xreadlink.c.
41419         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
41420
41421 2007-12-24  Bruno Haible  <bruno@clisp.org>
41422
41423         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
41424         * lib/setenv.h: Remove file.
41425         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
41426         lib/setenv.h.
41427         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
41428         (Depends-on): Add stdlib.
41429         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
41430         gl_FUNC_UNSETENV.
41431         (Include): Replace setenv.h with <stdlib.h>.
41432         * modules/unsetenv: New file.
41433         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
41434         * lib/unsetenv.c: Include <stdlib.h> first.
41435         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
41436         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
41437         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
41438         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
41439         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
41440         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41441         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
41442         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41443         * doc/functions/unsetenv.texi: Update.
41444         * modules/xsetenv (Depends-on): Add unsetenv.
41445         * modules/getdate (Depends-on): Likewise.
41446         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
41447         * lib/xsetenv.c: Don't include setenv.h.
41448         * lib/getdate.y: Likewise.
41449         * lib/relocwrapper.c: Likewise.
41450         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
41451         (Depends-on): Add stdlib.
41452         * NEWS: Mention the changes.
41453         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
41454
41455 2007-12-23  Bruno Haible  <bruno@clisp.org>
41456
41457         * lib/memmem.c (memmem): Use lowercase variable names. Tab
41458         indentation.
41459
41460 2007-12-23  Bruno Haible  <bruno@clisp.org>
41461
41462         * lib/c-strcasestr.c: Add more comments.
41463         * lib/c-strstr.c: Likewise.
41464         * lib/mbscasestr.c: Likewise.
41465         * lib/mbsstr.c: Likewise.
41466         * lib/strcasestr.c: Likewise.
41467         * lib/memmem.c: Likewise.
41468
41469 2007-12-23  Bruno Haible  <bruno@clisp.org>
41470
41471         * tests/test-memmem.c: Include <string.h> first.
41472
41473 2007-12-22  Bruno Haible  <bruno@clisp.org>
41474
41475         * gnulib-tool (func_create_testdir): Change $auxdir while generating
41476         the contents of $testsbase.
41477         Reported by Ralf Wildenhues.
41478
41479 2007-12-22  Bruno Haible  <bruno@clisp.org>
41480
41481         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
41482         two variables local_ldadd_before, local_ldadd_last.
41483
41484 2007-12-20  Eric Blake  <ebb9@byu.net>
41485
41486         Work around circular library issue when cross-compiling.
41487         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
41488         that progname.o does not need to pull in rpl_memcmp.
41489
41490 2007-12-19  Eric Blake  <ebb9@byu.net>
41491
41492         Fix memmem to avoid O(n^2) worst-case complexity.
41493         * lib/memmem.c (knuth_morris_pratt): New function.
41494         (memmem): Use it if first few naive iterations fail.
41495         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
41496         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
41497         * modules/memchr (License): Likewise.
41498         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
41499         malloca.
41500         * tests/test-memmem.c: Rewrite, borrowing ideas from
41501         test-mbsstr1.c; the old version wouldn't even compile!
41502         * modules/memmem-tests: New file.
41503         * lib/string.in.h (rpl_memmem): Add declaration.
41504         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
41505         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
41506         REPLACE_MEMMEM.
41507
41508 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41509
41510         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
41511         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
41512         before any system include files, and undef after them all.  This
41513         should fix a problem on VMS reported by John E. Malmberg in
41514         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
41515
41516 2007-12-17  Eric Blake  <ebb9@byu.net>
41517
41518         Revert addition of verify, for BSD/OS.
41519         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
41520         can't handle large files, for the sake of obsolete platforms.
41521         * modules/fseeko (Depends-on): Remove verify.
41522         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
41523         * doc/functions/ftello.texi (ftello): Likewise.
41524         * doc/functions/fgetpos.texi (fgetpos): Likewise.
41525         Reported by Larry Jones.
41526
41527 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
41528
41529         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
41530         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
41531
41532 2007-12-17  Jim Meyering  <meyering@redhat.com>
41533
41534         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
41535         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
41536         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
41537         * modules/getcwd (Depends-on): Add openat.
41538         Reported by Petr Salinger.
41539
41540 2007-12-17  Bruno Haible  <bruno@clisp.org>
41541
41542         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
41543         avoid a segmentation fault of the configure test on x86_64 systems.
41544
41545 2007-12-15  Jim Meyering  <meyering@redhat.com>
41546
41547         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
41548
41549 2007-12-13  Eric Blake  <ebb9@byu.net>
41550
41551         Another fseek test.
41552         * tests/test-fseek.c (main): Also test ungetc handling.
41553         * tests/test-fseeko.c (main): Likewise.
41554         * modules/fseeko (Depends-on): Add verify.
41555         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
41556         large.
41557         Reported by Larry Jones.
41558
41559         Fix fseeko on mingw.
41560         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
41561         seek.
41562
41563         Beef up fseek tests.
41564         * tests/test-fseek.c (main): Also test eof handling.
41565         * tests/test-fseeko.c (main): Likewise.
41566         Reported by Larry Jones.
41567
41568 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
41569
41570         Fix fseeko on BSD-based platforms.
41571         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
41572         successful seek.
41573
41574 2007-12-12  Eric Blake  <ebb9@byu.net>
41575
41576         Allow circular dependency of separate libtests.a
41577         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
41578         when use_libtests.
41579
41580 2007-12-11  Eric Blake  <ebb9@byu.net>
41581
41582         Fix bug with -0.0L in previous patch.
41583         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
41584         * tests/test-isnan.c (main): Also test on zeroes.
41585         * tests/test-isnanf.c (main): Likewise.
41586         * tests/test-isnanl.h (main): Likewise.
41587
41588         Detect pseudo-denormals on x86 even when cross-compiling.
41589         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
41590         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
41591         invalid bit patterns that happen to satisfy ==.
41592
41593         Avoid link failures with separate libtests.a.
41594         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
41595         last, to satisfy circular dependencies.
41596
41597 2007-12-11  Eric Blake  <ebb9@byu.net>
41598         and Bruno Haible  <bruno@clisp.org>
41599
41600         Fix OpenBSD 4.0 <float.h> handling of long double.
41601         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
41602         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
41603         * doc/headers/float.texi (float.h): Document OpenBSD bug.
41604
41605 2007-12-11  Jim Meyering  <meyering@redhat.com>
41606
41607         * users.txt: Add libvirt.
41608
41609         Support versions of autoconf prior to 2.59c.
41610         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
41611         if it is not already defined.
41612
41613 2007-12-09  Bruno Haible  <bruno@clisp.org>
41614
41615         Let 'gnulib-tool --import' collect sources needed for the tests in
41616         tests/ rather than in lib/.
41617         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
41618         argument. If true, add rules to generate libtests.a, and put libtests.a
41619         into $(LDADD). Consider source files in subdirectories and set
41620         uses_subdirs.
41621         (func_emit_initmacro_start, func_emit_initmacro_end,
41622         func_emit_initmacro_done): Pass all arguments explicitly.
41623         (func_import): Determine two module lists main_modules,
41624         testsrelated_modules. Determine use_libtests. Determine two variables
41625         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
41626         instead of just sed_transform_lib_file. Determine two variables
41627         main_files and testsrelated_files. Compute 'files' as the union of
41628         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
41629         func_add_or_update. In the generated gnulib-comp.m4, collect the
41630         object files for tests/ in different variables than those for lib/.
41631         Substitute LIBTESTS_LIBDEPS.
41632         (func_create_testdir): Combine the uses_subdirs results from
41633         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
41634
41635 2007-12-09  Bruno Haible  <bruno@clisp.org>
41636
41637         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
41638         the build-aux directory.
41639
41640 2007-12-09  Bruno Haible  <bruno@clisp.org>
41641
41642         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
41643         introduced on 2006-09-09.
41644
41645 2007-12-07  Jim Meyering  <meyering@redhat.com>
41646
41647         Let these macros work also with autoconf-2.59.
41648         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
41649         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
41650         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41651
41652 2007-12-06  Jim Meyering  <meyering@redhat.com>
41653
41654         Avoid a configure-time syntax error in gl_FUNC_ACL.
41655         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
41656         function in each branch, before testing the cache variable.
41657
41658 2007-12-04  Eric Blake  <ebb9@byu.net>
41659
41660         Make scripts executable.
41661         * build-aux/config.guess: Add execute permissions.
41662         * build-aux/config.sub: Likewise.
41663         * build-aux/gendocs.sh: Likewise.
41664
41665         Fix frexp on mingw.
41666         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
41667         cross-compiling.
41668         * doc/functions/frexp.texi (frexp): Document the bug.
41669
41670         Make cygwin fseeko check more reliable.
41671         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
41672         version numbers, rather than unrelated feature check.
41673         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
41674         * doc/functions/ftello.texi (ftello): Likewise.
41675         Reported by Bruno Haible.
41676
41677         * m4/strerror.m4: Bump version number.
41678
41679 2007-12-03  Bruno Haible  <bruno@clisp.org>
41680
41681         * doc/functions/mprotect.texi: Mention the mingw problem.
41682
41683 2007-12-03  Eric Blake  <ebb9@byu.net>
41684
41685         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41686         REPLACE_STRERROR is initialized before this macro.
41687
41688 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41689
41690         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41691         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41692         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41693         put -lsec in even for programs other than 'ls'.  This fixes a problem
41694         for gettext reported by Bruno Haible in
41695         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41696         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41697         Add support for Solaris 10.  This isn't efficient, but should get the
41698         job done for now.
41699
41700 2007-12-03  James Youngman  <jay@gnu.org>
41701
41702         * doc/regexprops-generic.texi: change "an close-group" to "a
41703         close-group" and "illegal" to "not allowed".
41704
41705 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41706
41707         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41708         pr_byname.h. Needed for the rare case when the maintainer has done
41709         "make maintainer-clean" in the source directory and then attempts a
41710         build outside the source directory.
41711         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41712         scripts_byname.h.
41713
41714 2007-12-02  Martin Lambers <marlam@marlam.de>
41715             Bruno Haible  <bruno@clisp.org>
41716
41717         * lib/getpagesize.h: Remove file.
41718         * lib/unistd.in.h: Include declaration of getpagesize here.
41719         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41720         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41721         HAVE_SYS_PARAM_H.
41722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41723         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41724         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41725         (Depends-on): Add unistd.
41726         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41727         (Include): Use <unistd.h> instead of getpagesize.h.
41728         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41729         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41730         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41731         gl_GETPAGESIZE invocation, already handled by module dependency.
41732         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41733
41734 2007-12-02  Bruno Haible  <bruno@clisp.org>
41735
41736         * modules/strings-tests: New file.
41737         * tests/test-strings.c: New file.
41738
41739         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41740         * lib/strings.in.h: New file.
41741         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41742         * m4/strings_h.m4: New file.
41743         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41744         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41745         * modules/strings: New file.
41746         * modules/string (Makefile.am): Update.
41747         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41748         Reported by Karl Berry.
41749
41750 2007-12-01  Eric Blake  <ebb9@byu.net>
41751
41752         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41753         accomodate fix in cygwin 1.5.25.
41754
41755 2007-12-01  Jim Meyering  <meyering@redhat.com>
41756
41757         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41758         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41759         that would inhibit utf8-optimization of a regexp containing line-
41760         or buffer-anchors, e.g., `^', `$'.
41761
41762 2007-11-30  Bruno Haible  <bruno@clisp.org>
41763
41764         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41765         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41766         glthread_recursive_lock_init.
41767         * lib/lock.c (glthread_recursive_lock_init)
41768         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41769         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41770
41771 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41772
41773         New function qset_acl, like set_acl but with syscall semantics.
41774         * lib/acl.h (qset_acl): New decl.
41775         * lib/acl.c (qset_acl): New function.
41776         (set_acl): Use new function.  Use more-consistent diagnostics.
41777
41778 2007-11-28  Jim Meyering  <meyering@redhat.com>
41779
41780         * modules/physmem (License): Change from GPL to LGPLv2+.
41781
41782 2007-11-26  Bruno Haible  <bruno@clisp.org>
41783
41784         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41785         'long double' type has excess precision.
41786         Reported by Jim Meyering in
41787         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41788
41789 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41790
41791         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41792         Sync from <http://gnu.org/licenses>.
41793         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41794         with license text from same location.
41795         * doc/maintain.texi, doc/standards.texi:  Sync from
41796         <http://savannah.gnu.org/projects/gnustandards>.
41797
41798 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
41799         and Jim Meyering  <meyering@redhat.com>
41800
41801         Adjust getdate' grammar to accept a slightly more regular language.
41802         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41803         Before, the former was rejected.
41804         * lib/getdate.y (digits_to_date_time): New function, factored
41805         out of ...
41806         (number): ...here.  Just call digits_to_date_time.
41807         (hybrid): New non-terminal to handle an <unsigned number,
41808         signed relative offset> sequence consistently.
41809
41810 2007-11-18  Jim Meyering  <meyering@redhat.com>
41811
41812         Pull my changes from coreutils:
41813         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41814         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41815         use of $gnulib_tool_option_extras, so that it's separated from the
41816         preceding argument.
41817
41818         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41819         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41820         parent destination directories before copying a file into place.
41821
41822 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41823
41824         bootstrap: work also with 4-argument variant of AC_INIT
41825         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41826
41827 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41828
41829         Port test-getaddrinfo to Solaris.
41830         Problem reported by Bruno Haible in
41831         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41832         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41833         explanation of setting 'hints'.
41834         Don't reject an implementation merely because it returns EAI_SERVICE.
41835         (EAI_SERVICE): Define to 0 if not defined.
41836
41837 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41838
41839         The license of gnu-make and posix-shell is now "GPLed build tool".
41840         * modules/gnu-make (License): Likewise.
41841         * modules/posix-shell (License): Likewise.
41842
41843         New module posix-shell, for determining a POSIX shell
41844         or perhaps something that is close enough to a POSIX shell.
41845         * m4/posix-shell.m4: New file.
41846         * modules/posix-shell: New file.
41847
41848         * MODULES.html.sh: Mention new module.
41849
41850         New module gnu-make, for determining whether we're using GNU Make.
41851         * m4/gnu-make.m4: New file.
41852         * modules/gnu-make: New file.
41853         * MODULES.html.sh: Mention new module.
41854
41855 2007-11-14  Jim Meyering  <meyering@redhat.com>
41856
41857         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41858         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41859         use this macro to create a function _definition_.
41860         Remove useless "#undef ARGMATCH_DIE".
41861
41862 2007-11-14  Bruno Haible  <bruno@clisp.org>
41863
41864         * lib/config.charset: Update for OpenBSD 4.1.
41865         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41866
41867 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41868
41869         Document 64-bit #if problems in stdint.texi.
41870         * doc/headers/stdint.texi (stdint.h): Mention problems with
41871         64-bit-#if, and how to work around them.
41872
41873         Don't insist on 'long long int' support in the preprocessor.  It
41874         breaks too many things.  For example, PRIdMAX still uses a 'long
41875         long int' format with the latest Sun compiler, even though
41876         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41877         preprocessor problem.  This causes the latest coreutils to dump
41878         core on Solaris 10 sparc with the Sun C compiler.
41879         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41880         the troublesome expressions at configure-time, not at #if-time.
41881         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41882         preprocessor.
41883         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41884         compile-time C checks, done at 'configure'-time.
41885         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41886         * modules/inttypes (Makefile): Substitute the new symbols that
41887         gl_INTTYPES_H now generates.
41888         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41889
41890 2007-11-12  Bruno Haible  <bruno@clisp.org>
41891
41892         Tests for Unicode character classification functions.
41893
41894         * modules/unictype/bidicategory-byname-tests: New file.
41895         * modules/unictype/bidicategory-name-tests: New file.
41896         * modules/unictype/bidicategory-of-tests: New file.
41897         * modules/unictype/bidicategory-test-tests: New file.
41898         * modules/unictype/block-list-tests: New file.
41899         * modules/unictype/block-of-tests: New file.
41900         * modules/unictype/block-test-tests: New file.
41901         * modules/unictype/category-C-tests: New file.
41902         * modules/unictype/category-Cc-tests: New file.
41903         * modules/unictype/category-Cf-tests: New file.
41904         * modules/unictype/category-Cn-tests: New file.
41905         * modules/unictype/category-Co-tests: New file.
41906         * modules/unictype/category-Cs-tests: New file.
41907         * modules/unictype/category-L-tests: New file.
41908         * modules/unictype/category-Ll-tests: New file.
41909         * modules/unictype/category-Lm-tests: New file.
41910         * modules/unictype/category-Lo-tests: New file.
41911         * modules/unictype/category-Lt-tests: New file.
41912         * modules/unictype/category-Lu-tests: New file.
41913         * modules/unictype/category-M-tests: New file.
41914         * modules/unictype/category-Mc-tests: New file.
41915         * modules/unictype/category-Me-tests: New file.
41916         * modules/unictype/category-Mn-tests: New file.
41917         * modules/unictype/category-N-tests: New file.
41918         * modules/unictype/category-Nd-tests: New file.
41919         * modules/unictype/category-Nl-tests: New file.
41920         * modules/unictype/category-No-tests: New file.
41921         * modules/unictype/category-P-tests: New file.
41922         * modules/unictype/category-Pc-tests: New file.
41923         * modules/unictype/category-Pd-tests: New file.
41924         * modules/unictype/category-Pe-tests: New file.
41925         * modules/unictype/category-Pf-tests: New file.
41926         * modules/unictype/category-Pi-tests: New file.
41927         * modules/unictype/category-Po-tests: New file.
41928         * modules/unictype/category-Ps-tests: New file.
41929         * modules/unictype/category-S-tests: New file.
41930         * modules/unictype/category-Sc-tests: New file.
41931         * modules/unictype/category-Sk-tests: New file.
41932         * modules/unictype/category-Sm-tests: New file.
41933         * modules/unictype/category-So-tests: New file.
41934         * modules/unictype/category-Z-tests: New file.
41935         * modules/unictype/category-Zl-tests: New file.
41936         * modules/unictype/category-Zp-tests: New file.
41937         * modules/unictype/category-Zs-tests: New file.
41938         * modules/unictype/category-and-not-tests: New file.
41939         * modules/unictype/category-and-tests: New file.
41940         * modules/unictype/category-byname-tests: New file.
41941         * modules/unictype/category-name-tests: New file.
41942         * modules/unictype/category-none-tests: New file.
41943         * modules/unictype/category-of-tests: New file.
41944         * modules/unictype/category-or-tests: New file.
41945         * modules/unictype/category-test-withtable-tests: New file.
41946         * modules/unictype/combining-class-tests: New file.
41947         * modules/unictype/ctype-alnum-tests: New file.
41948         * modules/unictype/ctype-alpha-tests: New file.
41949         * modules/unictype/ctype-blank-tests: New file.
41950         * modules/unictype/ctype-cntrl-tests: New file.
41951         * modules/unictype/ctype-digit-tests: New file.
41952         * modules/unictype/ctype-graph-tests: New file.
41953         * modules/unictype/ctype-lower-tests: New file.
41954         * modules/unictype/ctype-print-tests: New file.
41955         * modules/unictype/ctype-punct-tests: New file.
41956         * modules/unictype/ctype-space-tests: New file.
41957         * modules/unictype/ctype-upper-tests: New file.
41958         * modules/unictype/ctype-xdigit-tests: New file.
41959         * modules/unictype/decimal-digit-tests: New file.
41960         * modules/unictype/digit-tests: New file.
41961         * modules/unictype/mirror-tests: New file.
41962         * modules/unictype/numeric-tests: New file.
41963         * modules/unictype/property-alphabetic-tests: New file.
41964         * modules/unictype/property-ascii-hex-digit-tests: New file.
41965         * modules/unictype/property-bidi-arabic-digit-tests: New file.
41966         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
41967         * modules/unictype/property-bidi-block-separator-tests: New file.
41968         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
41969         * modules/unictype/property-bidi-common-separator-tests: New file.
41970         * modules/unictype/property-bidi-control-tests: New file.
41971         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
41972         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
41973         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
41974         * modules/unictype/property-bidi-european-digit-tests: New file.
41975         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
41976         * modules/unictype/property-bidi-left-to-right-tests: New file.
41977         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
41978         * modules/unictype/property-bidi-other-neutral-tests: New file.
41979         * modules/unictype/property-bidi-pdf-tests: New file.
41980         * modules/unictype/property-bidi-segment-separator-tests: New file.
41981         * modules/unictype/property-bidi-whitespace-tests: New file.
41982         * modules/unictype/property-byname-tests: New file.
41983         * modules/unictype/property-combining-tests: New file.
41984         * modules/unictype/property-composite-tests: New file.
41985         * modules/unictype/property-currency-symbol-tests: New file.
41986         * modules/unictype/property-dash-tests: New file.
41987         * modules/unictype/property-decimal-digit-tests: New file.
41988         * modules/unictype/property-default-ignorable-code-point-tests: New file.
41989         * modules/unictype/property-deprecated-tests: New file.
41990         * modules/unictype/property-diacritic-tests: New file.
41991         * modules/unictype/property-extender-tests: New file.
41992         * modules/unictype/property-format-control-tests: New file.
41993         * modules/unictype/property-grapheme-base-tests: New file.
41994         * modules/unictype/property-grapheme-extend-tests: New file.
41995         * modules/unictype/property-grapheme-link-tests: New file.
41996         * modules/unictype/property-hex-digit-tests: New file.
41997         * modules/unictype/property-hyphen-tests: New file.
41998         * modules/unictype/property-id-continue-tests: New file.
41999         * modules/unictype/property-id-start-tests: New file.
42000         * modules/unictype/property-ideographic-tests: New file.
42001         * modules/unictype/property-ids-binary-operator-tests: New file.
42002         * modules/unictype/property-ids-trinary-operator-tests: New file.
42003         * modules/unictype/property-ignorable-control-tests: New file.
42004         * modules/unictype/property-iso-control-tests: New file.
42005         * modules/unictype/property-join-control-tests: New file.
42006         * modules/unictype/property-left-of-pair-tests: New file.
42007         * modules/unictype/property-line-separator-tests: New file.
42008         * modules/unictype/property-logical-order-exception-tests: New file.
42009         * modules/unictype/property-lowercase-tests: New file.
42010         * modules/unictype/property-math-tests: New file.
42011         * modules/unictype/property-non-break-tests: New file.
42012         * modules/unictype/property-not-a-character-tests: New file.
42013         * modules/unictype/property-numeric-tests: New file.
42014         * modules/unictype/property-other-alphabetic-tests: New file.
42015         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
42016         * modules/unictype/property-other-grapheme-extend-tests: New file.
42017         * modules/unictype/property-other-id-continue-tests: New file.
42018         * modules/unictype/property-other-id-start-tests: New file.
42019         * modules/unictype/property-other-lowercase-tests: New file.
42020         * modules/unictype/property-other-math-tests: New file.
42021         * modules/unictype/property-other-uppercase-tests: New file.
42022         * modules/unictype/property-paired-punctuation-tests: New file.
42023         * modules/unictype/property-paragraph-separator-tests: New file.
42024         * modules/unictype/property-pattern-syntax-tests: New file.
42025         * modules/unictype/property-pattern-white-space-tests: New file.
42026         * modules/unictype/property-private-use-tests: New file.
42027         * modules/unictype/property-punctuation-tests: New file.
42028         * modules/unictype/property-quotation-mark-tests: New file.
42029         * modules/unictype/property-radical-tests: New file.
42030         * modules/unictype/property-sentence-terminal-tests: New file.
42031         * modules/unictype/property-soft-dotted-tests: New file.
42032         * modules/unictype/property-space-tests: New file.
42033         * modules/unictype/property-terminal-punctuation-tests: New file.
42034         * modules/unictype/property-test-tests: New file.
42035         * modules/unictype/property-titlecase-tests: New file.
42036         * modules/unictype/property-unassigned-code-value-tests: New file.
42037         * modules/unictype/property-unified-ideograph-tests: New file.
42038         * modules/unictype/property-uppercase-tests: New file.
42039         * modules/unictype/property-variation-selector-tests: New file.
42040         * modules/unictype/property-white-space-tests: New file.
42041         * modules/unictype/property-xid-continue-tests: New file.
42042         * modules/unictype/property-xid-start-tests: New file.
42043         * modules/unictype/property-zero-width-tests: New file.
42044         * modules/unictype/scripts-tests: New file.
42045         * modules/unictype/syntax-c-ident-tests: New file.
42046         * modules/unictype/syntax-c-whitespace-tests: New file.
42047         * modules/unictype/syntax-java-ident-tests: New file.
42048         * modules/unictype/syntax-java-whitespace-tests: New file.
42049         * tests/unictype/test-bidi_byname.c: New file.
42050         * tests/unictype/test-bidi_name.c: New file.
42051         * tests/unictype/test-bidi_of.c: New file.
42052         * tests/unictype/test-bidi_test.c: New file.
42053         * tests/unictype/test-block_list.c: New file.
42054         * tests/unictype/test-block_of.c: New file.
42055         * tests/unictype/test-block_test.c: New file.
42056         * tests/unictype/test-categ_and.c: New file.
42057         * tests/unictype/test-categ_and_not.c: New file.
42058         * tests/unictype/test-categ_byname.c: New file.
42059         * tests/unictype/test-categ_name.c: New file.
42060         * tests/unictype/test-categ_none.c: New file.
42061         * tests/unictype/test-categ_of.c: New file.
42062         * tests/unictype/test-categ_or.c: New file.
42063         * tests/unictype/test-categ_test_withtable.c: New file.
42064         * tests/unictype/test-combining.c: New file.
42065         * tests/unictype/test-decdigit.c: New file.
42066         * tests/unictype/test-digit.c: New file.
42067         * tests/unictype/test-mirror.c: New file.
42068         * tests/unictype/test-numeric.c: New file.
42069         * tests/unictype/test-pr_byname.c: New file.
42070         * tests/unictype/test-pr_test.c: New file.
42071         * tests/unictype/test-predicate-part1.h: New file.
42072         * tests/unictype/test-predicate-part2.h: New file.
42073         * tests/unictype/test-scripts.c: New file.
42074         * tests/unictype/test-sy_c_ident.c: New file.
42075         * tests/unictype/test-sy_java_ident.c: New file.
42076
42077         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
42078         for Unicode 5.0.0.
42079         * tests/unictype/test-categ_Cc.c: Likewise.
42080         * tests/unictype/test-categ_Cf.c: Likewise.
42081         * tests/unictype/test-categ_Cn.c: Likewise.
42082         * tests/unictype/test-categ_Co.c: Likewise.
42083         * tests/unictype/test-categ_Cs.c: Likewise.
42084         * tests/unictype/test-categ_L.c: Likewise.
42085         * tests/unictype/test-categ_Ll.c: Likewise.
42086         * tests/unictype/test-categ_Lm.c: Likewise.
42087         * tests/unictype/test-categ_Lo.c: Likewise.
42088         * tests/unictype/test-categ_Lt.c: Likewise.
42089         * tests/unictype/test-categ_Lu.c: Likewise.
42090         * tests/unictype/test-categ_M.c: Likewise.
42091         * tests/unictype/test-categ_Mc.c: Likewise.
42092         * tests/unictype/test-categ_Me.c: Likewise.
42093         * tests/unictype/test-categ_Mn.c: Likewise.
42094         * tests/unictype/test-categ_N.c: Likewise.
42095         * tests/unictype/test-categ_Nd.c: Likewise.
42096         * tests/unictype/test-categ_Nl.c: Likewise.
42097         * tests/unictype/test-categ_No.c: Likewise.
42098         * tests/unictype/test-categ_P.c: Likewise.
42099         * tests/unictype/test-categ_Pc.c: Likewise.
42100         * tests/unictype/test-categ_Pd.c: Likewise.
42101         * tests/unictype/test-categ_Pe.c: Likewise.
42102         * tests/unictype/test-categ_Pf.c: Likewise.
42103         * tests/unictype/test-categ_Pi.c: Likewise.
42104         * tests/unictype/test-categ_Po.c: Likewise.
42105         * tests/unictype/test-categ_Ps.c: Likewise.
42106         * tests/unictype/test-categ_S.c: Likewise.
42107         * tests/unictype/test-categ_Sc.c: Likewise.
42108         * tests/unictype/test-categ_Sk.c: Likewise.
42109         * tests/unictype/test-categ_Sm.c: Likewise.
42110         * tests/unictype/test-categ_So.c: Likewise.
42111         * tests/unictype/test-categ_Z.c: Likewise.
42112         * tests/unictype/test-categ_Zl.c: Likewise.
42113         * tests/unictype/test-categ_Zp.c: Likewise.
42114         * tests/unictype/test-categ_Zs.c: Likewise.
42115         * tests/unictype/test-ctype_alnum.c: Likewise.
42116         * tests/unictype/test-ctype_alpha.c: Likewise.
42117         * tests/unictype/test-ctype_blank.c: Likewise.
42118         * tests/unictype/test-ctype_cntrl.c: Likewise.
42119         * tests/unictype/test-ctype_digit.c: Likewise.
42120         * tests/unictype/test-ctype_graph.c: Likewise.
42121         * tests/unictype/test-ctype_lower.c: Likewise.
42122         * tests/unictype/test-ctype_print.c: Likewise.
42123         * tests/unictype/test-ctype_punct.c: Likewise.
42124         * tests/unictype/test-ctype_space.c: Likewise.
42125         * tests/unictype/test-ctype_upper.c: Likewise.
42126         * tests/unictype/test-ctype_xdigit.c: Likewise.
42127         * tests/unictype/test-decdigit.h: Likewise.
42128         * tests/unictype/test-digit.h: Likewise.
42129         * tests/unictype/test-numeric.h: Likewise.
42130         * tests/unictype/test-pr_alphabetic.c: Likewise.
42131         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
42132         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42133         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42134         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
42135         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42136         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
42137         * tests/unictype/test-pr_bidi_control.c: Likewise.
42138         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
42139         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
42140         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42141         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42142         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42143         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42144         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42145         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42146         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
42147         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
42148         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
42149         * tests/unictype/test-pr_combining.c: Likewise.
42150         * tests/unictype/test-pr_composite.c: Likewise.
42151         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42152         * tests/unictype/test-pr_dash.c: Likewise.
42153         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42154         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
42155         * tests/unictype/test-pr_deprecated.c: Likewise.
42156         * tests/unictype/test-pr_diacritic.c: Likewise.
42157         * tests/unictype/test-pr_extender.c: Likewise.
42158         * tests/unictype/test-pr_format_control.c: Likewise.
42159         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42160         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42161         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42162         * tests/unictype/test-pr_hex_digit.c: Likewise.
42163         * tests/unictype/test-pr_hyphen.c: Likewise.
42164         * tests/unictype/test-pr_id_continue.c: Likewise.
42165         * tests/unictype/test-pr_id_start.c: Likewise.
42166         * tests/unictype/test-pr_ideographic.c: Likewise.
42167         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
42168         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
42169         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42170         * tests/unictype/test-pr_iso_control.c: Likewise.
42171         * tests/unictype/test-pr_join_control.c: Likewise.
42172         * tests/unictype/test-pr_left_of_pair.c: Likewise.
42173         * tests/unictype/test-pr_line_separator.c: Likewise.
42174         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42175         * tests/unictype/test-pr_lowercase.c: Likewise.
42176         * tests/unictype/test-pr_math.c: Likewise.
42177         * tests/unictype/test-pr_non_break.c: Likewise.
42178         * tests/unictype/test-pr_not_a_character.c: Likewise.
42179         * tests/unictype/test-pr_numeric.c: Likewise.
42180         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42181         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
42182         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
42183         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42184         * tests/unictype/test-pr_other_id_start.c: Likewise.
42185         * tests/unictype/test-pr_other_lowercase.c: Likewise.
42186         * tests/unictype/test-pr_other_math.c: Likewise.
42187         * tests/unictype/test-pr_other_uppercase.c: Likewise.
42188         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
42189         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
42190         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
42191         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
42192         * tests/unictype/test-pr_private_use.c: Likewise.
42193         * tests/unictype/test-pr_punctuation.c: Likewise.
42194         * tests/unictype/test-pr_quotation_mark.c: Likewise.
42195         * tests/unictype/test-pr_radical.c: Likewise.
42196         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42197         * tests/unictype/test-pr_soft_dotted.c: Likewise.
42198         * tests/unictype/test-pr_space.c: Likewise.
42199         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42200         * tests/unictype/test-pr_titlecase.c: Likewise.
42201         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42202         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42203         * tests/unictype/test-pr_uppercase.c: Likewise.
42204         * tests/unictype/test-pr_variation_selector.c: Likewise.
42205         * tests/unictype/test-pr_white_space.c: Likewise.
42206         * tests/unictype/test-pr_xid_continue.c: Likewise.
42207         * tests/unictype/test-pr_xid_start.c: Likewise.
42208         * tests/unictype/test-pr_zero_width.c: Likewise.
42209         * tests/unictype/test-sy_c_whitespace.c: Likewise.
42210         * tests/unictype/test-sy_java_whitespace.c: Likewise.
42211
42212 2007-11-12  Bruno Haible  <bruno@clisp.org>
42213
42214         Unicode character classification functions.
42215         * lib/unictype.h: New file.
42216         * modules/unictype/base: New file.
42217         * modules/unictype/category-L: New file.
42218         * modules/unictype/category-Lu: New file.
42219         * modules/unictype/category-Ll: New file.
42220         * modules/unictype/category-Lt: New file.
42221         * modules/unictype/category-Lm: New file.
42222         * modules/unictype/category-Lo: New file.
42223         * modules/unictype/category-M: New file.
42224         * modules/unictype/category-Mn: New file.
42225         * modules/unictype/category-Mc: New file.
42226         * modules/unictype/category-Me: New file.
42227         * modules/unictype/category-N: New file.
42228         * modules/unictype/category-Nd: New file.
42229         * modules/unictype/category-Nl: New file.
42230         * modules/unictype/category-No: New file.
42231         * modules/unictype/category-P: New file.
42232         * modules/unictype/category-Pc: New file.
42233         * modules/unictype/category-Pd: New file.
42234         * modules/unictype/category-Ps: New file.
42235         * modules/unictype/category-Pe: New file.
42236         * modules/unictype/category-Pi: New file.
42237         * modules/unictype/category-Pf: New file.
42238         * modules/unictype/category-Po: New file.
42239         * modules/unictype/category-S: New file.
42240         * modules/unictype/category-Sm: New file.
42241         * modules/unictype/category-Sc: New file.
42242         * modules/unictype/category-Sk: New file.
42243         * modules/unictype/category-So: New file.
42244         * modules/unictype/category-Z: New file.
42245         * modules/unictype/category-Zs: New file.
42246         * modules/unictype/category-Zl: New file.
42247         * modules/unictype/category-Zp: New file.
42248         * modules/unictype/category-C: New file.
42249         * modules/unictype/category-Cc: New file.
42250         * modules/unictype/category-Cf: New file.
42251         * modules/unictype/category-Cs: New file.
42252         * modules/unictype/category-Co: New file.
42253         * modules/unictype/category-Cn: New file.
42254         * modules/unictype/category-or: New file.
42255         * modules/unictype/category-of: New file.
42256         * modules/unictype/category-test: New file.
42257         * modules/unictype/category-test-withtable: New file.
42258         * modules/unictype/category-byname: New file.
42259         * modules/unictype/category-none: New file.
42260         * modules/unictype/category-and: New file.
42261         * modules/unictype/category-and-not: New file.
42262         * modules/unictype/category-name: New file.
42263         * modules/unictype/combining-class: New file.
42264         * modules/unictype/category-all: New file.
42265         * modules/unictype/bidicategory-all: New file.
42266         * modules/unictype/bidicategory-byname: New file.
42267         * modules/unictype/bidicategory-name: New file.
42268         * modules/unictype/bidicategory-of: New file.
42269         * modules/unictype/bidicategory-test: New file.
42270         * modules/unictype/decimal-digit: New file.
42271         * modules/unictype/digit: New file.
42272         * modules/unictype/numeric: New file.
42273         * modules/unictype/mirror: New file.
42274         * modules/unictype/property-white-space: New file.
42275         * modules/unictype/property-alphabetic: New file.
42276         * modules/unictype/property-other-alphabetic: New file.
42277         * modules/unictype/property-not-a-character: New file.
42278         * modules/unictype/property-default-ignorable-code-point: New file.
42279         * modules/unictype/property-other-default-ignorable-code-point: New
42280         file.
42281         * modules/unictype/property-deprecated: New file.
42282         * modules/unictype/property-logical-order-exception: New file.
42283         * modules/unictype/property-variation-selector: New file.
42284         * modules/unictype/property-private-use: New file.
42285         * modules/unictype/property-unassigned-code-value: New file.
42286         * modules/unictype/property-uppercase: New file.
42287         * modules/unictype/property-other-uppercase: New file.
42288         * modules/unictype/property-lowercase: New file.
42289         * modules/unictype/property-other-lowercase: New file.
42290         * modules/unictype/property-titlecase: New file.
42291         * modules/unictype/property-soft-dotted: New file.
42292         * modules/unictype/property-id-start: New file.
42293         * modules/unictype/property-other-id-start: New file.
42294         * modules/unictype/property-id-continue: New file.
42295         * modules/unictype/property-other-id-continue: New file.
42296         * modules/unictype/property-xid-start: New file.
42297         * modules/unictype/property-xid-continue: New file.
42298         * modules/unictype/property-pattern-white-space: New file.
42299         * modules/unictype/property-pattern-syntax: New file.
42300         * modules/unictype/property-join-control: New file.
42301         * modules/unictype/property-grapheme-base: New file.
42302         * modules/unictype/property-grapheme-extend: New file.
42303         * modules/unictype/property-other-grapheme-extend: New file.
42304         * modules/unictype/property-grapheme-link: New file.
42305         * modules/unictype/property-bidi-control: New file.
42306         * modules/unictype/property-bidi-left-to-right: New file.
42307         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
42308         * modules/unictype/property-bidi-arabic-right-to-left: New file.
42309         * modules/unictype/property-bidi-european-digit: New file.
42310         * modules/unictype/property-bidi-eur-num-separator: New file.
42311         * modules/unictype/property-bidi-eur-num-terminator: New file.
42312         * modules/unictype/property-bidi-arabic-digit: New file.
42313         * modules/unictype/property-bidi-common-separator: New file.
42314         * modules/unictype/property-bidi-block-separator: New file.
42315         * modules/unictype/property-bidi-segment-separator: New file.
42316         * modules/unictype/property-bidi-whitespace: New file.
42317         * modules/unictype/property-bidi-non-spacing-mark: New file.
42318         * modules/unictype/property-bidi-boundary-neutral: New file.
42319         * modules/unictype/property-bidi-pdf: New file.
42320         * modules/unictype/property-bidi-embedding-or-override: New file.
42321         * modules/unictype/property-bidi-other-neutral: New file.
42322         * modules/unictype/property-hex-digit: New file.
42323         * modules/unictype/property-ascii-hex-digit: New file.
42324         * modules/unictype/property-ideographic: New file.
42325         * modules/unictype/property-unified-ideograph: New file.
42326         * modules/unictype/property-radical: New file.
42327         * modules/unictype/property-ids-binary-operator: New file.
42328         * modules/unictype/property-ids-trinary-operator: New file.
42329         * modules/unictype/property-zero-width: New file.
42330         * modules/unictype/property-space: New file.
42331         * modules/unictype/property-non-break: New file.
42332         * modules/unictype/property-iso-control: New file.
42333         * modules/unictype/property-format-control: New file.
42334         * modules/unictype/property-dash: New file.
42335         * modules/unictype/property-hyphen: New file.
42336         * modules/unictype/property-punctuation: New file.
42337         * modules/unictype/property-line-separator: New file.
42338         * modules/unictype/property-paragraph-separator: New file.
42339         * modules/unictype/property-quotation-mark: New file.
42340         * modules/unictype/property-sentence-terminal: New file.
42341         * modules/unictype/property-terminal-punctuation: New file.
42342         * modules/unictype/property-currency-symbol: New file.
42343         * modules/unictype/property-math: New file.
42344         * modules/unictype/property-other-math: New file.
42345         * modules/unictype/property-paired-punctuation: New file.
42346         * modules/unictype/property-left-of-pair: New file.
42347         * modules/unictype/property-combining: New file.
42348         * modules/unictype/property-composite: New file.
42349         * modules/unictype/property-decimal-digit: New file.
42350         * modules/unictype/property-numeric: New file.
42351         * modules/unictype/property-diacritic: New file.
42352         * modules/unictype/property-extender: New file.
42353         * modules/unictype/property-ignorable-control: New file.
42354         * modules/unictype/property-test: New file.
42355         * modules/unictype/property-byname: New file.
42356         * modules/unictype/property-all: New file.
42357         * modules/unictype/scripts: New file.
42358         * modules/unictype/scripts-all: New file.
42359         * modules/unictype/block-of: New file.
42360         * modules/unictype/block-test: New file.
42361         * modules/unictype/block-list: New file.
42362         * modules/unictype/block-all: New file.
42363         * modules/unictype/syntax-c-whitespace: New file.
42364         * modules/unictype/syntax-java-whitespace: New file.
42365         * modules/unictype/syntax-c-ident: New file.
42366         * modules/unictype/syntax-java-ident: New file.
42367         * modules/unictype/ctype-alnum: New file.
42368         * modules/unictype/ctype-alpha: New file.
42369         * modules/unictype/ctype-cntrl: New file.
42370         * modules/unictype/ctype-digit: New file.
42371         * modules/unictype/ctype-graph: New file.
42372         * modules/unictype/ctype-lower: New file.
42373         * modules/unictype/ctype-print: New file.
42374         * modules/unictype/ctype-punct: New file.
42375         * modules/unictype/ctype-space: New file.
42376         * modules/unictype/ctype-upper: New file.
42377         * modules/unictype/ctype-xdigit: New file.
42378         * modules/unictype/ctype-blank: New file.
42379         * lib/unictype/bidi_byname.c: New file.
42380         * lib/unictype/bidi_name.c: New file.
42381         * lib/unictype/bidi_of.c: New file.
42382         * lib/unictype/bidi_test.c: New file.
42383         * lib/unictype/bitmap.h: New file.
42384         * lib/unictype/block_test.c: New file.
42385         * lib/unictype/blocks.c: New file.
42386         * lib/unictype/categ_C.c: New file.
42387         * lib/unictype/categ_Cc.c: New file.
42388         * lib/unictype/categ_Cf.c: New file.
42389         * lib/unictype/categ_Cn.c: New file.
42390         * lib/unictype/categ_Co.c: New file.
42391         * lib/unictype/categ_Cs.c: New file.
42392         * lib/unictype/categ_L.c: New file.
42393         * lib/unictype/categ_Ll.c: New file.
42394         * lib/unictype/categ_Lm.c: New file.
42395         * lib/unictype/categ_Lo.c: New file.
42396         * lib/unictype/categ_Lt.c: New file.
42397         * lib/unictype/categ_Lu.c: New file.
42398         * lib/unictype/categ_M.c: New file.
42399         * lib/unictype/categ_Mc.c: New file.
42400         * lib/unictype/categ_Me.c: New file.
42401         * lib/unictype/categ_Mn.c: New file.
42402         * lib/unictype/categ_N.c: New file.
42403         * lib/unictype/categ_Nd.c: New file.
42404         * lib/unictype/categ_Nl.c: New file.
42405         * lib/unictype/categ_No.c: New file.
42406         * lib/unictype/categ_P.c: New file.
42407         * lib/unictype/categ_Pc.c: New file.
42408         * lib/unictype/categ_Pd.c: New file.
42409         * lib/unictype/categ_Pe.c: New file.
42410         * lib/unictype/categ_Pf.c: New file.
42411         * lib/unictype/categ_Pi.c: New file.
42412         * lib/unictype/categ_Po.c: New file.
42413         * lib/unictype/categ_Ps.c: New file.
42414         * lib/unictype/categ_S.c: New file.
42415         * lib/unictype/categ_Sc.c: New file.
42416         * lib/unictype/categ_Sk.c: New file.
42417         * lib/unictype/categ_Sm.c: New file.
42418         * lib/unictype/categ_So.c: New file.
42419         * lib/unictype/categ_Z.c: New file.
42420         * lib/unictype/categ_Zl.c: New file.
42421         * lib/unictype/categ_Zp.c: New file.
42422         * lib/unictype/categ_Zs.c: New file.
42423         * lib/unictype/categ_and.c: New file.
42424         * lib/unictype/categ_and_not.c: New file.
42425         * lib/unictype/categ_byname.c: New file.
42426         * lib/unictype/categ_name.c: New file.
42427         * lib/unictype/categ_none.c: New file.
42428         * lib/unictype/categ_of.c: New file.
42429         * lib/unictype/categ_or.c: New file.
42430         * lib/unictype/categ_test.c: New file.
42431         * lib/unictype/combining.c: New file.
42432         * lib/unictype/ctype_alnum.c: New file.
42433         * lib/unictype/ctype_alpha.c: New file.
42434         * lib/unictype/ctype_blank.c: New file.
42435         * lib/unictype/ctype_cntrl.c: New file.
42436         * lib/unictype/ctype_digit.c: New file.
42437         * lib/unictype/ctype_graph.c: New file.
42438         * lib/unictype/ctype_lower.c: New file.
42439         * lib/unictype/ctype_print.c: New file.
42440         * lib/unictype/ctype_punct.c: New file.
42441         * lib/unictype/ctype_space.c: New file.
42442         * lib/unictype/ctype_upper.c: New file.
42443         * lib/unictype/ctype_xdigit.c: New file.
42444         * lib/unictype/decdigit.c: New file.
42445         * lib/unictype/digit.c: New file.
42446         * lib/unictype/identsyntaxmap.h: New file.
42447         * lib/unictype/mirror.c: New file.
42448         * lib/unictype/numeric.c: New file.
42449         * lib/unictype/pr_alphabetic.c: New file.
42450         * lib/unictype/pr_ascii_hex_digit.c: New file.
42451         * lib/unictype/pr_bidi_arabic_digit.c: New file.
42452         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
42453         * lib/unictype/pr_bidi_block_separator.c: New file.
42454         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
42455         * lib/unictype/pr_bidi_common_separator.c: New file.
42456         * lib/unictype/pr_bidi_control.c: New file.
42457         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
42458         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
42459         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
42460         * lib/unictype/pr_bidi_european_digit.c: New file.
42461         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
42462         * lib/unictype/pr_bidi_left_to_right.c: New file.
42463         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
42464         * lib/unictype/pr_bidi_other_neutral.c: New file.
42465         * lib/unictype/pr_bidi_pdf.c: New file.
42466         * lib/unictype/pr_bidi_segment_separator.c: New file.
42467         * lib/unictype/pr_bidi_whitespace.c: New file.
42468         * lib/unictype/pr_byname.c: New file.
42469         * lib/unictype/pr_byname.gperf: New file.
42470         * lib/unictype/pr_combining.c: New file.
42471         * lib/unictype/pr_composite.c: New file.
42472         * lib/unictype/pr_currency_symbol.c: New file.
42473         * lib/unictype/pr_dash.c: New file.
42474         * lib/unictype/pr_decimal_digit.c: New file.
42475         * lib/unictype/pr_default_ignorable_code_point.c: New file.
42476         * lib/unictype/pr_deprecated.c: New file.
42477         * lib/unictype/pr_diacritic.c: New file.
42478         * lib/unictype/pr_extender.c: New file.
42479         * lib/unictype/pr_format_control.c: New file.
42480         * lib/unictype/pr_grapheme_base.c: New file.
42481         * lib/unictype/pr_grapheme_extend.c: New file.
42482         * lib/unictype/pr_grapheme_link.c: New file.
42483         * lib/unictype/pr_hex_digit.c: New file.
42484         * lib/unictype/pr_hyphen.c: New file.
42485         * lib/unictype/pr_id_continue.c: New file.
42486         * lib/unictype/pr_id_start.c: New file.
42487         * lib/unictype/pr_ideographic.c: New file.
42488         * lib/unictype/pr_ids_binary_operator.c: New file.
42489         * lib/unictype/pr_ids_trinary_operator.c: New file.
42490         * lib/unictype/pr_ignorable_control.c: New file.
42491         * lib/unictype/pr_iso_control.c: New file.
42492         * lib/unictype/pr_join_control.c: New file.
42493         * lib/unictype/pr_left_of_pair.c: New file.
42494         * lib/unictype/pr_line_separator.c: New file.
42495         * lib/unictype/pr_logical_order_exception.c: New file.
42496         * lib/unictype/pr_lowercase.c: New file.
42497         * lib/unictype/pr_math.c: New file.
42498         * lib/unictype/pr_non_break.c: New file.
42499         * lib/unictype/pr_not_a_character.c: New file.
42500         * lib/unictype/pr_numeric.c: New file.
42501         * lib/unictype/pr_other_alphabetic.c: New file.
42502         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
42503         * lib/unictype/pr_other_grapheme_extend.c: New file.
42504         * lib/unictype/pr_other_id_continue.c: New file.
42505         * lib/unictype/pr_other_id_start.c: New file.
42506         * lib/unictype/pr_other_lowercase.c: New file.
42507         * lib/unictype/pr_other_math.c: New file.
42508         * lib/unictype/pr_other_uppercase.c: New file.
42509         * lib/unictype/pr_paired_punctuation.c: New file.
42510         * lib/unictype/pr_paragraph_separator.c: New file.
42511         * lib/unictype/pr_pattern_syntax.c: New file.
42512         * lib/unictype/pr_pattern_white_space.c: New file.
42513         * lib/unictype/pr_private_use.c: New file.
42514         * lib/unictype/pr_punctuation.c: New file.
42515         * lib/unictype/pr_quotation_mark.c: New file.
42516         * lib/unictype/pr_radical.c: New file.
42517         * lib/unictype/pr_sentence_terminal.c: New file.
42518         * lib/unictype/pr_soft_dotted.c: New file.
42519         * lib/unictype/pr_space.c: New file.
42520         * lib/unictype/pr_terminal_punctuation.c: New file.
42521         * lib/unictype/pr_test.c: New file.
42522         * lib/unictype/pr_titlecase.c: New file.
42523         * lib/unictype/pr_unassigned_code_value.c: New file.
42524         * lib/unictype/pr_unified_ideograph.c: New file.
42525         * lib/unictype/pr_uppercase.c: New file.
42526         * lib/unictype/pr_variation_selector.c: New file.
42527         * lib/unictype/pr_white_space.c: New file.
42528         * lib/unictype/pr_xid_continue.c: New file.
42529         * lib/unictype/pr_xid_start.c: New file.
42530         * lib/unictype/pr_zero_width.c: New file.
42531         * lib/unictype/scripts.c: New file.
42532         * lib/unictype/sy_c_ident.c: New file.
42533         * lib/unictype/sy_c_whitespace.c: New file.
42534         * lib/unictype/sy_java_ident.c: New file.
42535         * lib/unictype/sy_java_whitespace.c: New file.
42536
42537         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
42538         Unicode 5.0.0.
42539         * lib/unictype/blocks.h: Likewise.
42540         * lib/unictype/categ_C.h: Likewise.
42541         * lib/unictype/categ_Cc.h: Likewise.
42542         * lib/unictype/categ_Cf.h: Likewise.
42543         * lib/unictype/categ_Cn.h: Likewise.
42544         * lib/unictype/categ_Co.h: Likewise.
42545         * lib/unictype/categ_Cs.h: Likewise.
42546         * lib/unictype/categ_L.h: Likewise.
42547         * lib/unictype/categ_Ll.h: Likewise.
42548         * lib/unictype/categ_Lm.h: Likewise.
42549         * lib/unictype/categ_Lo.h: Likewise.
42550         * lib/unictype/categ_Lt.h: Likewise.
42551         * lib/unictype/categ_Lu.h: Likewise.
42552         * lib/unictype/categ_M.h: Likewise.
42553         * lib/unictype/categ_Mc.h: Likewise.
42554         * lib/unictype/categ_Me.h: Likewise.
42555         * lib/unictype/categ_Mn.h: Likewise.
42556         * lib/unictype/categ_N.h: Likewise.
42557         * lib/unictype/categ_Nd.h: Likewise.
42558         * lib/unictype/categ_Nl.h: Likewise.
42559         * lib/unictype/categ_No.h: Likewise.
42560         * lib/unictype/categ_P.h: Likewise.
42561         * lib/unictype/categ_Pc.h: Likewise.
42562         * lib/unictype/categ_Pd.h: Likewise.
42563         * lib/unictype/categ_Pe.h: Likewise.
42564         * lib/unictype/categ_Pf.h: Likewise.
42565         * lib/unictype/categ_Pi.h: Likewise.
42566         * lib/unictype/categ_Po.h: Likewise.
42567         * lib/unictype/categ_Ps.h: Likewise.
42568         * lib/unictype/categ_S.h: Likewise.
42569         * lib/unictype/categ_Sc.h: Likewise.
42570         * lib/unictype/categ_Sk.h: Likewise.
42571         * lib/unictype/categ_Sm.h: Likewise.
42572         * lib/unictype/categ_So.h: Likewise.
42573         * lib/unictype/categ_Z.h: Likewise.
42574         * lib/unictype/categ_Zl.h: Likewise.
42575         * lib/unictype/categ_Zp.h: Likewise.
42576         * lib/unictype/categ_Zs.h: Likewise.
42577         * lib/unictype/categ_of.h: Likewise.
42578         * lib/unictype/combining.h: Likewise.
42579         * lib/unictype/ctype_alnum.h: Likewise.
42580         * lib/unictype/ctype_alpha.h: Likewise.
42581         * lib/unictype/ctype_blank.h: Likewise.
42582         * lib/unictype/ctype_cntrl.h: Likewise.
42583         * lib/unictype/ctype_digit.h: Likewise.
42584         * lib/unictype/ctype_graph.h: Likewise.
42585         * lib/unictype/ctype_lower.h: Likewise.
42586         * lib/unictype/ctype_print.h: Likewise.
42587         * lib/unictype/ctype_punct.h: Likewise.
42588         * lib/unictype/ctype_space.h: Likewise.
42589         * lib/unictype/ctype_upper.h: Likewise.
42590         * lib/unictype/ctype_xdigit.h: Likewise.
42591         * lib/unictype/decdigit.h: Likewise.
42592         * lib/unictype/digit.h: Likewise.
42593         * lib/unictype/mirror.h: Likewise.
42594         * lib/unictype/numeric.h: Likewise.
42595         * lib/unictype/pr_alphabetic.h: Likewise.
42596         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
42597         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
42598         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
42599         * lib/unictype/pr_bidi_block_separator.h: Likewise.
42600         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
42601         * lib/unictype/pr_bidi_common_separator.h: Likewise.
42602         * lib/unictype/pr_bidi_control.h: Likewise.
42603         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
42604         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
42605         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
42606         * lib/unictype/pr_bidi_european_digit.h: Likewise.
42607         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
42608         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
42609         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
42610         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
42611         * lib/unictype/pr_bidi_pdf.h: Likewise.
42612         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
42613         * lib/unictype/pr_bidi_whitespace.h: Likewise.
42614         * lib/unictype/pr_combining.h: Likewise.
42615         * lib/unictype/pr_composite.h: Likewise.
42616         * lib/unictype/pr_currency_symbol.h: Likewise.
42617         * lib/unictype/pr_dash.h: Likewise.
42618         * lib/unictype/pr_decimal_digit.h: Likewise.
42619         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
42620         * lib/unictype/pr_deprecated.h: Likewise.
42621         * lib/unictype/pr_diacritic.h: Likewise.
42622         * lib/unictype/pr_extender.h: Likewise.
42623         * lib/unictype/pr_format_control.h: Likewise.
42624         * lib/unictype/pr_grapheme_base.h: Likewise.
42625         * lib/unictype/pr_grapheme_extend.h: Likewise.
42626         * lib/unictype/pr_grapheme_link.h: Likewise.
42627         * lib/unictype/pr_hex_digit.h: Likewise.
42628         * lib/unictype/pr_hyphen.h: Likewise.
42629         * lib/unictype/pr_id_continue.h: Likewise.
42630         * lib/unictype/pr_id_start.h: Likewise.
42631         * lib/unictype/pr_ideographic.h: Likewise.
42632         * lib/unictype/pr_ids_binary_operator.h: Likewise.
42633         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
42634         * lib/unictype/pr_ignorable_control.h: Likewise.
42635         * lib/unictype/pr_iso_control.h: Likewise.
42636         * lib/unictype/pr_join_control.h: Likewise.
42637         * lib/unictype/pr_left_of_pair.h: Likewise.
42638         * lib/unictype/pr_line_separator.h: Likewise.
42639         * lib/unictype/pr_logical_order_exception.h: Likewise.
42640         * lib/unictype/pr_lowercase.h: Likewise.
42641         * lib/unictype/pr_math.h: Likewise.
42642         * lib/unictype/pr_non_break.h: Likewise.
42643         * lib/unictype/pr_not_a_character.h: Likewise.
42644         * lib/unictype/pr_numeric.h: Likewise.
42645         * lib/unictype/pr_other_alphabetic.h: Likewise.
42646         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
42647         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
42648         * lib/unictype/pr_other_id_continue.h: Likewise.
42649         * lib/unictype/pr_other_id_start.h: Likewise.
42650         * lib/unictype/pr_other_lowercase.h: Likewise.
42651         * lib/unictype/pr_other_math.h: Likewise.
42652         * lib/unictype/pr_other_uppercase.h: Likewise.
42653         * lib/unictype/pr_paired_punctuation.h: Likewise.
42654         * lib/unictype/pr_paragraph_separator.h: Likewise.
42655         * lib/unictype/pr_pattern_syntax.h: Likewise.
42656         * lib/unictype/pr_pattern_white_space.h: Likewise.
42657         * lib/unictype/pr_private_use.h: Likewise.
42658         * lib/unictype/pr_punctuation.h: Likewise.
42659         * lib/unictype/pr_quotation_mark.h: Likewise.
42660         * lib/unictype/pr_radical.h: Likewise.
42661         * lib/unictype/pr_sentence_terminal.h: Likewise.
42662         * lib/unictype/pr_soft_dotted.h: Likewise.
42663         * lib/unictype/pr_space.h: Likewise.
42664         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42665         * lib/unictype/pr_titlecase.h: Likewise.
42666         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42667         * lib/unictype/pr_unified_ideograph.h: Likewise.
42668         * lib/unictype/pr_uppercase.h: Likewise.
42669         * lib/unictype/pr_variation_selector.h: Likewise.
42670         * lib/unictype/pr_white_space.h: Likewise.
42671         * lib/unictype/pr_xid_continue.h: Likewise.
42672         * lib/unictype/pr_xid_start.h: Likewise.
42673         * lib/unictype/pr_zero_width.h: Likewise.
42674         * lib/unictype/scripts.h: Likewise.
42675         * lib/unictype/scripts_byname.gperf: Likewise.
42676         * lib/unictype/sy_c_ident.h: Likewise.
42677         * lib/unictype/sy_c_whitespace.h: Likewise.
42678         * lib/unictype/sy_java_ident.h: Likewise.
42679         * lib/unictype/sy_java_whitespace.h: Likewise.
42680
42681         * lib/unictype/Makefile: New file.
42682         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
42683         glibc.
42684         * lib/unictype/3level.h: New file, copied from glibc.
42685         * lib/unictype/3levelbit.h: New file.
42686
42687 2007-11-11  Bruno Haible  <bruno@clisp.org>
42688
42689         * modules/gperf: New file.
42690         * modules/iconv_open (Depends-on): Add it.
42691         (Makefile.am): Remove the GPERF definition.
42692
42693 2007-11-11  Bruno Haible  <bruno@clisp.org>
42694
42695         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42696         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42697
42698 2007-11-11  Bruno Haible  <bruno@clisp.org>
42699
42700         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42701         (usage): Remove function.
42702
42703 2007-11-11  Bruno Haible  <bruno@clisp.org>
42704
42705         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42706         gl_FUNC_CEILF_LIBS.
42707         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42708         gl_FUNC_CEIL_LIBS.
42709         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42710         gl_FUNC_CEILL_LIBS.
42711         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42712         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42713         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42714
42715 2007-11-11  Bruno Haible  <bruno@clisp.org>
42716
42717         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42718         roundf were declared but do not exist on functions.
42719         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42720         roundl were declared but do not exist on functions.
42721         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42722         HAVE_FLOORL_AND_CEILL, respectively.
42723         Needed for Sun C on Solaris 10.
42724
42725 2007-11-11  Bruno Haible  <bruno@clisp.org>
42726
42727         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42728         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42729         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42730         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42731         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42732         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42733         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42734         HAVE_DECL_ROUNDF.
42735         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42736         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42737         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42738         of HAVE_DECL_ROUND*.
42739         * modules/math (Makefile.am): Update.
42740
42741 2007-11-10  Bruno Haible  <bruno@clisp.org>
42742
42743         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42744         ptrdiff_t as m4/intl.m4.
42745
42746 2007-11-10  Jim Meyering  <meyering@redhat.com>
42747
42748         Avoid link failure for the argmatch test.
42749         * tests/test-argmatch.c (usage): Define function to avoid a link
42750         failure: argmatch_die requires a usage function.
42751
42752 2007-11-09  Bruno Haible  <bruno@clisp.org>
42753
42754         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42755         * doc/functions/vsnprintf.texi: Likewise.
42756         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42757         with a size argument < 2.
42758
42759 2007-11-09  Bruno Haible  <bruno@clisp.org>
42760
42761         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42762         buffer. Fixes an inefficiency introduced on 2007-11-03.
42763
42764 2007-11-09  Bruno Haible  <bruno@clisp.org>
42765
42766         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42767         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42768
42769 2007-11-08  Jim Meyering  <meyering@redhat.com>
42770
42771         Change cache variable name prefix "jm_" to "gl_" everywhere.
42772         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42773         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42774         * m4/uptime.m4: s/gl_/jm_/
42775
42776 2007-11-07  Bruno Haible  <bruno@clisp.org>
42777
42778         Update to GNU gettext 0.17.
42779         * m4/intl.m4: Update to GNU gettext 0.17.
42780         * m4/po.m4: Likewise.
42781         * modules/gettext (Files): Remove m4/ulonglong.m4.
42782         (configure.ac): Require gettext infrastructure from version 0.17.
42783
42784 2007-11-06  Bruno Haible  <bruno@clisp.org>
42785
42786         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42787         symbolic values are not defined in a public header.
42788         * lib/freadable.c (freadable) [QNX]: Likewise.
42789         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42790         * lib/freading.c (freading) [QNX]: Likewise.
42791         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42792         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42793         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42794         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42795         Reported by Alain Magloire.
42796
42797         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42798
42799 2007-11-05  Bruno Haible  <bruno@clisp.org>
42800
42801         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42802         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42803         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42804         Reported by Eric Blake.
42805
42806 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42807             Bruno Haible  <bruno@clisp.org>
42808
42809         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42810         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42811         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42812         (malloc): Undefine also before including <stdlib.h>.
42813         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42814         Needed on OSF/1 4.0.
42815
42816 2007-11-05  Jim Meyering  <meyering@redhat.com>
42817
42818         git-version-gen: sync from coreutils.
42819         * build-aux/git-version-gen: Add comments.
42820         Change the first '-' to '.' in the snapshot version string,
42821         e.g., 6.9-377-08144 -> 6.9.377-08144
42822         Remove first parameter.
42823         Don't declare a version "-dirty" merely because a time
42824         stamp has changed.
42825
42826 2007-11-04  Bruno Haible  <bruno@clisp.org>
42827
42828         * lib/lock.h: Protect all macro definitions containing an 'if'
42829         statement through a "do { ... } while (0)".
42830         * lib/tls.h: Likewise.
42831
42832 2007-11-04  Bruno Haible  <bruno@clisp.org>
42833
42834         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42835
42836 2007-11-04  Bruno Haible  <bruno@clisp.org>
42837
42838         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42839         * modules/fprintf-posix (Depends-on): Add nocrash.
42840         * modules/snprintf-posix (Depends-on): Likewise.
42841         * modules/sprintf-posix (Depends-on): Likewise.
42842         * modules/vasnprintf-posix (Depends-on): Likewise.
42843         * modules/vasprintf-posix (Depends-on): Likewise.
42844         * modules/vfprintf-posix (Depends-on): Likewise.
42845         * modules/vsnprintf-posix (Depends-on): Likewise.
42846         * modules/vsprintf-posix (Depends-on): Likewise.
42847         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42848         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42849         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42850         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42851         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42852         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42853         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42854
42855 2007-11-04  Bruno Haible  <bruno@clisp.org>
42856
42857         * modules/nocrash: New file.
42858         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42859         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42860
42861 2007-11-04  Bruno Haible  <bruno@clisp.org>
42862
42863         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42864         precision handling.
42865         * tests/test-vasprintf-posix.c (test_function): Likewise.
42866         * tests/test-snprintf-posix.h (test_function): Likewise.
42867         * tests/test-sprintf-posix.h (test_function): Likewise.
42868
42869         Fix *printf behaviour for large precisions on mingw and BeOS.
42870         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42871         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42872         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42873         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42875         gl_PRINTF_PRECISION and test its result. Invoke
42876         gl_PREREQ_VASNPRINTF_PRECISION.
42877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42884         * doc/functions/fprintf.texi: Update.
42885         * doc/functions/printf.texi: Update.
42886         * doc/functions/snprintf.texi: Update.
42887         * doc/functions/sprintf.texi: Update.
42888         * doc/functions/vfprintf.texi: Update.
42889         * doc/functions/vprintf.texi: Update.
42890         * doc/functions/vsnprintf.texi: Update.
42891         * doc/functions/vsprintf.texi: Update.
42892
42893 2007-11-04  Bruno Haible  <bruno@clisp.org>
42894
42895         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42896
42897 2007-11-04  Bruno Haible  <bruno@clisp.org>
42898
42899         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42900         Reported by Sylvain Beucler <beuc@gnu.org>.
42901
42902 2007-11-03  Bruno Haible  <bruno@clisp.org>
42903
42904         * tests/test-fprintf-posix2.sh: New file.
42905         * tests/test-fprintf-posix2.c: New file.
42906         * modules/fprintf-posix-tests (Files): Add them.
42907         (TESTS): Add test-fprintf-posix2.sh.
42908         (configure.ac): Check for getrlimit and setrlimit.
42909         (check_PROGRAMS): Add test-fprintf-posix2.
42910
42911         * tests/test-printf-posix2.sh: New file.
42912         * tests/test-printf-posix2.c: New file.
42913         * modules/printf-posix-tests (Files): Add them.
42914         (TESTS): Add test-printf-posix2.sh.
42915         (configure.ac): Check for getrlimit and setrlimit.
42916         (check_PROGRAMS): Add test-printf-posix2.
42917
42918         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42919         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42920         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
42921         (decode_double): New function, copied from decode_long_double.
42922         (scale10_round_decimal_decoded): New function, extracted from
42923         scale10_round_decimal_long_double.
42924         (scale10_round_decimal_long_double): Use it.
42925         (scale10_round_decimal_double): New function.
42926         (floorlog10): New function.
42927         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
42928         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
42929         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42930         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42931         gl_PRINTF_ENOMEM and test its result. Invoke
42932         gl_PREREQ_VASNPRINTF_ENOMEM.
42933         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42937         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42940         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
42941         * modules/snprintf-posix (Depends-on): Likewise.
42942         * modules/sprintf-posix (Depends-on): Likewise.
42943         * modules/vasnprintf-posix (Depends-on): Likewise.
42944         * modules/vasprintf-posix (Depends-on): Likewise.
42945         * modules/vfprintf-posix (Depends-on): Likewise.
42946         * modules/vsnprintf-posix (Depends-on): Likewise.
42947         * modules/vsprintf-posix (Depends-on): Likewise.
42948         * doc/functions/fprintf.texi: Update.
42949         * doc/functions/printf.texi: Update.
42950         * doc/functions/snprintf.texi: Update.
42951         * doc/functions/sprintf.texi: Update.
42952         * doc/functions/vfprintf.texi: Update.
42953         * doc/functions/vprintf.texi: Update.
42954         * doc/functions/vsnprintf.texi: Update.
42955         * doc/functions/vsprintf.texi: Update.
42956
42957 2007-11-03  Bruno Haible  <bruno@clisp.org>
42958
42959         * modules/frexp-nolibm-tests: New file.
42960
42961         * modules/frexp-nolibm: New file.
42962         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
42963
42964 2007-11-03  Bruno Haible  <bruno@clisp.org>
42965
42966         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
42967         value is C99 compliant.
42968         Needed for OSF/1 5.1.
42969
42970 2007-11-03  Bruno Haible  <bruno@clisp.org>
42971
42972         Fix out-of-memory handling of vasnprintf.
42973         * lib/printf-parse.c: Include <errno.h>.
42974         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
42975         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
42976         is already set.
42977
42978 2007-11-02  Eric Blake  <ebb9@byu.net>
42979
42980         Fix tests on cygwin.
42981         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
42982
42983 2007-11-01  Bruno Haible  <bruno@clisp.org>
42984
42985         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
42986         warning.
42987         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
42988         needed for POSIX compatibility.
42989
42990 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42991
42992         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
42993         for compatibility with GNU.
42994
42995 2007-11-01  Bruno Haible  <bruno@clisp.org>
42996
42997         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
42998         (putenv): Renamed from rpl_putenv. Change argument type from
42999         'const char *' to 'char *'.
43000         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
43001         of defining putenv in config.h, just set REPLACE_PUTENV.
43002         * modules/putenv (Depends-on): Add stdlib.
43003         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43004         (Include): Use <stdlib.h>.
43005         * lib/stdlib.in.h (putenv): New declaration.
43006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
43007         REPLACE_PUTENV.
43008         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
43009         REPLACE_PUTENV.
43010         Needed for MacOS X 10.5.0.
43011         Reported by Peter O'Gorman <peter@pogma.com>.
43012
43013 2007-11-01  Jim Meyering  <meyering@redhat.com>
43014
43015         Treat an empty date string exactly like "0".
43016         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
43017         if the remaining date string (to be parsed) is empty, use "0".
43018         Reported by Mischa Molhoek and discussed in this thread:
43019         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
43020
43021 2007-10-31  Bruno Haible  <bruno@clisp.org>
43022
43023         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
43024         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
43025         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
43026         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
43027         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
43028         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
43029
43030 2007-10-31  Bruno Haible  <bruno@clisp.org>
43031
43032         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
43033         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
43034         (AC_TYPE_LONG_LONG_INT): Use it.
43035         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
43036         it as well.
43037         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
43038         to m4/longlong.m4.
43039         * modules/stdint (Files): Remove m4/ulonglong.m4.
43040         * modules/strtoull (Files): Use m4/longlong.m4 instead of
43041         m4/ulonglong.m4.
43042         * modules/strtoumax (Files): Likewise.
43043
43044 2007-10-30  Bruno Haible  <bruno@clisp.org>
43045
43046         * modules/xvasprintf-posix: New file.
43047         Suggested by Eric Blake.
43048
43049 2007-10-30  Bruno Haible  <bruno@clisp.org>
43050
43051         * modules/xprintf-posix-tests: New file.
43052         * tests/test-xprintf-posix.sh: New file.
43053         * tests/test-xprintf-posix.c: New file.
43054         * tests/test-xfprintf-posix.c: New file.
43055
43056         * modules/xprintf-posix: New file.
43057
43058 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43059
43060         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
43061         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
43062         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
43063
43064 2007-10-29  Bruno Haible  <bruno@clisp.org>
43065
43066         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
43067         contain the special marker '_cv_'.
43068         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43069         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43070         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43071         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
43072         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43073         Reported by Ralf Wildenhues.
43074
43075 2007-10-29  Bruno Haible  <bruno@clisp.org>
43076
43077         * gnulib-tool (func_import): When --lgpl is not specified, set
43078         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
43079         GPLv3.
43080         Reported by Simon Josefsson.
43081
43082 2007-10-28  Bruno Haible  <bruno@clisp.org>
43083
43084         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
43085         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
43086         HAVE_DECL_ISFINITE.
43087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43088         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
43089         HAVE_DECL_ISFINITE.
43090
43091 2007-10-28  Bruno Haible  <bruno@clisp.org>
43092
43093         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
43094         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
43095
43096 2007-10-28  Bruno Haible  <bruno@clisp.org>
43097
43098         Fix link errors with Sun C 5.0 on Solaris 10.
43099         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
43100         function is declared but not present in the compiler's libm.
43101         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
43102         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
43103         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
43104         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
43105         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
43106         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
43107         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
43108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43109         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
43110         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
43111         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
43112         HAVE_DECL_FLOORL.
43113
43114 2007-10-28  Bruno Haible  <bruno@clisp.org>
43115
43116         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
43117         gl_FUNC_FLOORL. Cache the result.
43118         (gl_FUNC_FLOORL): Use it.
43119         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
43120         gl_FUNC_CEILL. Cache the result.
43121         (gl_FUNC_CEILL): Use it.
43122
43123         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
43124         gl_FUNC_FLOOR. Cache the result.
43125         (gl_FUNC_FLOOR): Use it.
43126         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
43127         gl_FUNC_CEIL. Cache the result.
43128         (gl_FUNC_CEIL): Use it.
43129
43130         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
43131         gl_FUNC_FLOORF. Cache the result.
43132         (gl_FUNC_FLOORF): Use it.
43133         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
43134         gl_FUNC_CEILF. Cache the result.
43135         (gl_FUNC_CEILF): Use it.
43136
43137 2007-10-28  Bruno Haible  <bruno@clisp.org>
43138
43139         * gnulib-tool: Allow specifying the LGPL version number through
43140         --lgpl=2 or --lgpl=3.
43141         (func_usage): Document --lgpl with argument.
43142         Handle --lgpl=... arguments.
43143         (func_import): Recognize also gl_LGPL calls with an argument. When
43144         --lgpl=2 is used and the module's license is just LGPL, report an
43145         error. Set sed_transform_lib_file according to the lgpl variable. In
43146         the generated files, use --lgpl or gl_LGPL invocations with argument,
43147         if necessary.
43148         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
43149         an LGPv2+ license.
43150         * doc/gnulib-tool.texi (Modified imports): Update explanation of
43151         gl_LGPL macro.
43152
43153 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43154             Bruno Haible  <bruno@clisp.org>
43155
43156         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
43157         (u16_uctomb_aux): Likewise.
43158         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
43159         !HAVE_INLINE.
43160         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
43161
43162 2007-10-28  Bruno Haible  <bruno@clisp.org>
43163
43164         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
43165         Invoke AM_GETTEXT_OPTION if it exists.
43166         * modules/vasprintf: Likewise.
43167         * modules/verror: Likewise.
43168         * modules/xprintf: Likewise.
43169         * modules/xvasprintf: Likewise.
43170
43171 2007-10-27  Ben Pfaff  <blp@gnu.org>
43172
43173         * lib/math.in.h: Define isfinite macro and prototypes for
43174         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
43175         implementations.
43176         * m4/math_h.m4: New substitutions for isfinite module.
43177         * lib/isfinite.c: New file.
43178         * m4/isfinite.m4: New file.
43179         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
43180         * modules/isfinite: New file.
43181         * modules/isfinite-tests: New file.
43182         * tests/tests-isfinite.c: New file.
43183         * doc/functions/isfinite.texi: Mention isfinite module.
43184         * MODULES.html.sh: Mention new module.
43185
43186 2007-10-27  Ben Pfaff  <blp@gnu.org>
43187
43188         Ralf Wildenhues reported that Tru64 4.0D declares the round
43189         functions but does not have definitions.
43190         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
43191         cannot be found in any library, set the output variable to
43192         "missing" instead of "".
43193         * m4/round.m4: Also use our substitute if we cannot find round in
43194         any library, even if it is declared.
43195         * m4/roundf.m4: Likewise for roundf.
43196         * m4/roundl.m4: Likewise for roundl.
43197         * lib/math.in.h: Undefine roundf, round, roundl before defining
43198         their replacements, to allow for hypothetical systems where these
43199         may be defined as macros but not available in libraries.
43200
43201 2007-10-27  Bruno Haible  <bruno@clisp.org>
43202
43203         * doc/gnulib.texi: Invoke @firstparagraphindent.
43204         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
43205         changes in gnulib.
43206         (Source changes): New section.
43207
43208 2007-10-26  Bruno Haible  <bruno@clisp.org>
43209
43210         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
43211         borrowed from autoconf.
43212
43213 2007-10-26  Bruno Haible  <bruno@clisp.org>
43214
43215         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
43216         strerror returned the empty string. Needed on HP-UX 11.00.
43217
43218 2007-10-24  Micah Cowan  <micah@cowan.name>
43219
43220         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
43221         * build-aux/bootstrap: Remove support for now-unnecessary option,
43222         --cvs-user, and envvars CVS_USER, CVS_RSH.
43223
43224 2007-10-24  Jim Meyering  <meyering@redhat.com>
43225
43226         Avoid diagnostics from sha1sum when there is no cached checksum.
43227         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
43228         if the po.s1 file hasn't been created yet.
43229
43230         * build-aux/bootstrap: Sync from coreutils:
43231         2007-10-24  Jim Meyering  <meyering@redhat.com>
43232         Get gnulib from the git repository, not from an obsolete cvs one.
43233         * build-aux/bootstrap: Suggestion from Micah Cowan.
43234         2007-10-04  Jim Meyering  <jim@meyering.net>
43235         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
43236         (update_po_files): Work also when there are no .po files in po/.
43237
43238 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43239
43240         * README: Append ".git" to git and cg examples.
43241         Problem reported by Benoit Sigoure.
43242
43243 2007-10-23  Micah Cowan  <micah@cowan.name>
43244
43245         * users.txt: Add wget.
43246
43247 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43248
43249         Fix linking of some unistdio tests on FreeBSD.
43250         * modules/unistdio/u16-vsnprintf-tests
43251         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
43252         * modules/unistdio/u16-vsprintf-tests
43253         (test_u16_vsnprintf1_LDADD): Likewise.
43254         * modules/unistdio/u32-vsnprintf-tests
43255         (test_u32_vsnprintf1_LDADD): Likewise.
43256         * modules/unistdio/u32-vsprintf-tests
43257         (test_u32_vsprintf1_LDADD): Likewise.
43258         * modules/unistdio/u8-vsnprintf-tests
43259         (test_u8_vsnprintf1_LDADD): Likewise.
43260         * modules/unistdio/u8-vsprintf-tests
43261         (test_u8_vsprintf1_LDADD): Likewise.
43262         * modules/unistdio/ulc-vsnprintf-tests
43263         (test_ulc_vsnprintf1_LDADD): Likewise.
43264         * modules/unistdio/ulc-vsprintf-tests
43265         (test_ulc_vsprintf1_LDADD): Likewise.
43266
43267         Fix linking of some uniconv tests on FreeBSD.
43268         * modules/uniconv/u16-conv-from-enc-tests
43269         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
43270         * modules/uniconv/u16-conv-to-enc-tests
43271         (test_u16_conv_to_enc_LDADD): Likewise.
43272         * modules/uniconv/u16-strconv-from-enc-tests
43273         (test_u16_strconv_from_enc_LDADD): Likewise.
43274         * modules/uniconv/u16-strconv-to-enc-tests
43275         (test_u16_strconv_to_enc_LDADD): Likewise.
43276         * modules/uniconv/u32-conv-from-enc-tests
43277         (test_u32_conv_from_enc_LDADD): Likewise.
43278         * modules/uniconv/u32-conv-to-enc-tests
43279         (test_u32_conv_to_enc_LDADD): Likewise.
43280         * modules/uniconv/u32-strconv-from-enc-tests
43281         (test_u32_strconv_from_enc_LDADD): Likewise.
43282         * modules/uniconv/u32-strconv-to-enc-tests
43283         (test_u32_strconv_to_enc_LDADD): Likewise.
43284         * modules/uniconv/u8-conv-from-enc-tests
43285         (test_u8_conv_from_enc_LDADD): Likewise.
43286         * modules/uniconv/u8-conv-to-enc-tests
43287         (test_u8_conv_to_enc_LDADD): Likewise.
43288         * modules/uniconv/u8-strconv-from-enc-tests
43289         (test_u8_strconv_from_enc_LDADD): Likewise.
43290         * modules/uniconv/u8-strconv-to-enc-tests
43291         (test_u8_strconv_to_enc_LDADD): Likewise.
43292
43293 2007-10-22  Bruno Haible  <bruno@clisp.org>
43294
43295         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
43296         size.
43297
43298 2007-10-22  Eric Blake  <ebb9@byu.net>
43299
43300         Tweak x*printf documentation.
43301         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
43302         variable name and comments.
43303         Suggested by Bruno Haible.
43304
43305 2007-10-22  Bruno Haible  <bruno@clisp.org>
43306
43307         * lib/acl.c (copy_acl): Fix file name in comment.
43308
43309 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43310
43311         Fix Tru64 problem with stdbool.h.
43312         * lib/stdbool.in.h (false, true):
43313         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
43314         Don't declare as an enum in this situation; it runs afoul of Tru64.
43315         Problem reported by Steven M. Schweda in
43316         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
43317
43318 2007-10-22  Eric Blake  <ebb9@byu.net>
43319
43320         Also wrap vf?printf.
43321         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
43322         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
43323         (xvprintf, xvfprintf): New functions.
43324
43325 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43326
43327         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
43328         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
43329
43330         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
43331         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
43332
43333 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43334
43335         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
43336         by Bruno Haible.
43337
43338 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43339
43340         * lib/getloadavg.c
43341         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
43342         Undef `sys' after including sys/table.h, for Tru64 4.0D.
43343
43344         * tests/test-i-ring.c: Work for C89.
43345
43346 2007-10-22  Bruno Haible  <bruno@clisp.org>
43347
43348         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
43349         -1u, in preprocessor expression, so that we don't test for the bug
43350         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
43351         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
43352
43353 2007-10-22  Eric Blake  <ebb9@byu.net>
43354
43355         * tests/test-yesno.sh: Silence stderr during test.
43356
43357 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43358
43359         * modules/crypto/gc-camellia: New file.
43360
43361         * m4/gc-camellia.m4: New file.
43362
43363         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
43364
43365         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
43366
43367 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43368
43369         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
43370         --help to stdout.  Reported by sms@antinode.org (Steven
43371         M. Schweda).
43372
43373 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43374
43375         * users.txt: Fix link to libksba.
43376
43377 2007-10-21  Ben Pfaff  <blp@gnu.org>
43378
43379         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
43380         round.c roundf implementation that depends on floorf and ceilf to
43381         be tested unconditionally.
43382
43383 2007-10-21  Ben Pfaff  <blp@gnu.org>
43384
43385         * m4/check-libm-func.m4: Removed.
43386         * m4/check-math-lib.m4: New file.
43387         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
43388         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
43389         definition and lack of AC_LIBOBJ([roundf]).
43390         * m4/roundl.m4: Ditto, and similarly for roundl.
43391         * modules/round: Reference new m4 file.
43392         * modules/roundf: Ditto.
43393         * modules/roundl: Ditto.
43394         * tests/test-round2.c (main): Use ROUND instead of round.
43395         Bug report from Bruno Haible.
43396
43397 2007-10-21  Bruno Haible  <bruno@clisp.org>
43398
43399         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
43400         context.
43401
43402 2007-10-21  Bruno Haible  <bruno@clisp.org>
43403
43404         * tests/test-wcwidth.c (main): Allow negative result for some control
43405         characters.
43406
43407         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
43408         Needed on OSF/1 5.1.
43409
43410 2007-10-21  Bruno Haible  <bruno@clisp.org>
43411
43412         * tests/test-floorf1.c: Include isnanf.h.
43413         (main): Use isnanf() instead of isnan().
43414         * tests/test-ceilf1.c: Include isnanf.h.
43415         (main): Use isnanf() instead of isnan().
43416         * tests/test-truncf1.c: Include isnanf.h.
43417         (main): Use isnanf() instead of isnan().
43418         * tests/test-roundf1.c: Include isnanf.h.
43419         (main): Use isnanf() instead of isnan().
43420
43421 2007-10-21  Eric Blake  <ebb9@byu.net>
43422
43423         * users.txt: Update URL for m4.
43424
43425 2007-10-21  Bruno Haible  <bruno@clisp.org>
43426
43427         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
43428
43429 2007-10-21  Bruno Haible  <bruno@clisp.org>
43430
43431         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
43432         Git's management files if the CVS files are not present.
43433
43434 2007-10-20  Bruno Haible  <bruno@clisp.org>
43435
43436         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
43437         gcc-3.4.x.
43438
43439 2007-10-20  Ben Pfaff  <blp@gnu.org>
43440
43441         * lib/math.in.h: Declare round, roundf, roundl if we are providing
43442         implementations.
43443         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
43444         * lib/round.c: New file.
43445         * lib/roundf.c: New file.
43446         * lib/roundl.c: New file.
43447         * m4/round.m4: New file.
43448         * m4/roundf.m4: New file.
43449         * m4/roundl.m4: New file.
43450         * m4/check-libm-func-m4: New file.
43451         * modules/math: Replace round, roundf, roundl related @VARS@ in
43452         math.in.h.
43453         * modules/round: New file.
43454         * modules/round-tests: New file.
43455         * modules/roundf: New file.
43456         * modules/roundf-tests: New file.
43457         * modules/roundl: New file.
43458         * modules/roundl-tests: New file.
43459         * tests/test-round1.c: New file.
43460         * tests/test-round2.c: New file.
43461         * tests/test-roundf1.c: New file.
43462         * tests/test-roundf2.c: New file.
43463         * tests/test-roundl.c: New file.
43464         * doc/functions/round.texi: Mention round module.
43465         * doc/functions/roundf.texi: Mention roundf module.
43466         * doc/functions/roundl.texi: Mention roundl module.
43467         * MODULES.html.sh: Mention new modules.
43468         Thanks to Bruno Haible for suggestions.
43469
43470 2007-10-20  Jim Meyering  <meyering@redhat.com>
43471
43472         * lib/xprintf.c: Include <config.h> unconditionally.
43473
43474         Change xprintf's license to GPL.
43475         * modules/xprintf (License): s/LGPL/GPL/, since this module
43476         depends on modules (exit and exitfail) which are GPL.
43477         Suggestion from Bruno Haible.
43478
43479         xprintf fixes.
43480         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
43481         Use a clearer diagnostic.
43482         Patch from Bruno Haible.
43483
43484 2007-10-20  Bruno Haible  <bruno@clisp.org>
43485
43486         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
43487         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
43488         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43489
43490 2007-10-20  Bruno Haible  <bruno@clisp.org>
43491
43492         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
43493         precision in the comparison result > x - 1 or similar.
43494         * tests/test-ceilf2.c (correct_result_p): Likewise.
43495         * tests/test-truncf2.c (correct_result_p): Likewise.
43496         * tests/test-trunc2.c (correct_result_p): Likewise.
43497         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43498
43499 2007-10-20  Bruno Haible  <bruno@clisp.org>
43500
43501         * modules/ceil: New file.
43502         * m4/ceil.m4: New file.
43503         * doc/functions/ceil.texi: Mention the 'ceil' module.
43504
43505 2007-10-20  Bruno Haible  <bruno@clisp.org>
43506
43507         * modules/floor: New file.
43508         * m4/floor.m4: New file.
43509         * doc/functions/floor.texi: Mention the 'floor' module.
43510
43511 2007-10-20  Bruno Haible  <bruno@clisp.org>
43512
43513         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
43514         of %a.
43515         * modules/floorf-tests (Depends-on): Likewise.
43516         * modules/truncf-tests (Depends-on): Likewise.
43517         * modules/trunc-tests (Depends-on): Likewise.
43518         Reported by Ben Pfaff.
43519
43520 2007-10-19  Jim Meyering  <meyering@redhat.com>
43521
43522         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
43523         Don't bother testing specific errno values.  Just test ferror.
43524
43525         New module: xprintf
43526         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
43527
43528 2007-10-19  Bruno Haible  <bruno@clisp.org>
43529
43530         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
43531         syntax.
43532         * modules/javaexec (Makefile.am): Likewise.
43533         * modules/relocatable-prog (Makefile.am): Likewise.
43534         Suggested by Jim Meyering.
43535
43536 2007-10-18  Bruno Haible  <bruno@clisp.org>
43537
43538         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
43539         Reported by Jim Meyering.
43540
43541 2007-10-18  Eric Blake  <ebb9@byu.net>
43542
43543         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
43544
43545 2007-10-18  Bruno Haible  <bruno@clisp.org>
43546
43547         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
43548         the format string into writable memory. Needed in Fortify conditions.
43549
43550 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
43551             Bruno Haible  <bruno@clisp.org>
43552
43553         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
43554         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
43555         * modules/trim (Depends-on): Add mbchar.
43556         (configure.ac): Add gl_FUNC_MBRTOWC.
43557         (Makefile.am): Augment lib_SOURCES.
43558
43559 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43560
43561         Modify glob.c to use fstatat and dirfd, to simplify it.
43562         Suggested by Eric Blake.
43563         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
43564         Don't include <stdbool.h>; not used.
43565         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
43566         (link_exists_p): Simplify implementation, since we can now assume
43567         dirfd and fstatat.
43568         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
43569
43570 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43571
43572         * gnulib-tool (func_get_dependencies): Fix sed script to
43573         match only tests.
43574
43575 2007-10-17  Bruno Haible  <bruno@clisp.org>
43576
43577         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
43578         allow locale names without encoding suffix.
43579         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43580         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43581
43582 2007-10-16  Bruno Haible  <bruno@clisp.org>
43583
43584         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
43585         * lib/getgroups.c (getgroups): Likewise.
43586         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
43587
43588 2007-10-16  Bruno Haible  <bruno@clisp.org>
43589
43590         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
43591         * modules/malloc-posix (License): Likewise.
43592         * modules/realloc-posix (License): Likewise.
43593         * modules/calloc-posix (License): Likewise.
43594         * modules/intprops (License): Change from GPL to LGPL, with
43595         Paul Eggert's approval.
43596
43597 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43598
43599         Merge glibc changes into lib/glob.c.
43600
43601         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
43602         2007-10-15 04:59:03 UTC.  Here are the changes:
43603
43604         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
43605
43606         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
43607
43608         * lib/glob.c: Add some branch prediction throughout.
43609
43610         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
43611
43612         [BZ #5103]
43613         * lib/glob.c (glob): Recognize patterns starting \/.
43614
43615         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
43616
43617         [BZ #3996]
43618         * lib/glob.c (attribute_hidden): Define if not defined.
43619         (glob): Unescape dirname, filename or username when needed and not
43620         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
43621         is NULL.  Handle unescaped [ in pattern without closing ].
43622         Don't pass GLOB_CHECK down to recursive glob for directories.
43623         (__glob_pattern_type): New function.
43624         (__glob_pattern_p): Implement using __glob_pattern_type.
43625         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
43626         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
43627         Remove unreachable code.
43628
43629         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
43630
43631         * lib/glob.c (glob_in_dir): Add some comments and asserts to
43632         explain why there are no leaks.
43633
43634         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
43635
43636         [BZ #3253]
43637         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
43638         time, rather allocate increasingly bigger arrays of pointers, if
43639         possible with alloca, if too large with malloc.
43640
43641 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43642
43643         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
43644         Problem reported by H.Merijn Brand in
43645         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
43646         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
43647         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
43648
43649 2007-10-15  Bruno Haible  <bruno@clisp.org>
43650
43651         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
43652         with explicit rpl_ prefix.
43653         * lib/fopen.c (fopen): Likewise.
43654         * lib/freopen.c (freopen): Likewise.
43655         * lib/iconv.c (iconv): Likewise.
43656         * lib/iconv_close.c (iconv_close): Likewise.
43657
43658 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43659
43660         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
43661
43662 2007-10-15  Bruno Haible  <bruno@clisp.org>
43663
43664         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
43665         <stddef.h> instead of <stdlib.h> since we only need NULL.
43666         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43667
43668 2007-10-15  Bruno Haible  <bruno@clisp.org>
43669
43670         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
43671         Replace paragraph talking about LIBOBJS.
43672         Reported by Colin Watson <cjwatson@debian.org>.
43673
43674 2007-10-15  Bruno Haible  <bruno@clisp.org>
43675
43676         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
43677         <stdlib.h> before using NULL.
43678
43679 2007-10-15  Simon Josefsson  <simon@josefsson.org>
43680
43681         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
43682         Reported by Albert Chin <china@thewrittenword.com>.
43683
43684 2007-10-14  Bruno Haible  <bruno@clisp.org>
43685
43686         * modules/iconv_open-utf-tests: New file.
43687         * tests/test-iconv-utf.c: New file.
43688
43689         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43690         * modules/iconv_open-utf: New file.
43691         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43692         (iconv, iconv_close): New declarations.
43693         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43694         be defined.
43695         (iconv_open): Add special handling of conversion between UTF-8 and
43696         UTF-{16,32}{BE,LE}.
43697         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43698         * lib/iconv_close.c: New file.
43699         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43700         gl_FUNC_ICONV_OPEN.
43701         (gl_FUNC_ICONV_OPEN): Use it.
43702         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43703         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43704         and REPLACE_ICONV_UTF.
43705         * modules/iconv_open (Depends-on): Add c-strcase.
43706         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43707         ICONV_CONST.
43708         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43709
43710 2007-10-13  Albert Chin  <china@thewrittenword.com>
43711             Bruno Haible  <bruno@clisp.org>
43712
43713         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43714         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43715
43716 2007-10-13  Bruno Haible  <bruno@clisp.org>
43717
43718         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43719         defined, use the ISO C99 inline semantics.
43720         * lib/argp.h (ARGP_EI): Likewise.
43721
43722 2007-10-13  Bruno Haible  <bruno@clisp.org>
43723
43724         Handle 'inline' change in gcc 4.3.0.
43725         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43726         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43727         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43728         argp_fmtstream_point): Disable 'extern' declaration if the function
43729         definition is going to be provided inline.
43730         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43731         semantics, not the ISO C99 inline semantics.
43732         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43733         'extern' declaration if the function definition is going to be provided
43734         inline.
43735         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43736         the GNU C inline semantics, not the ISO C99 inline semantics. With
43737         GCC 4.2, avoid a warning.
43738
43739 2007-10-13  Bruno Haible  <bruno@clisp.org>
43740
43741         * lib/freading.h (freading): Enable the use of __freading for
43742         glibc >= 2.7.
43743         * lib/freading.c (freading): Likewise.
43744
43745 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43746
43747         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43748         "warning: C99 inline functions are not supported; using GNU89".
43749
43750 2007-10-12  Bruno Haible  <bruno@clisp.org>
43751
43752         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43753         of 2.
43754         * tests/test-ceilf2.c: New file.
43755         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43756
43757         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43758         * modules/ceilf-tests: Update.
43759
43760 2007-10-12  Bruno Haible  <bruno@clisp.org>
43761
43762         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43763         of 2.
43764         * tests/test-floorf2.c: New file.
43765         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43766
43767         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43768         * modules/floorf-tests: Update.
43769
43770 2007-10-12  Bruno Haible  <bruno@clisp.org>
43771
43772         * tests/test-trunc2.c: New file.
43773         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43774
43775         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43776         * modules/trunc-tests: Update.
43777
43778 2007-10-12  Bruno Haible  <bruno@clisp.org>
43779
43780         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43781         of 2.
43782         * tests/test-truncf2.c: New file.
43783         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43784
43785         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43786         * modules/truncf-tests: Update.
43787
43788 2007-10-11  Eric Blake  <ebb9@byu.net>
43789
43790         Don't claim strerror is broken on Interix.
43791         * doc/functions/strerror.texi (strerror): Known broken systems are
43792         now Solaris 8, and not Interix.
43793         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43794         Interix on cross-compile.
43795         Reported by Martin Koeppe in
43796         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43797
43798 2007-10-11  Bruno Haible  <bruno@clisp.org>
43799
43800         * modules/i-ring-tests: New file.
43801         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43802         instead of assert.
43803
43804 2007-10-11  Bruno Haible  <bruno@clisp.org>
43805
43806         * modules/filenamecat-tests: New file.
43807         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43808         * lib/filenamecat.c: Remove test code.
43809
43810 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43811
43812         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43813
43814         * lib/strerror.c: Include <string.h> always, to test interface,
43815         and to remove the need for the dummy.
43816         Include intprops.h to compute width instead of doing it ourselves
43817         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43818         (strerror): Define it to return NULL if there's no system strerror.
43819         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43820         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43821         ancient pre-strerror Unix systems well any more.  Saying "unknown
43822         system error" is enough.
43823         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43824         simpler strerror.c implementation.
43825         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43826         Simplify the tests to reflect the simpler strerror implementation.
43827         * modules/strerror (Depends-on): Add intprops.
43828
43829 2007-10-09  Eric Blake  <ebb9@byu.net>
43830
43831         Silence test-fpending.
43832         * modules/fpending-tests (Files): Add wrapper script.
43833         * tests/test-fpending.sh: New file.
43834
43835 2007-10-09  Bruno Haible  <bruno@clisp.org>
43836
43837         * MODULES.html.sh (func_module): Don't create a hyperlink for
43838         function names like 'printf_frexp'.
43839         (Misc): Add crc, memxor.
43840         (Characteristics of floating types): New section.
43841         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43842         isnanf-nolibm, signbit, trunc, truncf, truncl.
43843         (Enhancements for ISO C 99 functions): New subsection Input/output.
43844         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43845         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43846         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43847         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43848         (Enhancements for POSIX:2001 functions): Add chdir-long.
43849         (File system functions): Add areadlink, chdir-safer, read-file.
43850         Remove cycle-check.
43851         (File system as inode set): New section.
43852         (Date and time): Add gethrxtime.
43853         (Multithreading): Add openmp.
43854         (Internationalization functions): Add localename.
43855         (Unicode string functions): Add unistr/u*-mbsnlen.
43856         (Support for maintaining and releasing projects): Add git-version-gen.
43857         (Lone files): Remove directories.
43858
43859 2007-10-08  Ben Pfaff  <blp@gnu.org>
43860
43861         * lib/xmalloca.h: Fix typo in comment.
43862
43863 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43864
43865         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43866         when avoiding problems with integer overflow.  Use a portable test
43867         instead.
43868
43869 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43870
43871         * modules/dummy (License): Change to LGPLv2+.
43872         * modules/float (License): Likewise
43873         * modules/realloc (License): Likewise
43874         * modules/stdlib (License): Likewise
43875
43876 2007-10-07  Bruno Haible  <bruno@clisp.org>
43877
43878         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43879         * floor.c (TWO_MANT_DIG): Likewise.
43880         * ceil.c (TWO_MANT_DIG): Likewise.
43881         Reported by Ben Pfaff.
43882
43883 2007-10-07  Bruno Haible  <bruno@clisp.org>
43884
43885         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43886         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43887         * lib/frexp.c (FUNC): Likewise.
43888         * lib/printf-frexp.h (printf_frexp): Likewise.
43889         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43890         * lib/printf-frexp.c (FUNC): Likewise.
43891         Suggested by Jim Meyering.
43892
43893 2007-10-07  Jim Meyering  <meyering@redhat.com>
43894
43895         Make xnanosleep's integer overflow test more robust.
43896         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43897         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43898
43899 2007-10-07  Bruno Haible  <bruno@clisp.org>
43900
43901         * NEWS: Mention the license change.
43902
43903         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43904         abbreviations in the modules files.
43905
43906         Change copyright notice from GPLv2+ to GPLv3+.
43907         * README: Change copyright notice.
43908         * MODULES.html.sh: Likewise.
43909         * build-aux/bootstrap.conf: Likewise.
43910         * build-aux/config.libpath: Likewise.
43911         * build-aux/csharpcomp.sh.in: Likewise.
43912         * build-aux/csharpexec.sh.in: Likewise.
43913         * build-aux/install-reloc: Likewise.
43914         * build-aux/javacomp.sh.in: Likewise.
43915         * build-aux/javaexec.sh.in: Likewise.
43916         * build-aux/ldd.sh.in: Likewise.
43917         * build-aux/reloc-ldflags: Likewise.
43918         * build-aux/relocatable.sh.in: Likewise.
43919         * build-aux/x-to-1.in: Likewise.
43920         * check-module: Likewise.
43921         * config/srclistvars.sh: Likewise.
43922         * gnulib-tool: Likewise.
43923         * lib/acl-internal.h: Likewise.
43924         * lib/acl.c: Likewise.
43925         * lib/acl.h: Likewise.
43926         * lib/acl_entries.c: Likewise.
43927         * lib/areadlink-with-size.c: Likewise.
43928         * lib/areadlink.c: Likewise.
43929         * lib/areadlink.h: Likewise.
43930         * lib/argmatch.c: Likewise.
43931         * lib/argmatch.h: Likewise.
43932         * lib/argp-ba.c: Likewise.
43933         * lib/argp-eexst.c: Likewise.
43934         * lib/argp-fmtstream.c: Likewise.
43935         * lib/argp-fmtstream.h: Likewise.
43936         * lib/argp-fs-xinl.c: Likewise.
43937         * lib/argp-help.c: Likewise.
43938         * lib/argp-namefrob.h: Likewise.
43939         * lib/argp-parse.c: Likewise.
43940         * lib/argp-pin.c: Likewise.
43941         * lib/argp-pv.c: Likewise.
43942         * lib/argp-pvh.c: Likewise.
43943         * lib/argp-xinl.c: Likewise.
43944         * lib/argp.h: Likewise.
43945         * lib/at-func.c: Likewise.
43946         * lib/atanl.c: Likewise.
43947         * lib/backupfile.c: Likewise.
43948         * lib/backupfile.h: Likewise.
43949         * lib/basename.c: Likewise.
43950         * lib/binary-io.h: Likewise.
43951         * lib/byteswap.in.h: Likewise.
43952         * lib/c-stack.c: Likewise.
43953         * lib/c-stack.h: Likewise.
43954         * lib/c-strcasestr.c: Likewise.
43955         * lib/c-strcasestr.h: Likewise.
43956         * lib/c-strstr.c: Likewise.
43957         * lib/c-strstr.h: Likewise.
43958         * lib/c-strtod.c: Likewise.
43959         * lib/calloc.c: Likewise.
43960         * lib/canon-host.c: Likewise.
43961         * lib/canon-host.h: Likewise.
43962         * lib/canonicalize-lgpl.c: Likewise.
43963         * lib/canonicalize.c: Likewise.
43964         * lib/canonicalize.h: Likewise.
43965         * lib/ceil.c: Likewise.
43966         * lib/ceilf.c: Likewise.
43967         * lib/ceill.c: Likewise.
43968         * lib/chdir-long.c: Likewise.
43969         * lib/chdir-long.h: Likewise.
43970         * lib/chdir-safer.c: Likewise.
43971         * lib/chdir-safer.h: Likewise.
43972         * lib/chown.c: Likewise.
43973         * lib/classpath.c: Likewise.
43974         * lib/classpath.h: Likewise.
43975         * lib/clean-temp.c: Likewise.
43976         * lib/clean-temp.h: Likewise.
43977         * lib/cloexec.c: Likewise.
43978         * lib/close-stream.c: Likewise.
43979         * lib/closein.c: Likewise.
43980         * lib/closein.h: Likewise.
43981         * lib/closeout.c: Likewise.
43982         * lib/closeout.h: Likewise.
43983         * lib/concat-filename.c: Likewise.
43984         * lib/copy-file.c: Likewise.
43985         * lib/copy-file.h: Likewise.
43986         * lib/count-one-bits.h: Likewise.
43987         * lib/crc.c: Likewise.
43988         * lib/crc.h: Likewise.
43989         * lib/creat-safer.c: Likewise.
43990         * lib/csharpcomp.c: Likewise.
43991         * lib/csharpcomp.h: Likewise.
43992         * lib/csharpexec.c: Likewise.
43993         * lib/csharpexec.h: Likewise.
43994         * lib/cycle-check.c: Likewise.
43995         * lib/cycle-check.h: Likewise.
43996         * lib/diacrit.c: Likewise.
43997         * lib/diacrit.h: Likewise.
43998         * lib/diffseq.h: Likewise.
43999         * lib/dirchownmod.c: Likewise.
44000         * lib/dirent.in.h: Likewise.
44001         * lib/dirfd.c: Likewise.
44002         * lib/dirfd.h: Likewise.
44003         * lib/dirname.c: Likewise.
44004         * lib/dirname.h: Likewise.
44005         * lib/dummy.c: Likewise.
44006         * lib/dup-safer.c: Likewise.
44007         * lib/dup2.c: Likewise.
44008         * lib/eealloc.h: Likewise.
44009         * lib/error.c: Likewise.
44010         * lib/error.h: Likewise.
44011         * lib/euidaccess.c: Likewise.
44012         * lib/exclude.c: Likewise.
44013         * lib/exclude.h: Likewise.
44014         * lib/execute.c: Likewise.
44015         * lib/execute.h: Likewise.
44016         * lib/exitfail.c: Likewise.
44017         * lib/exitfail.h: Likewise.
44018         * lib/expl.c: Likewise.
44019         * lib/fatal-signal.c: Likewise.
44020         * lib/fatal-signal.h: Likewise.
44021         * lib/fbufmode.c: Likewise.
44022         * lib/fbufmode.h: Likewise.
44023         * lib/fchdir.c: Likewise.
44024         * lib/fchmodat.c: Likewise.
44025         * lib/fchownat.c: Likewise.
44026         * lib/fcntl--.h: Likewise.
44027         * lib/fcntl-safer.h: Likewise.
44028         * lib/fcntl.in.h: Likewise.
44029         * lib/fd-safer.c: Likewise.
44030         * lib/fflush.c: Likewise.
44031         * lib/file-has-acl.c: Likewise.
44032         * lib/file-set.c: Likewise.
44033         * lib/file-type.c: Likewise.
44034         * lib/file-type.h: Likewise.
44035         * lib/fileblocks.c: Likewise.
44036         * lib/filemode.c: Likewise.
44037         * lib/filemode.h: Likewise.
44038         * lib/filename.h: Likewise.
44039         * lib/filenamecat.c: Likewise.
44040         * lib/filenamecat.h: Likewise.
44041         * lib/findprog.c: Likewise.
44042         * lib/findprog.h: Likewise.
44043         * lib/float.in.h: Likewise.
44044         * lib/floor.c: Likewise.
44045         * lib/floorf.c: Likewise.
44046         * lib/floorl.c: Likewise.
44047         * lib/fopen-safer.c: Likewise.
44048         * lib/fopen.c: Likewise.
44049         * lib/fpending.c: Likewise.
44050         * lib/fpending.h: Likewise.
44051         * lib/fprintf.c: Likewise.
44052         * lib/fprintftime.h: Likewise.
44053         * lib/fpucw.h: Likewise.
44054         * lib/fpurge.c: Likewise.
44055         * lib/fpurge.h: Likewise.
44056         * lib/freadable.c: Likewise.
44057         * lib/freadable.h: Likewise.
44058         * lib/freadahead.c: Likewise.
44059         * lib/freadahead.h: Likewise.
44060         * lib/freading.c: Likewise.
44061         * lib/freading.h: Likewise.
44062         * lib/free.c: Likewise.
44063         * lib/freopen.c: Likewise.
44064         * lib/frexp.c: Likewise.
44065         * lib/frexpl.c: Likewise.
44066         * lib/fseek.c: Likewise.
44067         * lib/fseterr.c: Likewise.
44068         * lib/fseterr.h: Likewise.
44069         * lib/fstatat.c: Likewise.
44070         * lib/fstrcmp.c: Likewise.
44071         * lib/fstrcmp.h: Likewise.
44072         * lib/fsusage.c: Likewise.
44073         * lib/fsusage.h: Likewise.
44074         * lib/ftell.c: Likewise.
44075         * lib/ftello.c: Likewise.
44076         * lib/fts-cycle.c: Likewise.
44077         * lib/fts.c: Likewise.
44078         * lib/fts_.h: Likewise.
44079         * lib/full-read.c: Likewise.
44080         * lib/full-read.h: Likewise.
44081         * lib/full-write.c: Likewise.
44082         * lib/full-write.h: Likewise.
44083         * lib/fwritable.c: Likewise.
44084         * lib/fwritable.h: Likewise.
44085         * lib/fwriteerror.c: Likewise.
44086         * lib/fwriteerror.h: Likewise.
44087         * lib/fwriting.c: Likewise.
44088         * lib/fwriting.h: Likewise.
44089         * lib/gcd.c: Likewise.
44090         * lib/gcd.h: Likewise.
44091         * lib/getcwd.c: Likewise.
44092         * lib/getdate.h: Likewise.
44093         * lib/getdate.y: Likewise.
44094         * lib/getdomainname.c: Likewise.
44095         * lib/getdomainname.h: Likewise.
44096         * lib/getgroups.c: Likewise.
44097         * lib/gethostname.c: Likewise.
44098         * lib/gethrxtime.c: Likewise.
44099         * lib/gethrxtime.h: Likewise.
44100         * lib/getloadavg.c: Likewise.
44101         * lib/getndelim2.c: Likewise.
44102         * lib/getndelim2.h: Likewise.
44103         * lib/getnline.c: Likewise.
44104         * lib/getnline.h: Likewise.
44105         * lib/getopt.c: Likewise.
44106         * lib/getopt.in.h: Likewise.
44107         * lib/getopt1.c: Likewise.
44108         * lib/getopt_int.h: Likewise.
44109         * lib/getpagesize.h: Likewise.
44110         * lib/getsubopt.c: Likewise.
44111         * lib/gettime.c: Likewise.
44112         * lib/getugroups.c: Likewise.
44113         * lib/getugroups.h: Likewise.
44114         * lib/getusershell.c: Likewise.
44115         * lib/gl_anyavltree_list1.h: Likewise.
44116         * lib/gl_anyavltree_list2.h: Likewise.
44117         * lib/gl_anyhash_list1.h: Likewise.
44118         * lib/gl_anyhash_list2.h: Likewise.
44119         * lib/gl_anylinked_list1.h: Likewise.
44120         * lib/gl_anylinked_list2.h: Likewise.
44121         * lib/gl_anyrbtree_list1.h: Likewise.
44122         * lib/gl_anyrbtree_list2.h: Likewise.
44123         * lib/gl_anytree_list1.h: Likewise.
44124         * lib/gl_anytree_list2.h: Likewise.
44125         * lib/gl_anytree_oset.h: Likewise.
44126         * lib/gl_anytreehash_list1.h: Likewise.
44127         * lib/gl_anytreehash_list2.h: Likewise.
44128         * lib/gl_array_list.c: Likewise.
44129         * lib/gl_array_list.h: Likewise.
44130         * lib/gl_array_oset.c: Likewise.
44131         * lib/gl_array_oset.h: Likewise.
44132         * lib/gl_avltree_list.c: Likewise.
44133         * lib/gl_avltree_list.h: Likewise.
44134         * lib/gl_avltree_oset.c: Likewise.
44135         * lib/gl_avltree_oset.h: Likewise.
44136         * lib/gl_avltreehash_list.c: Likewise.
44137         * lib/gl_avltreehash_list.h: Likewise.
44138         * lib/gl_carray_list.c: Likewise.
44139         * lib/gl_carray_list.h: Likewise.
44140         * lib/gl_linked_list.c: Likewise.
44141         * lib/gl_linked_list.h: Likewise.
44142         * lib/gl_linkedhash_list.c: Likewise.
44143         * lib/gl_linkedhash_list.h: Likewise.
44144         * lib/gl_list.c: Likewise.
44145         * lib/gl_list.h: Likewise.
44146         * lib/gl_oset.c: Likewise.
44147         * lib/gl_oset.h: Likewise.
44148         * lib/gl_rbtree_list.c: Likewise.
44149         * lib/gl_rbtree_list.h: Likewise.
44150         * lib/gl_rbtree_oset.c: Likewise.
44151         * lib/gl_rbtree_oset.h: Likewise.
44152         * lib/gl_rbtreehash_list.c: Likewise.
44153         * lib/gl_rbtreehash_list.h: Likewise.
44154         * lib/gl_sublist.c: Likewise.
44155         * lib/gl_sublist.h: Likewise.
44156         * lib/group-member.c: Likewise.
44157         * lib/group-member.h: Likewise.
44158         * lib/hard-locale.c: Likewise.
44159         * lib/hard-locale.h: Likewise.
44160         * lib/hash-pjw.c: Likewise.
44161         * lib/hash-pjw.h: Likewise.
44162         * lib/hash-triple.c: Likewise.
44163         * lib/hash.c: Likewise.
44164         * lib/hash.h: Likewise.
44165         * lib/human.c: Likewise.
44166         * lib/human.h: Likewise.
44167         * lib/i-ring.c: Likewise.
44168         * lib/i-ring.h: Likewise.
44169         * lib/idcache.c: Likewise.
44170         * lib/imaxabs.c: Likewise.
44171         * lib/imaxdiv.c: Likewise.
44172         * lib/inet_pton.c: Likewise.
44173         * lib/inet_pton.h: Likewise.
44174         * lib/intprops.h: Likewise.
44175         * lib/inttostr.c: Likewise.
44176         * lib/inttostr.h: Likewise.
44177         * lib/inttypes.in.h: Likewise.
44178         * lib/isapipe.c: Likewise.
44179         * lib/isdir.c: Likewise.
44180         * lib/isnan.c: Likewise.
44181         * lib/isnan.h: Likewise.
44182         * lib/isnanf.c: Likewise.
44183         * lib/isnanf.h: Likewise.
44184         * lib/isnanl-nolibm.h: Likewise.
44185         * lib/isnanl.c: Likewise.
44186         * lib/isnanl.h: Likewise.
44187         * lib/javacomp.c: Likewise.
44188         * lib/javacomp.h: Likewise.
44189         * lib/javaexec.c: Likewise.
44190         * lib/javaexec.h: Likewise.
44191         * lib/javaversion.c: Likewise.
44192         * lib/javaversion.h: Likewise.
44193         * lib/javaversion.java: Likewise.
44194         * lib/lbrkprop.h: Likewise.
44195         * lib/lchmod.h: Likewise.
44196         * lib/lchown.c: Likewise.
44197         * lib/ldexpl.c: Likewise.
44198         * lib/linebreak.c: Likewise.
44199         * lib/linebreak.h: Likewise.
44200         * lib/linebuffer.c: Likewise.
44201         * lib/linebuffer.h: Likewise.
44202         * lib/locale.in.h: Likewise.
44203         * lib/logl.c: Likewise.
44204         * lib/long-options.c: Likewise.
44205         * lib/long-options.h: Likewise.
44206         * lib/lstat.c: Likewise.
44207         * lib/lstat.h: Likewise.
44208         * lib/math.in.h: Likewise.
44209         * lib/mbchar.c: Likewise.
44210         * lib/mbchar.h: Likewise.
44211         * lib/mbfile.h: Likewise.
44212         * lib/mbiter.h: Likewise.
44213         * lib/mbscasecmp.c: Likewise.
44214         * lib/mbscasestr.c: Likewise.
44215         * lib/mbschr.c: Likewise.
44216         * lib/mbscspn.c: Likewise.
44217         * lib/mbslen.c: Likewise.
44218         * lib/mbsncasecmp.c: Likewise.
44219         * lib/mbsnlen.c: Likewise.
44220         * lib/mbspbrk.c: Likewise.
44221         * lib/mbspcasecmp.c: Likewise.
44222         * lib/mbsrchr.c: Likewise.
44223         * lib/mbssep.c: Likewise.
44224         * lib/mbsspn.c: Likewise.
44225         * lib/mbsstr.c: Likewise.
44226         * lib/mbstok_r.c: Likewise.
44227         * lib/mbswidth.c: Likewise.
44228         * lib/mbswidth.h: Likewise.
44229         * lib/mbuiter.h: Likewise.
44230         * lib/memcasecmp.c: Likewise.
44231         * lib/memcasecmp.h: Likewise.
44232         * lib/memchr.c: Likewise.
44233         * lib/memcmp.c: Likewise.
44234         * lib/memcoll.c: Likewise.
44235         * lib/memcoll.h: Likewise.
44236         * lib/memcpy.c: Likewise.
44237         * lib/memrchr.c: Likewise.
44238         * lib/mkancesdirs.c: Likewise.
44239         * lib/mkdir-p.c: Likewise.
44240         * lib/mkdir-p.h: Likewise.
44241         * lib/mkdir.c: Likewise.
44242         * lib/mkdirat.c: Likewise.
44243         * lib/mkdtemp.c: Likewise.
44244         * lib/mkstemp-safer.c: Likewise.
44245         * lib/mkstemp.c: Likewise.
44246         * lib/modechange.c: Likewise.
44247         * lib/modechange.h: Likewise.
44248         * lib/mountlist.c: Likewise.
44249         * lib/mountlist.h: Likewise.
44250         * lib/mpsort.c: Likewise.
44251         * lib/nanosleep.c: Likewise.
44252         * lib/obstack.c: Likewise.
44253         * lib/obstack.h: Likewise.
44254         * lib/open-safer.c: Likewise.
44255         * lib/open.c: Likewise.
44256         * lib/openat-die.c: Likewise.
44257         * lib/openat-priv.h: Likewise.
44258         * lib/openat-proc.c: Likewise.
44259         * lib/openat.c: Likewise.
44260         * lib/openat.h: Likewise.
44261         * lib/pagealign_alloc.c: Likewise.
44262         * lib/pagealign_alloc.h: Likewise.
44263         * lib/physmem.c: Likewise.
44264         * lib/physmem.h: Likewise.
44265         * lib/pipe-safer.c: Likewise.
44266         * lib/pipe.c: Likewise.
44267         * lib/pipe.h: Likewise.
44268         * lib/posixtm.c: Likewise.
44269         * lib/posixtm.h: Likewise.
44270         * lib/posixver.c: Likewise.
44271         * lib/printf-frexp.c: Likewise.
44272         * lib/printf-frexp.h: Likewise.
44273         * lib/printf-frexpl.c: Likewise.
44274         * lib/printf-frexpl.h: Likewise.
44275         * lib/printf.c: Likewise.
44276         * lib/progname.c: Likewise.
44277         * lib/progname.h: Likewise.
44278         * lib/progreloc.c: Likewise.
44279         * lib/putenv.c: Likewise.
44280         * lib/quote.c: Likewise.
44281         * lib/quote.h: Likewise.
44282         * lib/quotearg.c: Likewise.
44283         * lib/quotearg.h: Likewise.
44284         * lib/raise.c: Likewise.
44285         * lib/readline.c: Likewise.
44286         * lib/readline.h: Likewise.
44287         * lib/readlink.c: Likewise.
44288         * lib/readtokens.c: Likewise.
44289         * lib/readtokens.h: Likewise.
44290         * lib/readtokens0.c: Likewise.
44291         * lib/readtokens0.h: Likewise.
44292         * lib/readutmp.c: Likewise.
44293         * lib/readutmp.h: Likewise.
44294         * lib/realloc.c: Likewise.
44295         * lib/relocwrapper.c: Likewise.
44296         * lib/rename-dest-slash.c: Likewise.
44297         * lib/rename.c: Likewise.
44298         * lib/rmdir.c: Likewise.
44299         * lib/rpmatch.c: Likewise.
44300         * lib/safe-read.c: Likewise.
44301         * lib/safe-read.h: Likewise.
44302         * lib/safe-write.c: Likewise.
44303         * lib/safe-write.h: Likewise.
44304         * lib/same-inode.h: Likewise.
44305         * lib/same.c: Likewise.
44306         * lib/same.h: Likewise.
44307         * lib/save-cwd.c: Likewise.
44308         * lib/save-cwd.h: Likewise.
44309         * lib/savedir.c: Likewise.
44310         * lib/savedir.h: Likewise.
44311         * lib/savewd.c: Likewise.
44312         * lib/savewd.h: Likewise.
44313         * lib/search.in.h: Likewise.
44314         * lib/setenv.c: Likewise.
44315         * lib/setenv.h: Likewise.
44316         * lib/settime.c: Likewise.
44317         * lib/sh-quote.c: Likewise.
44318         * lib/sh-quote.h: Likewise.
44319         * lib/sig2str.c: Likewise.
44320         * lib/sig2str.h: Likewise.
44321         * lib/signal.in.h: Likewise.
44322         * lib/signbitd.c: Likewise.
44323         * lib/signbitf.c: Likewise.
44324         * lib/signbitl.c: Likewise.
44325         * lib/sigprocmask.c: Likewise.
44326         * lib/sincosl.c: Likewise.
44327         * lib/sleep.c: Likewise.
44328         * lib/sprintf.c: Likewise.
44329         * lib/sqrtl.c: Likewise.
44330         * lib/stat-time.h: Likewise.
44331         * lib/stdio--.h: Likewise.
44332         * lib/stdio-safer.h: Likewise.
44333         * lib/stdlib--.h: Likewise.
44334         * lib/stdlib-safer.h: Likewise.
44335         * lib/stdlib.in.h: Likewise.
44336         * lib/stpcpy.c: Likewise.
44337         * lib/stpncpy.c: Likewise.
44338         * lib/strchrnul.c: Likewise.
44339         * lib/strcspn.c: Likewise.
44340         * lib/strerror.c: Likewise.
44341         * lib/strftime.c: Likewise.
44342         * lib/strftime.h: Likewise.
44343         * lib/striconveh.c: Likewise.
44344         * lib/striconveh.h: Likewise.
44345         * lib/striconveha.c: Likewise.
44346         * lib/striconveha.h: Likewise.
44347         * lib/stripslash.c: Likewise.
44348         * lib/strnlen1.c: Likewise.
44349         * lib/strnlen1.h: Likewise.
44350         * lib/strtod.c: Likewise.
44351         * lib/strtoimax.c: Likewise.
44352         * lib/strtok_r.c: Likewise.
44353         * lib/strtol.c: Likewise.
44354         * lib/strtoll.c: Likewise.
44355         * lib/strtoul.c: Likewise.
44356         * lib/strtoull.c: Likewise.
44357         * lib/sysexits.in.h: Likewise.
44358         * lib/tempname.c: Likewise.
44359         * lib/tempname.h: Likewise.
44360         * lib/timespec.h: Likewise.
44361         * lib/tls.c: Likewise.
44362         * lib/tls.h: Likewise.
44363         * lib/tmpdir.c: Likewise.
44364         * lib/tmpdir.h: Likewise.
44365         * lib/tmpfile-safer.c: Likewise.
44366         * lib/tmpfile.c: Likewise.
44367         * lib/trigl.c: Likewise.
44368         * lib/trigl.h: Likewise.
44369         * lib/trim.c: Likewise.
44370         * lib/trim.h: Likewise.
44371         * lib/trunc.c: Likewise.
44372         * lib/truncf.c: Likewise.
44373         * lib/truncl.c: Likewise.
44374         * lib/tsearch.c: Likewise.
44375         * lib/unicodeio.c: Likewise.
44376         * lib/unicodeio.h: Likewise.
44377         * lib/unistd--.h: Likewise.
44378         * lib/unistd-safer.h: Likewise.
44379         * lib/unistdio/ulc-fprintf.c: Likewise.
44380         * lib/unistdio/ulc-vfprintf.c: Likewise.
44381         * lib/unlinkdir.c: Likewise.
44382         * lib/unlinkdir.h: Likewise.
44383         * lib/unlocked-io.h: Likewise.
44384         * lib/unsetenv.c: Likewise.
44385         * lib/userspec.c: Likewise.
44386         * lib/utime.c: Likewise.
44387         * lib/utimecmp.c: Likewise.
44388         * lib/utimecmp.h: Likewise.
44389         * lib/utimens.c: Likewise.
44390         * lib/verify.h: Likewise.
44391         * lib/verror.c: Likewise.
44392         * lib/verror.h: Likewise.
44393         * lib/version-etc-fsf.c: Likewise.
44394         * lib/version-etc.c: Likewise.
44395         * lib/version-etc.h: Likewise.
44396         * lib/vfprintf.c: Likewise.
44397         * lib/vprintf.c: Likewise.
44398         * lib/vsprintf.c: Likewise.
44399         * lib/w32spawn.h: Likewise.
44400         * lib/wait-process.c: Likewise.
44401         * lib/wait-process.h: Likewise.
44402         * lib/wcwidth.c: Likewise.
44403         * lib/write-any-file.c: Likewise.
44404         * lib/xalloc-die.c: Likewise.
44405         * lib/xalloc.h: Likewise.
44406         * lib/xasprintf.c: Likewise.
44407         * lib/xgetcwd.c: Likewise.
44408         * lib/xgetcwd.h: Likewise.
44409         * lib/xgetdomainname.c: Likewise.
44410         * lib/xgetdomainname.h: Likewise.
44411         * lib/xgethostname.c: Likewise.
44412         * lib/xmalloc.c: Likewise.
44413         * lib/xmalloca.c: Likewise.
44414         * lib/xmalloca.h: Likewise.
44415         * lib/xmemcoll.c: Likewise.
44416         * lib/xnanosleep.c: Likewise.
44417         * lib/xreadlink.c: Likewise.
44418         * lib/xreadlink.h: Likewise.
44419         * lib/xsetenv.c: Likewise.
44420         * lib/xsetenv.h: Likewise.
44421         * lib/xstriconv.c: Likewise.
44422         * lib/xstriconv.h: Likewise.
44423         * lib/xstrndup.c: Likewise.
44424         * lib/xstrndup.h: Likewise.
44425         * lib/xstrtod.c: Likewise.
44426         * lib/xstrtod.h: Likewise.
44427         * lib/xstrtol-error.c: Likewise.
44428         * lib/xstrtol.c: Likewise.
44429         * lib/xstrtol.h: Likewise.
44430         * lib/xtime.h: Likewise.
44431         * lib/xvasprintf.c: Likewise.
44432         * lib/xvasprintf.h: Likewise.
44433         * lib/yesno.c: Likewise.
44434         * lib/yesno.h: Likewise.
44435         * posix-modules: Likewise.
44436         * tests/test-alloca-opt.c: Likewise.
44437         * tests/test-arcfour.c: Likewise.
44438         * tests/test-arctwo.c: Likewise.
44439         * tests/test-argmatch.c: Likewise.
44440         * tests/test-argp-2.sh: Likewise.
44441         * tests/test-argp.c: Likewise.
44442         * tests/test-arpa_inet.c: Likewise.
44443         * tests/test-array_list.c: Likewise.
44444         * tests/test-array_oset.c: Likewise.
44445         * tests/test-atexit.c: Likewise.
44446         * tests/test-avltree_list.c: Likewise.
44447         * tests/test-avltree_oset.c: Likewise.
44448         * tests/test-avltreehash_list.c: Likewise.
44449         * tests/test-base64.c: Likewise.
44450         * tests/test-binary-io.c: Likewise.
44451         * tests/test-byteswap.c: Likewise.
44452         * tests/test-c-ctype.c: Likewise.
44453         * tests/test-c-strcasecmp.c: Likewise.
44454         * tests/test-c-strcasestr.c: Likewise.
44455         * tests/test-c-strncasecmp.c: Likewise.
44456         * tests/test-c-strstr.c: Likewise.
44457         * tests/test-canonicalize-lgpl.c: Likewise.
44458         * tests/test-canonicalize.c: Likewise.
44459         * tests/test-carray_list.c: Likewise.
44460         * tests/test-ceilf.c: Likewise.
44461         * tests/test-ceill.c: Likewise.
44462         * tests/test-count-one-bits.c: Likewise.
44463         * tests/test-crc.c: Likewise.
44464         * tests/test-dirname.c: Likewise.
44465         * tests/test-fbufmode.c: Likewise.
44466         * tests/test-fcntl.c: Likewise.
44467         * tests/test-fflush.c: Likewise.
44468         * tests/test-floorf.c: Likewise.
44469         * tests/test-floorl.c: Likewise.
44470         * tests/test-fopen.c: Likewise.
44471         * tests/test-fprintf-posix.c: Likewise.
44472         * tests/test-fprintf-posix.h: Likewise.
44473         * tests/test-fpurge.c: Likewise.
44474         * tests/test-freadable.c: Likewise.
44475         * tests/test-freadahead.c: Likewise.
44476         * tests/test-freading.c: Likewise.
44477         * tests/test-freopen.c: Likewise.
44478         * tests/test-frexp.c: Likewise.
44479         * tests/test-frexpl.c: Likewise.
44480         * tests/test-fseek.c: Likewise.
44481         * tests/test-fseeko.c: Likewise.
44482         * tests/test-fseterr.c: Likewise.
44483         * tests/test-fstrcmp.c: Likewise.
44484         * tests/test-ftell.c: Likewise.
44485         * tests/test-ftello.c: Likewise.
44486         * tests/test-fwritable.c: Likewise.
44487         * tests/test-fwriting.c: Likewise.
44488         * tests/test-getaddrinfo.c: Likewise.
44489         * tests/test-getpass.c: Likewise.
44490         * tests/test-gettimeofday.c: Likewise.
44491         * tests/test-hmac-md5.c: Likewise.
44492         * tests/test-hmac-sha1.c: Likewise.
44493         * tests/test-iconv.c: Likewise.
44494         * tests/test-iconvme.c: Likewise.
44495         * tests/test-inttypes.c: Likewise.
44496         * tests/test-isnan.c: Likewise.
44497         * tests/test-isnanf.c: Likewise.
44498         * tests/test-isnanl-nolibm.c: Likewise.
44499         * tests/test-isnanl.c: Likewise.
44500         * tests/test-isnanl.h: Likewise.
44501         * tests/test-ldexpl.c: Likewise.
44502         * tests/test-linked_list.c: Likewise.
44503         * tests/test-linkedhash_list.c: Likewise.
44504         * tests/test-locale.c: Likewise.
44505         * tests/test-localename.c: Likewise.
44506         * tests/test-lock.c: Likewise.
44507         * tests/test-lseek.c: Likewise.
44508         * tests/test-malloca.c: Likewise.
44509         * tests/test-math.c: Likewise.
44510         * tests/test-mbscasecmp.c: Likewise.
44511         * tests/test-mbscasestr1.c: Likewise.
44512         * tests/test-mbscasestr2.c: Likewise.
44513         * tests/test-mbscasestr3.c: Likewise.
44514         * tests/test-mbscasestr4.c: Likewise.
44515         * tests/test-mbschr.c: Likewise.
44516         * tests/test-mbscspn.c: Likewise.
44517         * tests/test-mbsncasecmp.c: Likewise.
44518         * tests/test-mbspbrk.c: Likewise.
44519         * tests/test-mbspcasecmp.c: Likewise.
44520         * tests/test-mbsrchr.c: Likewise.
44521         * tests/test-mbsspn.c: Likewise.
44522         * tests/test-mbsstr1.c: Likewise.
44523         * tests/test-mbsstr2.c: Likewise.
44524         * tests/test-mbsstr3.c: Likewise.
44525         * tests/test-md5.c: Likewise.
44526         * tests/test-memmem.c: Likewise.
44527         * tests/test-netinet_in.c: Likewise.
44528         * tests/test-open.c: Likewise.
44529         * tests/test-printf-frexp.c: Likewise.
44530         * tests/test-printf-frexpl.c: Likewise.
44531         * tests/test-printf-posix.c: Likewise.
44532         * tests/test-printf-posix.h: Likewise.
44533         * tests/test-rbtree_list.c: Likewise.
44534         * tests/test-rbtree_oset.c: Likewise.
44535         * tests/test-rbtreehash_list.c: Likewise.
44536         * tests/test-read-file.c: Likewise.
44537         * tests/test-rijndael.c: Likewise.
44538         * tests/test-search.c: Likewise.
44539         * tests/test-signbit.c: Likewise.
44540         * tests/test-sleep.c: Likewise.
44541         * tests/test-snprintf-posix.c: Likewise.
44542         * tests/test-snprintf-posix.h: Likewise.
44543         * tests/test-snprintf.c: Likewise.
44544         * tests/test-sprintf-posix.c: Likewise.
44545         * tests/test-sprintf-posix.h: Likewise.
44546         * tests/test-stat-time.c: Likewise.
44547         * tests/test-stdbool.c: Likewise.
44548         * tests/test-stdint.c: Likewise.
44549         * tests/test-stdio.c: Likewise.
44550         * tests/test-stdlib.c: Likewise.
44551         * tests/test-stpncpy.c: Likewise.
44552         * tests/test-strcasestr.c: Likewise.
44553         * tests/test-striconv.c: Likewise.
44554         * tests/test-striconveh.c: Likewise.
44555         * tests/test-striconveha.c: Likewise.
44556         * tests/test-string.c: Likewise.
44557         * tests/test-sys_select.c: Likewise.
44558         * tests/test-sys_socket.c: Likewise.
44559         * tests/test-sys_stat.c: Likewise.
44560         * tests/test-sys_time.c: Likewise.
44561         * tests/test-sysexits.c: Likewise.
44562         * tests/test-time.c: Likewise.
44563         * tests/test-tls.c: Likewise.
44564         * tests/test-trunc.c: Likewise.
44565         * tests/test-truncf.c: Likewise.
44566         * tests/test-truncl.c: Likewise.
44567         * tests/test-unistd.c: Likewise.
44568         * tests/test-vasnprintf-posix.c: Likewise.
44569         * tests/test-vasnprintf-posix2.c: Likewise.
44570         * tests/test-vasnprintf.c: Likewise.
44571         * tests/test-vasprintf-posix.c: Likewise.
44572         * tests/test-vasprintf.c: Likewise.
44573         * tests/test-verify.c: Likewise.
44574         * tests/test-vfprintf-posix.c: Likewise.
44575         * tests/test-vprintf-posix.c: Likewise.
44576         * tests/test-vsnprintf-posix.c: Likewise.
44577         * tests/test-vsnprintf.c: Likewise.
44578         * tests/test-vsprintf-posix.c: Likewise.
44579         * tests/test-wchar.c: Likewise.
44580         * tests/test-wctype.c: Likewise.
44581         * tests/test-wcwidth.c: Likewise.
44582         * tests/test-xstrtol.c: Likewise.
44583         * tests/test-xvasprintf.c: Likewise.
44584         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
44585         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
44586         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
44587         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
44588         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
44589         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
44590         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
44591         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
44592         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
44593         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
44594         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
44595         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
44596         * tests/uniname/test-uninames.c: Likewise.
44597         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
44598         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
44599         * tests/unistdio/test-u16-printf1.h: Likewise.
44600         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
44601         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
44602         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
44603         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
44604         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
44605         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
44606         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
44607         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
44608         * tests/unistdio/test-u32-printf1.h: Likewise.
44609         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
44610         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
44611         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
44612         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
44613         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
44614         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
44615         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
44616         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
44617         * tests/unistdio/test-u8-printf1.h: Likewise.
44618         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
44619         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
44620         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
44621         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
44622         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
44623         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
44624         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
44625         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
44626         * tests/unistdio/test-ulc-printf1.h: Likewise.
44627         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
44628         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
44629         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
44630         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
44631         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
44632         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
44633         * tests/uniwidth/test-u16-strwidth.c: Likewise.
44634         * tests/uniwidth/test-u16-width.c: Likewise.
44635         * tests/uniwidth/test-u32-strwidth.c: Likewise.
44636         * tests/uniwidth/test-u32-width.c: Likewise.
44637         * tests/uniwidth/test-u8-strwidth.c: Likewise.
44638         * tests/uniwidth/test-u8-width.c: Likewise.
44639         * tests/uniwidth/test-uc_width.c: Likewise.
44640         * config/srclist-update: Likewise.
44641         (fixlicense): Update to GPLv3+.
44642
44643         Change copyright notice from LGPLv2.1+ to LGPLv3+.
44644         * tests/test-tsearch.c: Change copyright notice.
44645
44646         Change copyright notice from LGPLv2.0+ to LGPLv3+.
44647         * lib/c-strcaseeq.h: Change copyright notice.
44648         * lib/streq.h: Likewise.
44649         * lib/uniconv.h: Likewise.
44650         * lib/uniconv/u-conv-from-enc.h: Likewise.
44651         * lib/uniconv/u-conv-to-enc.h: Likewise.
44652         * lib/uniconv/u-strconv-from-enc.h: Likewise.
44653         * lib/uniconv/u-strconv-to-enc.h: Likewise.
44654         * lib/uniconv/u16-conv-from-enc.c: Likewise.
44655         * lib/uniconv/u16-conv-to-enc.c: Likewise.
44656         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
44657         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
44658         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
44659         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
44660         * lib/uniconv/u32-conv-from-enc.c: Likewise.
44661         * lib/uniconv/u32-conv-to-enc.c: Likewise.
44662         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
44663         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
44664         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
44665         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
44666         * lib/uniconv/u8-conv-from-enc.c: Likewise.
44667         * lib/uniconv/u8-conv-to-enc.c: Likewise.
44668         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
44669         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
44670         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
44671         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
44672         * lib/uniname.h: Likewise.
44673         * lib/uniname/uniname.c: Likewise.
44674         * lib/unistdio.h: Likewise.
44675         * lib/unistdio/u-asnprintf.h: Likewise.
44676         * lib/unistdio/u-asprintf.h: Likewise.
44677         * lib/unistdio/u-printf-args.c: Likewise.
44678         * lib/unistdio/u-printf-args.h: Likewise.
44679         * lib/unistdio/u-printf-parse.h: Likewise.
44680         * lib/unistdio/u-snprintf.h: Likewise.
44681         * lib/unistdio/u-sprintf.h: Likewise.
44682         * lib/unistdio/u-vasprintf.h: Likewise.
44683         * lib/unistdio/u-vsnprintf.h: Likewise.
44684         * lib/unistdio/u-vsprintf.h: Likewise.
44685         * lib/unistdio/u16-asnprintf.c: Likewise.
44686         * lib/unistdio/u16-asprintf.c: Likewise.
44687         * lib/unistdio/u16-printf-parse.c: Likewise.
44688         * lib/unistdio/u16-snprintf.c: Likewise.
44689         * lib/unistdio/u16-sprintf.c: Likewise.
44690         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44691         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44692         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44693         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44694         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44695         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44696         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44697         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44698         * lib/unistdio/u16-vasnprintf.c: Likewise.
44699         * lib/unistdio/u16-vasprintf.c: Likewise.
44700         * lib/unistdio/u16-vsnprintf.c: Likewise.
44701         * lib/unistdio/u16-vsprintf.c: Likewise.
44702         * lib/unistdio/u32-asnprintf.c: Likewise.
44703         * lib/unistdio/u32-asprintf.c: Likewise.
44704         * lib/unistdio/u32-printf-parse.c: Likewise.
44705         * lib/unistdio/u32-snprintf.c: Likewise.
44706         * lib/unistdio/u32-sprintf.c: Likewise.
44707         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44708         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44709         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44710         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44711         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44712         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44713         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44714         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44715         * lib/unistdio/u32-vasnprintf.c: Likewise.
44716         * lib/unistdio/u32-vasprintf.c: Likewise.
44717         * lib/unistdio/u32-vsnprintf.c: Likewise.
44718         * lib/unistdio/u32-vsprintf.c: Likewise.
44719         * lib/unistdio/u8-asnprintf.c: Likewise.
44720         * lib/unistdio/u8-asprintf.c: Likewise.
44721         * lib/unistdio/u8-printf-parse.c: Likewise.
44722         * lib/unistdio/u8-snprintf.c: Likewise.
44723         * lib/unistdio/u8-sprintf.c: Likewise.
44724         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44725         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44726         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44727         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44728         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44729         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44730         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44731         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44732         * lib/unistdio/u8-vasnprintf.c: Likewise.
44733         * lib/unistdio/u8-vasprintf.c: Likewise.
44734         * lib/unistdio/u8-vsnprintf.c: Likewise.
44735         * lib/unistdio/u8-vsprintf.c: Likewise.
44736         * lib/unistdio/ulc-asnprintf.c: Likewise.
44737         * lib/unistdio/ulc-asprintf.c: Likewise.
44738         * lib/unistdio/ulc-printf-parse.c: Likewise.
44739         * lib/unistdio/ulc-snprintf.c: Likewise.
44740         * lib/unistdio/ulc-sprintf.c: Likewise.
44741         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44742         * lib/unistdio/ulc-vasprintf.c: Likewise.
44743         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44744         * lib/unistdio/ulc-vsprintf.c: Likewise.
44745         * lib/unistr.h: Likewise.
44746         * lib/unistr/u-cpy-alloc.h: Likewise.
44747         * lib/unistr/u-cpy.h: Likewise.
44748         * lib/unistr/u-endswith.h: Likewise.
44749         * lib/unistr/u-move.h: Likewise.
44750         * lib/unistr/u-set.h: Likewise.
44751         * lib/unistr/u-startswith.h: Likewise.
44752         * lib/unistr/u-stpcpy.h: Likewise.
44753         * lib/unistr/u-stpncpy.h: Likewise.
44754         * lib/unistr/u-strcat.h: Likewise.
44755         * lib/unistr/u-strcpy.h: Likewise.
44756         * lib/unistr/u-strcspn.h: Likewise.
44757         * lib/unistr/u-strdup.h: Likewise.
44758         * lib/unistr/u-strlen.h: Likewise.
44759         * lib/unistr/u-strncat.h: Likewise.
44760         * lib/unistr/u-strncpy.h: Likewise.
44761         * lib/unistr/u-strnlen.h: Likewise.
44762         * lib/unistr/u-strpbrk.h: Likewise.
44763         * lib/unistr/u-strspn.h: Likewise.
44764         * lib/unistr/u-strstr.h: Likewise.
44765         * lib/unistr/u-strtok.h: Likewise.
44766         * lib/unistr/u16-check.c: Likewise.
44767         * lib/unistr/u16-chr.c: Likewise.
44768         * lib/unistr/u16-cmp.c: Likewise.
44769         * lib/unistr/u16-cpy-alloc.c: Likewise.
44770         * lib/unistr/u16-cpy.c: Likewise.
44771         * lib/unistr/u16-endswith.c: Likewise.
44772         * lib/unistr/u16-mblen.c: Likewise.
44773         * lib/unistr/u16-mbsnlen.c: Likewise.
44774         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44775         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44776         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44777         * lib/unistr/u16-mbtouc.c: Likewise.
44778         * lib/unistr/u16-mbtoucr.c: Likewise.
44779         * lib/unistr/u16-move.c: Likewise.
44780         * lib/unistr/u16-next.c: Likewise.
44781         * lib/unistr/u16-prev.c: Likewise.
44782         * lib/unistr/u16-set.c: Likewise.
44783         * lib/unistr/u16-startswith.c: Likewise.
44784         * lib/unistr/u16-stpcpy.c: Likewise.
44785         * lib/unistr/u16-stpncpy.c: Likewise.
44786         * lib/unistr/u16-strcat.c: Likewise.
44787         * lib/unistr/u16-strchr.c: Likewise.
44788         * lib/unistr/u16-strcmp.c: Likewise.
44789         * lib/unistr/u16-strcpy.c: Likewise.
44790         * lib/unistr/u16-strcspn.c: Likewise.
44791         * lib/unistr/u16-strdup.c: Likewise.
44792         * lib/unistr/u16-strlen.c: Likewise.
44793         * lib/unistr/u16-strmblen.c: Likewise.
44794         * lib/unistr/u16-strmbtouc.c: Likewise.
44795         * lib/unistr/u16-strncat.c: Likewise.
44796         * lib/unistr/u16-strncmp.c: Likewise.
44797         * lib/unistr/u16-strncpy.c: Likewise.
44798         * lib/unistr/u16-strnlen.c: Likewise.
44799         * lib/unistr/u16-strpbrk.c: Likewise.
44800         * lib/unistr/u16-strrchr.c: Likewise.
44801         * lib/unistr/u16-strspn.c: Likewise.
44802         * lib/unistr/u16-strstr.c: Likewise.
44803         * lib/unistr/u16-strtok.c: Likewise.
44804         * lib/unistr/u16-to-u32.c: Likewise.
44805         * lib/unistr/u16-to-u8.c: Likewise.
44806         * lib/unistr/u16-uctomb-aux.c: Likewise.
44807         * lib/unistr/u16-uctomb.c: Likewise.
44808         * lib/unistr/u32-check.c: Likewise.
44809         * lib/unistr/u32-chr.c: Likewise.
44810         * lib/unistr/u32-cmp.c: Likewise.
44811         * lib/unistr/u32-cpy-alloc.c: Likewise.
44812         * lib/unistr/u32-cpy.c: Likewise.
44813         * lib/unistr/u32-endswith.c: Likewise.
44814         * lib/unistr/u32-mblen.c: Likewise.
44815         * lib/unistr/u32-mbsnlen.c: Likewise.
44816         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44817         * lib/unistr/u32-mbtouc.c: Likewise.
44818         * lib/unistr/u32-mbtoucr.c: Likewise.
44819         * lib/unistr/u32-move.c: Likewise.
44820         * lib/unistr/u32-next.c: Likewise.
44821         * lib/unistr/u32-prev.c: Likewise.
44822         * lib/unistr/u32-set.c: Likewise.
44823         * lib/unistr/u32-startswith.c: Likewise.
44824         * lib/unistr/u32-stpcpy.c: Likewise.
44825         * lib/unistr/u32-stpncpy.c: Likewise.
44826         * lib/unistr/u32-strcat.c: Likewise.
44827         * lib/unistr/u32-strchr.c: Likewise.
44828         * lib/unistr/u32-strcmp.c: Likewise.
44829         * lib/unistr/u32-strcpy.c: Likewise.
44830         * lib/unistr/u32-strcspn.c: Likewise.
44831         * lib/unistr/u32-strdup.c: Likewise.
44832         * lib/unistr/u32-strlen.c: Likewise.
44833         * lib/unistr/u32-strmblen.c: Likewise.
44834         * lib/unistr/u32-strmbtouc.c: Likewise.
44835         * lib/unistr/u32-strncat.c: Likewise.
44836         * lib/unistr/u32-strncmp.c: Likewise.
44837         * lib/unistr/u32-strncpy.c: Likewise.
44838         * lib/unistr/u32-strnlen.c: Likewise.
44839         * lib/unistr/u32-strpbrk.c: Likewise.
44840         * lib/unistr/u32-strrchr.c: Likewise.
44841         * lib/unistr/u32-strspn.c: Likewise.
44842         * lib/unistr/u32-strstr.c: Likewise.
44843         * lib/unistr/u32-strtok.c: Likewise.
44844         * lib/unistr/u32-to-u16.c: Likewise.
44845         * lib/unistr/u32-to-u8.c: Likewise.
44846         * lib/unistr/u32-uctomb.c: Likewise.
44847         * lib/unistr/u8-check.c: Likewise.
44848         * lib/unistr/u8-chr.c: Likewise.
44849         * lib/unistr/u8-cmp.c: Likewise.
44850         * lib/unistr/u8-cpy-alloc.c: Likewise.
44851         * lib/unistr/u8-cpy.c: Likewise.
44852         * lib/unistr/u8-endswith.c: Likewise.
44853         * lib/unistr/u8-mblen.c: Likewise.
44854         * lib/unistr/u8-mbsnlen.c: Likewise.
44855         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44856         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44857         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44858         * lib/unistr/u8-mbtouc.c: Likewise.
44859         * lib/unistr/u8-mbtoucr.c: Likewise.
44860         * lib/unistr/u8-move.c: Likewise.
44861         * lib/unistr/u8-next.c: Likewise.
44862         * lib/unistr/u8-prev.c: Likewise.
44863         * lib/unistr/u8-set.c: Likewise.
44864         * lib/unistr/u8-startswith.c: Likewise.
44865         * lib/unistr/u8-stpcpy.c: Likewise.
44866         * lib/unistr/u8-stpncpy.c: Likewise.
44867         * lib/unistr/u8-strcat.c: Likewise.
44868         * lib/unistr/u8-strchr.c: Likewise.
44869         * lib/unistr/u8-strcmp.c: Likewise.
44870         * lib/unistr/u8-strcpy.c: Likewise.
44871         * lib/unistr/u8-strcspn.c: Likewise.
44872         * lib/unistr/u8-strdup.c: Likewise.
44873         * lib/unistr/u8-strlen.c: Likewise.
44874         * lib/unistr/u8-strmblen.c: Likewise.
44875         * lib/unistr/u8-strmbtouc.c: Likewise.
44876         * lib/unistr/u8-strncat.c: Likewise.
44877         * lib/unistr/u8-strncmp.c: Likewise.
44878         * lib/unistr/u8-strncpy.c: Likewise.
44879         * lib/unistr/u8-strnlen.c: Likewise.
44880         * lib/unistr/u8-strpbrk.c: Likewise.
44881         * lib/unistr/u8-strrchr.c: Likewise.
44882         * lib/unistr/u8-strspn.c: Likewise.
44883         * lib/unistr/u8-strstr.c: Likewise.
44884         * lib/unistr/u8-strtok.c: Likewise.
44885         * lib/unistr/u8-to-u16.c: Likewise.
44886         * lib/unistr/u8-to-u32.c: Likewise.
44887         * lib/unistr/u8-uctomb-aux.c: Likewise.
44888         * lib/unistr/u8-uctomb.c: Likewise.
44889         * lib/unitypes.h: Likewise.
44890         * lib/uniwidth.h: Likewise.
44891         * lib/uniwidth/cjk.h: Likewise.
44892         * lib/uniwidth/u16-strwidth.c: Likewise.
44893         * lib/uniwidth/u16-width.c: Likewise.
44894         * lib/uniwidth/u32-strwidth.c: Likewise.
44895         * lib/uniwidth/u32-width.c: Likewise.
44896         * lib/uniwidth/u8-strwidth.c: Likewise.
44897         * lib/uniwidth/u8-width.c: Likewise.
44898         * lib/uniwidth/width.c: Likewise.
44899
44900 2007-10-07  Bruno Haible  <bruno@clisp.org>
44901
44902         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44903         The file is still under LGPL (see modules/inttypes).
44904
44905 2007-10-06  Bruno Haible  <bruno@clisp.org>
44906
44907         * modules/trunc (Dependencies): Add 'extensions'.
44908         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44909         Reported by Ben Pfaff <blp@gnu.org>.
44910
44911 2007-10-06  Bruno Haible  <bruno@clisp.org>
44912
44913         * modules/freopen-tests: New file.
44914         * tests/test-freopen.c: New file.
44915
44916         * modules/fopen-tests: New file.
44917         * tests/test-fopen.c: New file.
44918
44919         * modules/fopen: New file.
44920         * lib/fopen.c: New file.
44921         * m4/fopen.m4: New file.
44922         * modules/freopen: New file.
44923         * lib/freopen.c: New file.
44924         * m4/freopen.m4: New file.
44925         * lib/stdio.in.h (fopen, freopen): New declarations.
44926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
44927         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44928         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
44929         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44930         * doc/functions/fopen.texi: Mention the 'fopen' module.
44931         * doc/functions/freopen.texi: Mention the 'freopen' module.
44932
44933 2007-10-06  Bruno Haible  <bruno@clisp.org>
44934
44935         * modules/open-tests: New file.
44936         * tests/test-open.c: New file.
44937
44938         * modules/open: New file.
44939         * lib/open.c: New file.
44940         * m4/open.m4: New file.
44941         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
44942         lib/open.c does.
44943         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
44944         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
44945         macros.
44946         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
44947         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
44948         REPLACE_OPEN.
44949         * doc/functions/open.texi: Mention the 'open' module.
44950
44951 2007-10-04  Bruno Haible  <bruno@clisp.org>
44952
44953         * modules/ceill-tests: New file.
44954         * tests/test-ceill.c: New file.
44955
44956         * modules/ceill: New file.
44957         * lib/ceill.c: Replace entire file.
44958         * m4/ceill.m4: New file.
44959         * lib/math.in.h (ceill): Replace declaration.
44960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
44961         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
44962         * doc/functions/ceill.texi: Mention the 'ceill' module.
44963         * modules/mathl (Files): Remove lib/ceill.c.
44964         (Depends-on): Add ceill.
44965
44966 2007-10-04  Bruno Haible  <bruno@clisp.org>
44967
44968         * modules/ceilf-tests: New file.
44969         * tests/test-ceilf.c: New file.
44970
44971         * modules/ceilf: New file.
44972         * lib/ceil.c: New file.
44973         * lib/ceilf.c: New file.
44974         * m4/ceilf.m4: New file.
44975         * lib/math.in.h (ceilf): New declaration.
44976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
44977         HAVE_DECL_CEILF.
44978         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
44979         HAVE_DECL_CEILF.
44980         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
44981
44982 2007-10-04  Bruno Haible  <bruno@clisp.org>
44983
44984         * modules/floorl-tests: New file.
44985         * tests/test-floorl.c: New file.
44986
44987         * modules/floorl: New file.
44988         * lib/floorl.c: Replace entire file.
44989         * m4/floorl.m4: New file.
44990         * lib/math.in.h (floorl): Replace declaration.
44991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
44992         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
44993         * doc/functions/floorl.texi: Mention the 'floorl' module.
44994         * modules/mathl (Files): Remove lib/floorl.c.
44995         (Depends-on): Add floorl.
44996
44997 2007-10-04  Bruno Haible  <bruno@clisp.org>
44998
44999         * modules/floorf-tests: New file.
45000         * tests/test-floorf.c: New file.
45001
45002         * modules/floorf: New file.
45003         * lib/floor.c: New file.
45004         * lib/floorf.c: New file.
45005         * m4/floorf.m4: New file.
45006         * lib/math.in.h (floorf): New declaration.
45007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
45008         HAVE_DECL_FLOORF.
45009         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
45010         HAVE_DECL_FLOORF.
45011         * doc/functions/floorf.texi: Mention the 'floorf' module.
45012
45013 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
45014             Bruno Haible  <bruno@clisp.org>
45015
45016         Advertise for the Git server instead of the CVS server.
45017         * doc/gnulib-intro.texi (Steady Development): Mention the Git
45018         repository instead of the CVS one.
45019         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
45020         about all VCS systems generically.
45021         * doc/gnulib.texi (Introduction): Capitalize `Git'.
45022
45023 2007-10-04  Bruno Haible  <bruno@clisp.org>
45024
45025         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
45026         means.
45027         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
45028
45029 2007-10-04  Bruno Haible  <bruno@clisp.org>
45030
45031         * modules/truncl-tests: New file.
45032         * tests/test-truncl.c: New file.
45033
45034         * modules/truncl: New file.
45035         * lib/truncl.c: New file.
45036         * m4/truncl.m4: New file.
45037         * lib/math.in.h (truncl): New declaration.
45038         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
45039         HAVE_DECL_TRUNCL.
45040         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
45041         HAVE_DECL_TRUNCL.
45042         * doc/functions/truncl.texi: Mention the 'truncl' module.
45043
45044 2007-10-04  Bruno Haible  <bruno@clisp.org>
45045
45046         * modules/truncf-tests: New file.
45047         * tests/test-truncf.c: New file.
45048
45049         * modules/truncf: New file.
45050         * lib/trunc.c: Make paramerizable through USE_* macros.
45051         * lib/truncf.c: New file.
45052         * m4/truncf.m4: New file.
45053         * lib/math.in.h (truncf): New declaration.
45054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
45055         HAVE_DECL_TRUNCF.
45056         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
45057         HAVE_DECL_TRUNCF.
45058         * doc/functions/truncf.texi: Mention the 'truncf' module.
45059
45060 2007-10-03  Bruno Haible  <bruno@clisp.org>
45061
45062         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45063         augmentation also for tests modules.
45064         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
45065         * modules/atexit-tests (Makefile.am): Likewise.
45066         * modules/binary-io-tests (Makefile.am): Likewise.
45067         * modules/c-strcase-tests (Makefile.am): Likewise.
45068         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
45069         * modules/canonicalize-tests (Makefile.am): Likewise.
45070         * modules/closein-tests (Makefile.am): Likewise.
45071         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45072         * modules/freadahead-tests (Makefile.am): Likewise.
45073         * modules/fseek-tests (Makefile.am): Likewise.
45074         * modules/fseeko-tests (Makefile.am): Likewise.
45075         * modules/ftell-tests (Makefile.am): Likewise.
45076         * modules/ftello-tests (Makefile.am): Likewise.
45077         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
45078         * modules/isnanl-tests (Makefile.am): Likewise.
45079         * modules/lseek-tests (Makefile.am): Likewise.
45080         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45081         * modules/mbscasestr-tests (Makefile.am): Likewise.
45082         * modules/mbschr-tests (Makefile.am): Likewise.
45083         * modules/mbscspn-tests (Makefile.am): Likewise.
45084         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45085         * modules/mbspbrk-tests (Makefile.am): Likewise.
45086         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45087         * modules/mbsrchr-tests (Makefile.am): Likewise.
45088         * modules/mbsspn-tests (Makefile.am): Likewise.
45089         * modules/mbsstr-tests (Makefile.am): Likewise.
45090         * modules/printf-posix-tests (Makefile.am): Likewise.
45091         * modules/snprintf-posix-tests (Makefile.am): Likewise.
45092         * modules/sprintf-posix-tests (Makefile.am): Likewise.
45093         * modules/tsearch-tests (Makefile.am): Likewise.
45094         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45095         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45096         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45097         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45098         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45099         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45100         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45101         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45102         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
45103         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
45104         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45105         * modules/xstrtol-tests (Makefile.am): Likewise.
45106         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45107         * modules/yesno-tests (Makefile.am): Likewise.
45108
45109 2007-10-03  Bruno Haible  <bruno@clisp.org>
45110
45111         * modules/trunc-tests: New file.
45112         * tests/test-trunc.c: New file.
45113
45114         * modules/trunc: New file.
45115         * lib/trunc.c: New file.
45116         * m4/trunc.m4: New file.
45117         * lib/math.in.h (trunc): New declaration.
45118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
45119         HAVE_DECL_TRUNC.
45120         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
45121         HAVE_DECL_TRUNC.
45122         * doc/functions/trunc.texi: Mention the 'trunc' module.
45123
45124 2007-10-03  Bruno Haible  <bruno@clisp.org>
45125
45126         * tests/test-fpending.c: New file, mostly copied
45127         from coreutils/lib/t-fpending.c.
45128         * modules/fpending-tests: New file.
45129
45130 2007-10-03  Bruno Haible  <bruno@clisp.org>
45131
45132         Port the stdio extensions to QNX (untested).
45133         * lib/fseterr.c (fseterr): Add support for QNX.
45134         * lib/fbufmode.c (fbufmode): Likewise.
45135         * lib/freadable.c (freadable): Likewise.
45136         * lib/fwritable.c (fwritable): Likewise.
45137         * lib/freading.c (freading): Likewise.
45138         * lib/fwriting.c (fwriting): Likewise.
45139         * lib/freadahead.c (freadahed): Likewise.
45140         * lib/fpurge.c (fpurge): Likewise.
45141         * lib/fseeko.c (rpl_fseeko): Likewise.
45142
45143 2007-10-03  Bruno Haible  <bruno@clisp.org>
45144             Jim Meyering  <jim@meyering.net>
45145             Eric Blake  <ebb9@byu.net>
45146
45147         * doc/relocatable.texi: Use @command instead of @program.
45148
45149 2007-10-02  Jim Meyering  <jim@meyering.net>
45150
45151         Perform one more "_.h" -> ".in.h" substitution.
45152         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
45153         instead of unistd_.h here, too.
45154
45155 2007-10-01  Bruno Haible  <bruno@clisp.org>
45156
45157         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
45158         Needed for the alloca-opt module.
45159
45160 2007-09-30  Bruno Haible  <bruno@clisp.org>
45161
45162         * lib/alloca.in.h: Renamed from lib/alloca_.h.
45163         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
45164         alloca_.h.
45165         * lib/argz.in.h: Renamed from lib/argz_.h.
45166         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
45167         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
45168         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
45169         byteswap_.h.
45170         * lib/dirent.in.h: Renamed from lib/dirent_.h.
45171         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
45172         dirent_.h.
45173         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
45174         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
45175         fcntl_.h.
45176         * lib/float.in.h: Renamed from lib/float_.h.
45177         * modules/float (Files, Makefile.am): Use float.in.h instead of
45178         float_.h.
45179         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
45180         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
45181         fnmatch_.h.
45182         * lib/getopt.in.h: Renamed from lib/getopt_.h.
45183         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
45184         getopt_.h.
45185         * lib/glob.in.h: Renamed from lib/glob_.h.
45186         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
45187         * lib/iconv.in.h: Renamed from lib/iconv_.h.
45188         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
45189         iconv_.h.
45190         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
45191         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
45192         inttypes_.h.
45193         * lib/locale.in.h: Renamed from lib/locale_.h.
45194         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
45195         locale_.h.
45196         * lib/math.in.h: Renamed from lib/math_.h.
45197         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
45198         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
45199         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
45200         of netinet_in_.h. Add dependency.
45201         * lib/poll.in.h: Renamed from lib/poll_.h.
45202         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
45203         * lib/search.in.h: Renamed from lib/search_.h.
45204         * modules/search (Files, Makefile.am): Use search.in.h instead of
45205         search_.h.
45206         * lib/signal.in.h: Renamed from lib/signal_.h.
45207         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
45208         _signal.h.
45209         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
45210         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
45211         stdbool_.h.
45212         * lib/stdint.in.h: Renamed from lib/stdint_.h.
45213         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
45214         stdint_.h.
45215         * lib/stdio.in.h: Renamed from lib/stdio_.h.
45216         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
45217         stdio_.h.
45218         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
45219         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
45220         stdlib_.h.
45221         * lib/string.in.h: Renamed from lib/string_.h.
45222         * modules/string (Files, Makefile.am): Use string.in.h instead of
45223         string_.h.
45224         * doc/gnulib-tool.texi (Initial import): Update.
45225         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
45226         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
45227         of sys_select_.h. Add dependency.
45228         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
45229         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
45230         of sys_socket_.h.
45231         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
45232         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
45233         sys_stat_.h.
45234         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
45235         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
45236         sys_time_.h.
45237         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
45238         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
45239         sysexits_.h.
45240         * lib/time.in.h: Renamed from lib/time_.h.
45241         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
45242         * lib/unistd.in.h: Renamed from lib/unistd_.h.
45243         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
45244         unistd_.h.
45245         * lib/wchar.in.h: Renamed from lib/wchar_.h.
45246         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
45247         wchar_.h.
45248         * lib/wctype.in.h: Renamed from lib/wctype_.h.
45249         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
45250         wctype_.h.
45251         * build-aux/bootstrap (slurp): Update.
45252         * lib/.cppi-disable: Update.
45253
45254 2007-09-30  Bruno Haible  <bruno@clisp.org>
45255
45256         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
45257         Needed on BeOS.
45258
45259 2007-09-30  Bruno Haible  <bruno@clisp.org>
45260
45261         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
45262
45263 2007-09-29  Bruno Haible  <bruno@clisp.org>
45264
45265         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
45266
45267 2007-09-29  Bruno Haible  <bruno@clisp.org>
45268
45269         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
45270         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
45271         * build-aux/install-reloc: Compile also areadlink.c.
45272         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
45273
45274 2007-09-29  Bruno Haible  <bruno@clisp.org>
45275
45276         * gnulib-tool (func_emit_initmacro_done): Indentation.
45277
45278 2007-09-29  Bruno Haible  <bruno@clisp.org>
45279
45280         * README: Add CVS checkout update instructions.
45281         Info from Bob Proulx <bob@proulx.com>.
45282
45283 2007-09-28  Eric Blake  <ebb9@byu.net>
45284
45285         Provide move-if-change.
45286         * build-aux/move-if-change: New file, based on best practice
45287         rather than any canonical upstream location.
45288
45289 2007-09-28  Jim Meyering  <jim@meyering.net>
45290
45291         Fix canonicalize loop-detection corner case.
45292         Do not attempt to stat the symlink values stored via seen_triple.
45293         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
45294         on linux-2.6.18, (but not 2.6.22).
45295         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
45296         triple_compare.  The former compares dev,ino,filename, while the latter
45297         would actually stat dirname(filename) when dev and ino were equal.
45298         * lib/hash-triple.c: Install <string.h>.
45299         (STREQ): Define.
45300         (triple_compare_ino_str): New function.
45301         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
45302
45303 2007-09-28  Eric Blake  <ebb9@byu.net>
45304
45305         Enforce that AC_REPLACE_FUNCS files exist.
45306         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
45307         override check for typos.
45308
45309         Fix test-closein on Solaris 10.
45310         * tests/test-closein.c (main): Don't assume stdin can be inherited
45311         closed on all systems.
45312         * tests/test-closein.sh: Likewise.
45313         Reported by Piotr Tarnowski.
45314
45315 2007-09-28  Jim Meyering  <jim@meyering.net>
45316
45317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
45318
45319 2007-09-27  Jim Meyering  <jim@meyering.net>
45320
45321         canonicalize: Avoid a false-positive cycle failure.
45322         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
45323         Sort.  Remove cycle-check.
45324         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
45325         not cycle-check.h.
45326         (seen_triple): New function.
45327         (canonicalize_filename_mode): Use it instead of cycle-check.
45328         * tests/test-canonicalize.c: Add a test for this bug.
45329         * tests/test-canonicalize.sh: Set up and run the test.
45330
45331         New module, file-set, from coreutils.
45332         * modules/file-set: Define it.
45333         * lib/file-set.c, lib/file-set.h: Implement.
45334
45335         New module, hash-triple, from coreutils.
45336         * modules/hash-triple: Define it.
45337         * lib/hash-triple.c, lib/hash-triple.h: Implement.
45338
45339 2007-09-25  Eric Blake  <ebb9@byu.net>
45340
45341         Fix strerror on Interix.
45342         * lib/string_.h (strerror): Declare replacement.
45343         * doc/functions/strerror.texi (strerror): Document the Interix
45344         shortcoming.
45345         * modules/string (Makefile.am): Support new hooks.
45346         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
45347         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
45348         gl_FUNC_STRERROR_SEPARATE.
45349         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
45350         * lib/strerror.c (rpl_strerror): Provide replacement.
45351         * modules/strerror (Depends-on): Add string.
45352         (configure.ac): Detect use of module.
45353         * tests/test-strerror.c: New file.
45354         * modules/strerror-tests: New test module.
45355         * modules/argp (Depends-on): Add strerror.
45356         * modules/error (Depends-on): Likewise.
45357         Reported by Martin Koeppe.
45358
45359 2007-09-24  Bruno Haible  <bruno@clisp.org>
45360
45361         * README: Update git instructions.
45362
45363 2007-09-24  Eric Blake  <ebb9@byu.net>
45364
45365         Revert fpending breakage from 2007-09-08.
45366         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
45367         __fpending.c.
45368
45369 2007-09-24  Jim Meyering  <jim@meyering.net>
45370
45371         filenamecat.c: Add a test.
45372         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
45373         showing how the function works when DIR is the empty string.
45374
45375 2007-09-21  Simon Josefsson  <simon@josefsson.org>
45376
45377         * tests/test-canonicalize.sh: Turn on executable bit.
45378
45379 2007-09-19  Eric Blake  <ebb9@byu.net>
45380
45381         * README: Update CVS instructions.
45382
45383 2007-09-18  Bruno Haible  <bruno@clisp.org>
45384
45385         * modules/areadlink: New file.
45386         * lib/areadlink.h (areadlink): New declaration.
45387         * lib/areadlink.c: New file, based on lib/xreadlink.c.
45388
45389 2007-09-17  Jim Meyering  <jim@meyering.net>
45390
45391         * lib/savewd.c (ESTALE) [!defined]: Define.
45392         Reported to be required on Interix by Martin Koeppe.
45393
45394 2007-09-17  Bruno Haible  <bruno@clisp.org>
45395
45396         * gnulib-tool (func_version): Use $version.
45397
45398 2007-09-16  Bruno Haible  <bruno@clisp.org>
45399
45400         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
45401         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
45402         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
45403         Reported by Greg Schafer <gschafer@zip.com.au>.
45404
45405 2007-09-15  Bruno Haible  <bruno@clisp.org>
45406
45407         * gnulib-tool (sed): Try a little harder to make bash understand the
45408         alias.
45409         Reported by Bruce Korb <bruce.korb@gmail.com>.
45410
45411 2007-09-13  Eric Blake  <ebb9@byu.net>
45412
45413         * ChangeLog: Remove conflict markers.
45414
45415 2007-09-13  Simon Josefsson  <simon@josefsson.org>
45416
45417         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
45418         Reported by Bruno Haible <bruno@clisp.org>.
45419
45420 2007-09-12  Bruno Haible  <bruno@clisp.org>
45421
45422         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
45423         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
45424         is not defined.
45425
45426 2007-09-12  Eric Blake  <ebb9@byu.net>
45427
45428         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
45429         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
45430         Autoconf definition.
45431         * modules/euidaccess (Depends-on): Add extensions, for
45432         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
45433         * modules/fnmatch (Depends-on): Likewise.
45434         * modules/getaddrinfo (Depends-on): Likewise.
45435         * modules/getdelim (Depends-on): Likewise.
45436         * modules/getline (Depends-on): Likewise.
45437         * modules/getsubopt (Depends-on): Likewise.
45438         * modules/gettext (Depends-on): Likewise.
45439         * modules/group-member (Depends-on): Likewise.
45440         * modules/mbchar (Depends-on): Likewise.
45441         * modules/memmem (Depends-on): Likewise.
45442         * modules/mempcpy (Depends-on): Likewise.
45443         * modules/memrchr (Depends-on): Likewise.
45444         * modules/pagealign_alloc (Depends-on): Likewise.
45445         * modules/readutmp (Depends-on): Likewise.
45446         * modules/stpcpy (Depends-on): Likewise.
45447         * modules/stpncpy (Depends-on): Likewise.
45448         * modules/strchrnul (Depends-on): Likewise.
45449         * modules/strndup (Depends-on): Likewise.
45450         * modules/strsep (Depends-on): Likewise.
45451         * modules/strverscmp (Depends-on): Likewise.
45452         * modules/vasprintf (Depends-on): Likewise.
45453         * modules/wcwidth (Depends-on): Likewise.
45454         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
45455         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
45456         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
45457         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
45458         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45459         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45460         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
45461         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45462         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
45463         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
45464         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45465         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45466         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45467         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
45468         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
45469         * m4/readutmp.m4 (gl_READUTMP): Likewise.
45470         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
45471         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45472         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45473         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45474         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45475         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45476         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45477         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
45478         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
45479         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45480         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
45481         so that lock.m4 can be used in gettext without extensions module.
45482
45483 2007-09-11  Bruno Haible  <bruno@clisp.org>
45484
45485         * m4/isc-posix.m4: Remove file.
45486         Suggested by Eric Blake.
45487
45488 2007-09-11  Eric Blake  <ebb9@byu.net>
45489
45490         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
45491
45492 2007-09-10  Bruno Haible  <bruno@clisp.org>
45493
45494         * posix-modules: Fix typo in error message.
45495         Reported by Matt <mkraai@beckman.com>.
45496
45497 2007-09-09  Bruno Haible  <bruno@clisp.org>
45498
45499         * doc/functions/getdelim.texi: Update list of platforms lacking the
45500         function.
45501         * doc/functions/getline.texi: Likewise.
45502
45503 2007-09-09  Jim Meyering  <jim@meyering.net>
45504
45505         * lib/hash.c (hash_initialize): Detect calloc failure.
45506         Reported by Bruno Haible.
45507
45508 2007-09-09  Bruno Haible  <bruno@clisp.org>
45509
45510         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
45511         malloc or realloc fails.
45512
45513 2007-09-09  Bruno Haible  <bruno@clisp.org>
45514
45515         * modules/getcwd (Depends-on): Add malloc-posix.
45516         * modules/glob (Depends-on): Likewise.
45517         * modules/putenv (Depends-on): Likewise.
45518         * modules/strdup (Depends-on): Likewise.
45519         * modules/getdelim (Depends-on): Add realloc-posix.
45520         * modules/read-file (Depends-on): Likewise.
45521
45522 2007-09-09  Bruno Haible  <bruno@clisp.org>
45523
45524         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
45525         (gl_FUNC_MALLOC_POSIX): Require it.
45526         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
45527         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
45528         * modules/realloc (Files): Add m4/malloc.m4.
45529         * modules/calloc (Files): Likewise.
45530
45531 2007-09-09  Bruno Haible  <bruno@clisp.org>
45532
45533         * modules/malloc-posix: New file.
45534         * modules/malloc (Depends-on): Add malloc-posix.
45535         * lib/malloc.c: Include errno.h.
45536         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
45537         and a POSIX-compatible malloc into a single function. Set ENOMEM
45538         when returning NULL.
45539         * m4/malloc.m4: New file.
45540         * doc/functions/malloc.texi: Mention the malloc-posix module.
45541         * lib/stdlib_.h (malloc): New declaration.
45542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45543         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
45544         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
45545         and HAVE_MALLOC_POSIX.
45546
45547 2007-09-09  Bruno Haible  <bruno@clisp.org>
45548
45549         * modules/realloc-posix: New file.
45550         * modules/realloc (Depends-on): Add realloc-posix.
45551         * lib/realloc.c: Include errno.h.
45552         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
45553         and a POSIX-compatible realloc into a single function. Set ENOMEM
45554         when returning NULL.
45555         * m4/realloc.m4: New file.
45556         * doc/functions/realloc.texi: Mention the realloc-posix module.
45557         * lib/stdlib_.h (realloc): New declaration.
45558         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45559         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
45560         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
45561         and HAVE_REALLOC_POSIX.
45562
45563 2007-09-09  Bruno Haible  <bruno@clisp.org>
45564
45565         * modules/calloc-posix: New file.
45566         * modules/calloc (Depends-on): Add calloc-posix.
45567         * lib/calloc.c: Include errno.h.
45568         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
45569         and a POSIX-compatible calloc into a single function. Set ENOMEM
45570         when returning NULL.
45571         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
45572         * doc/functions/calloc.texi: Mention the calloc-posix module.
45573         * lib/stdlib_.h (calloc): New declaration.
45574         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45575         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
45576         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
45577         and HAVE_CALLOC_POSIX.
45578
45579 2007-09-09  Bruno Haible  <bruno@clisp.org>
45580
45581         Allow for modules to show an arbitrary notice.
45582         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
45583         * gnulib-tool: New option --extract-notice.
45584         (func_usage): Document it.
45585         (sed_extract_prog): Update.
45586         (func_get_notice): New function.
45587         (func_modules_notice): New function.
45588         (func_import, func_create_testdir): Invoke it.
45589         Suggested by Jim Meyering.
45590
45591 2007-09-09  Bruno Haible  <bruno@clisp.org>
45592
45593         * gnulib-tool: New options --verbose, --quiet.
45594         (func_usage): Document them.
45595         (verbose): New variable.
45596         (func_execute_command): New function.
45597         (func_import): Don't show the module list and the file list if
45598         $verbose < 0.
45599         (func_create_testdir): Likewise. Use func_execute_command.
45600         (func_create_megatestdir): Use func_execute_command.
45601
45602 2007-09-08  Bruno Haible  <bruno@clisp.org>
45603
45604         * gnulib-tool (func_import): Prefer rsync over wget when available,
45605         for fetching the PO files.
45606
45607 2007-09-08  Bruno Haible  <bruno@clisp.org>
45608
45609         * posix-modules: New file. Portions copied from gnulib-tool.
45610         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
45611
45612 2007-09-08  Jim Meyering  <jim@meyering.net>
45613
45614         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
45615         * lib/fpending.h: Rename from __fpending.h.
45616         * lib/fpending.c: Rename from __fpending.c.
45617         Include "fpending.h", not "__fpending.h".
45618         * lib/__fpending.h, lib/__fpending.c: Remove files.
45619         * modules/fpending (Files): Reflect new file names.
45620         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
45621
45622 2007-09-08  Bruno Haible  <bruno@clisp.org>
45623
45624         * m4/inttypes-h.m4: Remove stub file.
45625
45626 2007-09-07  Simon Josefsson  <simon@josefsson.org>
45627
45628         * doc/headers/stdint.texi: Discuss #include_next issue.
45629
45630 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45631
45632         * build-aux/bootstrap: Remove obsolete comment about wget --help.
45633
45634 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45635
45636         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
45637         in variable name.
45638
45639 2007-09-03  Jim Meyering  <jim@meyering.net>
45640
45641         New module: git-version-gen.
45642         * modules/git-version-gen: New file.
45643
45644         Import changes from coreutils for bootstrap script.
45645
45646         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
45647
45648         bootstrap: uses rsync to download the .po files
45649         * build-aux/bootstrap (po_download_command_format): New global.
45650         (download_po_files): Use rsync.
45651         (update_po_files): Don't remove .po files after download,
45652         so future rsync runs can take advantage of the copies.
45653
45654         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
45655
45656         Solve the unnecessary-.po-file-regeneration problem once and for all.
45657         * build-aux/bootstrap (download_po_files): New function, renamed from
45658         get_translations.  Now, downloads, but doesn't update LINGUAS.
45659         (update_po_files): New function.
45660
45661         bootstrap: Ignore more.
45662         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
45663         uniwidth to e.g., lib/.gitignore.
45664         (slurp): Handle the sys_stat_.h -> sys mapping, too.
45665
45666         * build-aux/bootstrap: New setting: vc_ignore.
45667         (insert_sorted_if_absent): Create $file if absent.
45668         Adapt to new, possibly empty, list: $vc_ignore.
45669
45670         bootstrap: generate more ignorable names
45671         * build-aux/bootstrap (slurp): When generating ignorable names,
45672         also map .sin to .sed, .gperf to .c, and .y to .c.
45673
45674 2007-09-03  Jim Meyering  <jim@meyering.net>
45675
45676         * build-aux/git-version-gen: New file, from coreutils.  For details, see
45677         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
45678
45679 2007-09-02  Bruno Haible  <bruno@clisp.org>
45680
45681         Fix mis-recognition of 'mcs' on QNX 6.
45682         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
45683         output contains the string "Mono".
45684         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
45685         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45686
45687 2007-09-01  Bruno Haible  <bruno@clisp.org>
45688
45689         Fix collision between uniwidth/* and linebreak modules.
45690         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45691         u32_width): Remove declarations.
45692         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45693         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45694         streq3, streq2, streq1, streq0): Remove functions.
45695         (STREQ): Remove macro.
45696         (is_cjk_encoding): Remove function.
45697         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45698         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45699         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45700         * NEWS: Document the change.
45701
45702 2007-09-01  Bruno Haible  <bruno@clisp.org>
45703
45704         * lib/streq.h: Add double-inclusion guard.
45705
45706 2007-09-01  Karl Berry  <karl@gnu.org>
45707
45708         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45709
45710 2007-08-28  Jim Meyering  <jim@meyering.net>
45711
45712         Rename mreadlink_with_size to areadlink_with_size.
45713         * NEWS: Document the change.
45714         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45715         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45716         * lib/mreadlink.h: Rename this to...
45717         * lib/areadlink.h: ...this.
45718         * modules/mreadlink-with-size: Rename this to...
45719         * modules/areadlink-with-size: ...this.
45720         * lib/canonicalize.c: Reflect the renaming.
45721         * modules/canonicalize: Likewise.
45722
45723 2007-08-26  Bruno Haible  <bruno@clisp.org>
45724
45725         * gnulib-tool (func_import): When deciding which files to remove,
45726         consider also dangling symbolic links.
45727         Reported by Eric Blake.
45728
45729 2007-08-26  Bruno Haible  <bruno@clisp.org>
45730
45731         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45732
45733 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45734
45735         * lib/readline.c: Don't include getline.h, the prototype is now
45736         found in stdio.h.
45737
45738 2007-08-23  Jim Meyering  <jim@meyering.net>
45739
45740         Getdelim touchup.
45741         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45742         around the funlockfile call, since funlockfile never sets errno.
45743         Don't set errno upon failed realloc.
45744
45745 2007-08-22  Eric Blake  <ebb9@byu.net>
45746
45747         Getline touchups.
45748         * lib/getdelim.c (getdelim): Revert regression that required *n to
45749         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45750         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45751         getdelim, rather than whether implementation is missing.
45752         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45753         * lib/stdio_.h (getline): Also declare if replacement is
45754         required.
45755         * doc/functions/getdelim.texi: New file.
45756         * doc/functions/getline.texi: Likewise.
45757         * doc/gnulib.texi (Function Substitutes): Add new files.
45758         Reported by Bruno Haible.
45759
45760 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45761
45762         * users.txt: Add Guile.
45763
45764 2007-08-22  Eric Blake  <ebb9@byu.net>
45765
45766         * tests/test-getdelim.c (main): Use remove, not unlink.
45767         * tests/test-getline.c (main): Likewise.
45768
45769         Move getline and getdelim into stdio.h, per POSIX 200x.
45770         * modules/getline (Files): Remove getline.h.
45771         (Depends-on): Add stdio.
45772         (configure.ac): Add module indicator.
45773         * modules/getdelim (Files): Remove getdelim.h.
45774         (Depends-on): Add stdio.
45775         (configure.ac): Add module indicator.
45776         * modules/stdio (Makefile.am): Work with new indicators.
45777         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45778         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45779         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45780         * lib/getdelim.h: Delete.
45781         * lib/getline.h: Delete.
45782         * lib/stdio_.h (getdelim, getline): Declare.
45783         * modules/getdelim-tests: New module.
45784         * modules/getline-tests: Likewise.
45785         * tests/test-getdelim.c: New file.
45786         * tests/test-getline.c: Likewise.
45787         * NEWS: Document the change.
45788         * lib/getline.c: Update choice of header.
45789         * lib/csharpcomp.c: Likewise.
45790         * lib/getpass.c: Likewise.
45791         * lib/javacomp.c: Likewise.
45792         * lib/javaversion.c: Likewise.
45793         * lib/yesno.c: Likewise.
45794         * lib/getdelim.c: Likewise.
45795         (getdelim): Set errno on failure, and avoid memory leak.
45796
45797 2007-08-19  Bruno Haible  <bruno@clisp.org>
45798
45799         * modules/closein (Depends-on): Add freadahead.
45800         * lib/closein.c: Include freadahead.h.
45801         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45802         is zero.
45803
45804 2007-08-19  Bruno Haible  <bruno@clisp.org>
45805
45806         * modules/freadahead-tests: New file.
45807         * tests/test-freadahead.sh: New file.
45808         * tests/test-freadahead.c: New file.
45809
45810         * modules/freadahead: New file.
45811         * lib/freadahead.h: New file.
45812         * lib/freadahead.c: New file.
45813         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45814         fbufmode, fpurge, freadable, fwritable.
45815
45816 2007-08-19  Eric Blake  <ebb9@byu.net>
45817
45818         Test yesno in combination with closein.
45819         * lib/yesno.c (yesno): Document use of stdin.
45820         * modules/yesno-tests (Files): New module.
45821         * tests/test-yesno.c (main): New file.
45822         * tests/test-yesno.sh: Likewise.
45823
45824 2007-08-19  Bruno Haible  <bruno@clisp.org>
45825
45826         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45827         * lib/fseeko.c (rpl_fseeko): Likewise.
45828         * lib/fseterr.c (fseterr): Likewise.
45829
45830 2007-08-19  Bruno Haible  <bruno@clisp.org>
45831
45832         * tests/test-lseek.c (main): Disable a test for BeOS.
45833         * doc/functions/lseek.texi: Document the BeOS bug.
45834
45835 2007-08-19  Bruno Haible  <bruno@clisp.org>
45836             Eric Blake  <ebb9@byu.net>
45837
45838         * lib/lseek.c: Include <sys/stat.h>.
45839         (rpl_lseek): Add workaround code also for Unix platforms.
45840         Needed for BeOS.
45841         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45842         * doc/functions/lseek.texi: Document BeOS definiency.
45843
45844 2007-08-18  Bruno Haible  <bruno@clisp.org>
45845
45846         * modules/fstrcmp-tests: New file.
45847         * tests/test-fstrcmp.c: New file.
45848
45849 2007-08-18  Bruno Haible  <bruno@clisp.org>
45850
45851         * modules/fstrcmp: New file, from GNU gettext with modifications.
45852         * lib/fstrcmp.h: New file, from GNU gettext.
45853         * lib/fstrcmp.c: New file, from GNU gettext.
45854         * MODULES.html.sh (String handling): Add fstrcmp.
45855
45856 2007-08-18  Bruno Haible  <bruno@clisp.org>
45857
45858         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45859         'bool'.
45860         (diag, compareseq): Remove const from the ctxt argument.
45861         (USE_HEURISTIC): Undefine at the end.
45862
45863 2007-08-18  Jim Meyering  <jim@meyering.net>
45864
45865         New file: lib/idcache.h
45866         * NEWS: Mention the addition.
45867         * modules/idcache (Files): Add lib/idcache.h
45868         * lib/idcache.c: Include "idcache.h".
45869         Don't include <sys/types.h>.
45870         Add a FIXME comment.
45871         Move file-scoped "static" declarations to the top.
45872         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45873
45874 2007-08-17  Bruno Haible  <bruno@clisp.org>
45875         and Paul Eggert  <eggert@cs.ucla.edu>
45876
45877         * MODULES.html.sh: Add diffseq.
45878         * modules/diffseq: New file.
45879         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45880         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45881
45882 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45883
45884         Import changes from coreutils for bootstrap script.
45885
45886         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45887
45888         * build-aux/bootstrap (slurp): Work even in environments where
45889         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45890         current code does not slurp files whose names start with ".", and
45891         this looks like it might be a troublesome area.
45892
45893         2007-07-11  Jim Meyering  <jim@meyering.net>
45894
45895         If there's a GPL vN copyright comment, require that N == 3.
45896
45897         2007-07-08  Jim Meyering  <jim@meyering.net>
45898
45899         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45900         * build-aux/bootstrap (mam_template): Move definition out of loop.
45901
45902         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45903
45904         * build-aux/bootstrap (symlink_to_dir): Rename function from
45905         symlink_to_gnulib.  Add a directory parameter.  Update all
45906         callers.
45907         (cp_mark_as_generated): Also check for -- and link to -- files in
45908         gl/.
45909
45910         2007-07-08  Jim Meyering  <jim@meyering.net>
45911
45912         Adapt to deeper hierarchy in gnulib.
45913         * build-aux/bootstrap (symlink_to_dir): If the destination
45914         directory doesn't exist, create it. This is required at least for
45915         "lib/uniwidth/cjk.h".
45916
45917         2007-05-15  Jim Meyering  <jim@meyering.net>
45918
45919         * build-aux/bootstrap: Now that generated Makefile.am files
45920         are no longer under version control, they must be created at
45921         bootstrap time.
45922
45923 2007-08-14  Ben Pfaff  <blp@gnu.org>
45924
45925         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
45926
45927 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45928
45929         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
45930         given the changes below.
45931         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
45932         even on hosts that have padding bits beyond the supported 64.
45933
45934 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45935
45936         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
45937         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
45938         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
45939         depends on it.
45940         (xstrtol_error): Remove.
45941         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
45942         but with a different signature.
45943         (ATTRIBUTE_NORETURN, __attribute__): New macros.
45944         * lib/xstrtol-error.c: Include exitfail.h.
45945         (xstrtol_fatal): New function, with a different signature from the
45946         old xstrtol_error, so that the caller need not worry about passing
45947         in an exit status, or about storage management of the option argument.
45948         (xstrtol_error): Now a static function.  Redo signature to
45949         implement xstrtol_fatal.  Output the correct number of hyphens in
45950         front of the option so that the caller need not worry about
45951         storage management.
45952         (N_): New macro.
45953         (_): Remove; not used now.
45954         * modules/xstrtol: Depend on getopt.
45955         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
45956         of old STRTOL_FATAL_ERROR macro.
45957         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
45958         of test program.
45959         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
45960         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
45961
45962 2007-08-08  Eric Blake  <ebb9@byu.net>
45963
45964         * lib/xstrtol-error.c: Add missing include.
45965
45966         Move xstrtol messages into gnulib domain, when --pobase is used.
45967         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
45968         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
45969         * modules/xstrtol (Files): Distribute new file.
45970         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
45971         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
45972         * tests/test-xstrtol.c: ...into new file.
45973         * tests/test-xstrtoul.c: Also test xstrtoul.
45974         * tests/test-xstrtoimax.c: Also test xstrtoimax.
45975         * tests/test-xstrtoumax.c: Also test xstrtoumax.
45976         * tests/test-xstrtol.sh: Drive the tests.
45977         * tests/test-xstrtoimax.sh: Likewise.
45978         * tests/test-xstrtoumax.sh: Likewise.
45979         * modules/xstrtol-tests: New module.
45980         * modules/xstrtoimax-tests: Likewise.
45981         * modules/xstrtoumax-tests: Likewise.
45982
45983 2007-08-08  Jim Meyering  <jim@meyering.net>
45984
45985         New function: mfile_name_concat.
45986         * lib/filenamecat.c (mfile_name_concat): New function, just like
45987         file_name_concat, but return NULL upon failure rather than exiting
45988         with a diagnostic.
45989         * lib/filenamecat.h: Declare it.
45990
45991 2007-08-07  Bruno Haible  <bruno@clisp.org>
45992
45993         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
45994         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
45995         warning from gcc.
45996         Reported by Eric Blake.
45997
45998 2007-08-07  Simon Josefsson  <simon@josefsson.org>
45999
46000         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
46001         * modules/crypto/arcfour (License): Likewise.
46002         * modules/crypto/des-tests (License): Likewise.
46003         * modules/crypto/gc-arctwo-tests (License): Likewise.
46004         * modules/crypto/gc-des-tests (License): Likewise.
46005         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
46006         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
46007         * modules/crypto/gc-md2-tests (License): Likewise.
46008         * modules/crypto/gc-md4-tests (License): Likewise.
46009         * modules/crypto/gc-md5-tests (License): Likewise.
46010         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
46011         * modules/crypto/gc-rijndael-tests (License): Likewise.
46012         * modules/crypto/gc-sha1-tests (License): Likewise.
46013         * modules/crypto/gc-tests (License): Likewise.
46014         * modules/crypto/hmac-md5 (License): Likewise.
46015         * modules/crypto/hmac-sha1 (License): Likewise.
46016         * modules/crypto/md2-tests (License): Likewise.
46017         * modules/crypto/md4-tests (License): Likewise.
46018         * modules/crypto/md5 (License): Likewise.
46019         * modules/crypto/rijndael (License): Likewise.
46020         * modules/crypto/sha1 (License): Likewise.
46021         * modules/memxor (License): Likewise.
46022
46023 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46024         and Bruno Haible  <bruno@clisp.org>
46025
46026         * NEWS: Describe interface changes to human, xstrtol.
46027         * lib/human.h: Include <xstrtol.h>.
46028         (human_options): Return enum strtol_error, not int.  Remove
46029         bool arg; take int * instead.
46030         * lib/human.c: Don't include "gettext.h".
46031         (_): Remove; no longer used.
46032         Don't include <xstrtol.h>, since human.h does it.
46033         (human_options): Adjust to abovementioned interface changes.
46034         Do not report error to stderr; that's now the caller's
46035         responsibility.
46036         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
46037         interface change.
46038         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
46039         Str, Argument_type_string.  All uses changed.  Put " argument"
46040         in diagnostics to make them clearer.  Change wording of suffix
46041         message for clarity.
46042         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
46043         Argument_type_string.
46044         (STRTOL_FATAL_WARN): Remove; no longer used.
46045         * modules/human (Depends-on): Remove gettext-h.
46046
46047 2007-08-06  Simon Josefsson  <simon@josefsson.org>
46048
46049         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
46050
46051 2007-07-31  Bruno Haible  <bruno@clisp.org>
46052
46053         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
46054         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
46055         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
46056
46057 2007-07-31  Bruno Haible  <bruno@clisp.org>
46058
46059         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
46060         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
46061
46062 2007-07-30  Bruno Haible  <bruno@clisp.org>
46063
46064         * modules/base64 (License): Use the synonymous term "LGPLv2+".
46065         * modules/c-ctype (License): Likewise.
46066         * modules/c-strcase (License): Likewise.
46067         * modules/check-version (License): Likewise.
46068         * modules/iconv (License): Likewise.
46069         * modules/iconv_open (License): Likewise.
46070         * modules/read-file (License): Likewise.
46071         * modules/striconv (License): Likewise.
46072         * modules/strverscmp (License): Likewise.
46073         * modules/vasprintf (License): Likewise.
46074         * modules/crypto/des (License): Likewise.
46075         * modules/crypto/gc (License): Likewise.
46076         * modules/crypto/gc-arcfour (License): Likewise.
46077         * modules/crypto/gc-arctwo (License): Likewise.
46078         * modules/crypto/gc-des (License): Likewise.
46079         * modules/crypto/gc-hmac-md5 (License): Likewise.
46080         * modules/crypto/gc-hmac-sha1 (License): Likewise.
46081         * modules/crypto/gc-md2 (License): Likewise.
46082         * modules/crypto/gc-md4 (License): Likewise.
46083         * modules/crypto/gc-md5 (License): Likewise.
46084         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
46085         * modules/crypto/gc-random (License): Likewise.
46086         * modules/crypto/gc-rijndael (License): Likewise.
46087         * modules/crypto/gc-sha1 (License): Likewise.
46088         * modules/crypto/md2 (License): Likewise.
46089         * modules/crypto/md4 (License): Likewise.
46090
46091 2007-07-30  Jim Meyering  <jim@meyering.net>
46092
46093         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
46094         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
46095         it has valid stat data.  This bug would cause du not to count the
46096         sizes of inaccessible directories.
46097         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
46098         in <http://bugzilla.redhat.com/250077>.
46099
46100 2007-07-25  Peter O'Gorman  <peter@pogma.com>
46101             Bruno Haible  <bruno@clisp.org>
46102
46103         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
46104         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
46105         #include_next, gives a diagnostic about it, but reports no error in
46106         the exit code.
46107         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46108
46109 2007-07-24  Ben Pfaff  <blp@gnu.org>
46110
46111         Improve name: "count-one-bits" is better than "popcount".
46112         * MODULES.html.sh: Update name.
46113         * lib/popcount.h: Renamed lib/count-one-bits.h.
46114         (popcount): Renamed count_one_bits.
46115         (popcountl): Renamed count_one_bits_l.
46116         (popcountll): Renamed count_one_bits_ll.
46117         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
46118         * modules/popcount: Renamed module/count-one-bits.
46119         * modules/popcount-tests: Renamed module/count-one-bits-tests.
46120         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
46121
46122 2007-07-23  Ben Pfaff  <blp@gnu.org>
46123
46124         * lib/popcount.h (popcount32): Reduce size of constants, to allow
46125         better code generation, and add U to large constants to avoid
46126         warnings, in non-GCC case.
46127         Suggested by Bruno Haible.
46128
46129 2007-07-23  Ben Pfaff  <blp@gnu.org>
46130
46131         * lib/popcount.h: Use verify_true instead of if...abort.
46132         * modules/popcount: Depend on verify module.
46133         Suggested by Jim Meyering.
46134
46135 2007-07-23  Bruno Haible  <bruno@clisp.org>
46136
46137         * gnulib-tool (func_import): Create a .cvsignore file also when the
46138         directory is not yet in CVS but the toplevel directory is. When
46139         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
46140         Reported by Karl Berry.
46141
46142 2007-07-22  Ben Pfaff  <blp@gnu.org>
46143
46144         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
46145         case.
46146         Suggested by Eric Blake.
46147
46148 2007-07-22  Ben Pfaff  <blp@gnu.org>
46149
46150         New module: popcount.
46151         * MODULES.html.sh: Add popcount.
46152         * modules/popcount: New file.
46153         * modules/popcount-tests: New file.
46154         * tests/test-popcount.c: New file.
46155         * lib/popcount.h: New file.
46156         * m4/popcount.m4: New file.
46157
46158 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46159
46160         * build-aux/announce-gen: Update to GPLv3.
46161
46162         * build-aux/config.guess: Update from config.
46163
46164 2007-07-21  Bruno Haible  <bruno@clisp.org>
46165
46166         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
46167         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
46168
46169 2007-07-20  Jim Meyering  <jim@meyering.net>
46170
46171         * check-module: Diagnose a self-dependency.
46172
46173 2007-07-19  Bruno Haible  <bruno@clisp.org>
46174
46175         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
46176         empty.
46177         Reported by Eric Blake.
46178
46179 2007-07-18  Bruno Haible  <bruno@clisp.org>
46180
46181         * gnulib-tool: New options --po-base, --po-domain.
46182         (func_usage): Document them.
46183         (pobase, po_domain): New variables.
46184         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
46185         DEFAULT_TEXT_DOMAIN.
46186         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
46187         (func_import): Consider pobase and po_domain. Create a po/ directory.
46188         (func_create_testdir): Set pobase and po_domain to empty.
46189         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
46190         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
46191
46192 2007-07-18  Bruno Haible  <bruno@clisp.org>
46193
46194         * gnulib-tool (func_get_automake_snippet): Synthesize also an
46195         EXTRA_DIST augmentation for files in build-aux/.
46196
46197 2007-07-16  Bruno Haible  <bruno@clisp.org>
46198
46199         * modules/lseek (License): Use the synonymous term "LGPLv2+".
46200         * modules/getdelim (License): Likewise.
46201
46202 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46203
46204         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
46205         * modules/d-type (License): Likewise.
46206         * modules/extensions (License): Likewise.
46207         * modules/fnmatch (License): Likewise.
46208         * modules/fseeko (License): Likewise.
46209         * modules/getaddrinfo (License): Likewise.
46210         * modules/getline (License): Likewise.
46211         * modules/getlogin_r (License): Likewise.
46212         * modules/getpass (License): Likewise.
46213         * modules/gettimeofday (License): Likewise.
46214         * modules/glob (License): Likewise.
46215         * modules/inet_ntop (License): Likewise.
46216         * modules/malloc (License): Likewise.
46217         * modules/malloca (License): Likewise.
46218         * modules/memmem (License): Likewise.
46219         * modules/mempcpy (License): Likewise.
46220         * modules/memset (License): Likewise.
46221         * modules/minmax (License): Likewise.
46222         * modules/mktime (License): Likewise.
46223         * modules/netinet_in (License): Likewise.
46224         * modules/pathmax (License): Likewise.
46225         * modules/poll (License): Likewise.
46226         * modules/regex (License): Likewise.
46227         * modules/snprintf (License): Likewise.
46228         * modules/stdbool (License): Likewise.
46229         * modules/stdint (License): Likewise.
46230         * modules/stdio (License): Likewise.
46231         * modules/strcase (License): Likewise.
46232         * modules/strcasestr (License): Likewise.
46233         * modules/strdup (License): Likewise.
46234         * modules/string (License): Likewise.
46235         * modules/strndup (License): Likewise.
46236         * modules/strnlen (License): Likewise.
46237         * modules/strpbrk (License): Likewise.
46238         * modules/strptime (License): Likewise.
46239         * modules/strsep (License): Likewise.
46240         * modules/sys_select (License): Likewise.
46241         * modules/sys_socket (License): Likewise.
46242         * modules/sys_stat (License): Likewise.
46243         * modules/sys_time (License): Likewise.
46244         * modules/time (License): Likewise.
46245         * modules/time_r (License): Likewise.
46246         * modules/timegm (License): Likewise.
46247         * modules/unistd (License): Likewise.
46248         * modules/vsnprintf (License): Likewise.
46249         * modules/wctype (License): Likewise.
46250
46251 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46252
46253         * modules/argz (License): LGPLv2+.
46254
46255 2007-07-15  Karl Berry  <karl@gnu.org>
46256
46257         * doc/gnulib.texi: revise node structure per new fdl.texi.
46258
46259 2007-07-14  Bruno Haible  <bruno@clisp.org>
46260
46261         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
46262         the output file.
46263         * lib/uniname/uninames.h: Regenerated.
46264
46265 2007-07-14  Karl Berry  <karl@gnu.org>
46266
46267         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
46268         omitting sectioning and index commands.
46269
46270 2007-07-13  Bruno Haible  <bruno@clisp.org>
46271
46272         New gnulib-tool option --more-symlinks.
46273         * gnulib-tool (func_usage): Document --more-symlinks.
46274         (do_copyrights): New variable.
46275         Recognize option --more-symlinks.
46276         (func_import): Don't add a copyright notice transform to
46277         sed_transform_lib_file if do_copyrights is empty.
46278
46279 2007-07-13  Bruno Haible  <bruno@clisp.org>
46280
46281         * lib/vasnprintf.c (decimal_point_char): Define also if
46282         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
46283         && !NEED_PRINTF_DIRECTIVE_A.
46284         Reported by Clemens Koller <clemens.koller@anagramm.de> via
46285         Gary V. Vaughan <gary@gnu.org>.
46286
46287 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46288
46289         * lib/inttypes_.h: Undo previous change, since it was fixed
46290         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
46291
46292 2007-07-13  Bruno Haible  <bruno@clisp.org>
46293
46294         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
46295         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
46296
46297 2007-07-13  Jim Meyering  <jim@meyering.net>
46298
46299         df: Don't fail for Tru64's "file-on-file mount".
46300         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
46301         so we fall through and use statfs instead.  Details here:
46302         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
46303         Reported by Albert Chin.
46304
46305 2007-07-13  Bruno Haible  <bruno@clisp.org>
46306
46307         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
46308         * modules/configmake (License): Likewise.
46309         * modules/gettext (License): Likewise.
46310         * modules/gettext-h (License): Likewise.
46311         * modules/include_next (License): Likewise.
46312         * modules/link-warning (License): Likewise.
46313         * modules/localcharset (License): Likewise.
46314         * modules/localename (License): Likewise.
46315         * modules/lock (License): Likewise.
46316         * modules/relocatable-lib-lgpl (License): Likewise.
46317         * modules/size_max (License): Likewise.
46318         * modules/vasnprintf (License): Likewise.
46319         * modules/wchar (License): Likewise.
46320         * modules/xsize (License): Likewise.
46321
46322 2007-07-13  Bruno Haible  <bruno@clisp.org>
46323
46324         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
46325         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
46326
46327 2007-07-12  Bruno Haible  <bruno@clisp.org>
46328
46329         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
46330         in the modules files.
46331
46332 2007-07-11  Karl Berry  <karl@gnu.org>
46333
46334         * MODULES.html.sh (func_module): use
46335          sed -e '\|^'"${includefile}"'$|d'
46336          instead of /.../d, to avoid errors on $includefile's containing /.
46337
46338 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46339
46340         * gnulib-tool (func_import): Avoid duplication of --avoid
46341         statements
46342         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
46343         names to `_' in variable names.
46344
46345 2007-07-10  Eric Blake  <ebb9@byu.net>
46346
46347         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
46348         * NEWS: Document this change.
46349
46350 2007-07-08  Bruno Haible  <bruno@clisp.org>
46351
46352         Update to Unicode 5.0.
46353         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
46354         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
46355         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
46356         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
46357         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
46358         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
46359         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
46360         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
46361         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
46362         U+10A3F, U+1D242..U+1D244.
46363         (nonspacing_table_ind): Update.
46364         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
46365         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
46366
46367 2007-07-08  Bruno Haible  <bruno@clisp.org>
46368
46369         Update to Unicode 5.0.
46370         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
46371         code transform. Extend the name index field of unicode_name_to_code and
46372         unicode_code_to_name from 16 to 24 bits.
46373         * lib/uniname/uniname.c (unicode_character_name,
46374         unicode_name_character): Add the range 0x12xxx to the code transform.
46375         * lib/uniname/uninames.h: Regenerated.
46376         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
46377
46378 2007-07-07  Bruno Haible  <bruno@clisp.org>
46379
46380         * modules/wcwidth-tests: New file.
46381         * tests/test-wcwidth.c: New file.
46382
46383         Work around MacOS X wcwidth() bug.
46384         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
46385         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
46386         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
46387         original wcwidth in non-UTF-8 locales.
46388         * modules/wcwidth (Depends-on): Add localcharset, streq,
46389         uniwidth/width.
46390         * doc/functions/wcwidth.texi: Update.
46391
46392 2007-07-07  Bruno Haible  <bruno@clisp.org>
46393
46394         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
46395         (wcwidth): New declaration.
46396         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
46397         macros.
46398         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
46399         here. Prepare for creating <wchar.h> unconditionally.
46400         * modules/wchar (Depends-on): Add link-warning.
46401         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
46402         REPLACE_WCWIDTH, and GL_LINK_WARNING.
46403         * lib/wcwidth.h: Remove file.
46404         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
46405         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
46406         * modules/wcwidth (Files): Remove lib/wcwidth.h.
46407         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
46408         (Include): Replace wcwidth.h with <wchar.h>.
46409         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
46410         * lib/mbchar.h: Don't include wcwidth.h.
46411         * lib/mbswidth.c: Likewise.
46412         * NEWS: Mention the change.
46413
46414 2007-07-07  Bruno Haible  <bruno@clisp.org>
46415
46416         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
46417         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
46418         definition with an external declaration.
46419         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
46420         defined as a function. Remove AC_C_INLINE requirement.
46421         * modules/wcwidth (Files): Add lib/wcwidth.c.
46422         (Makefile.am): Remove redundant statement.
46423
46424 2007-07-07  Bruno Haible  <bruno@clisp.org>
46425
46426         * MODULES.html.sh (Unicode string functions): Add the new modules.
46427
46428         * tests/uniwidth/test-u32-strwidth.c: New file.
46429         * modules/uniwidth/u32-strwidth-tests: New file.
46430
46431         * lib/uniwidth/u32-strwidth.c: New file.
46432         * modules/uniwidth/u32-strwidth: New file.
46433
46434         * tests/uniwidth/test-u16-strwidth.c: New file.
46435         * modules/uniwidth/u16-strwidth-tests: New file.
46436
46437         * lib/uniwidth/u16-strwidth.c: New file.
46438         * modules/uniwidth/u16-strwidth: New file.
46439
46440         * tests/uniwidth/test-u8-strwidth.c: New file.
46441         * modules/uniwidth/u8-strwidth-tests: New file.
46442
46443         * lib/uniwidth/u8-strwidth.c: New file.
46444         * modules/uniwidth/u8-strwidth: New file.
46445
46446         * tests/uniwidth/test-u32-width.c: New file.
46447         * modules/uniwidth/u32-width-tests: New file.
46448
46449         * lib/uniwidth/u32-width.c: New file.
46450         * modules/uniwidth/u32-width: New file.
46451
46452         * tests/uniwidth/test-u16-width.c: New file.
46453         * modules/uniwidth/u16-width-tests: New file.
46454
46455         * lib/uniwidth/u16-width.c: New file.
46456         * modules/uniwidth/u16-width: New file.
46457
46458         * tests/uniwidth/test-u8-width.c: New file.
46459         * modules/uniwidth/u8-width-tests: New file.
46460
46461         * lib/uniwidth/u8-width.c: New file.
46462         * modules/uniwidth/u8-width: New file.
46463
46464         * tests/uniwidth/test-uc_width.c: New file.
46465         * modules/uniwidth/width-tests: New file.
46466
46467         * lib/uniwidth/width.c: New file, from GNU libiconv.
46468         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
46469         * modules/uniwidth/width: New file.
46470
46471         * lib/uniwidth.h: New file, from GNU libiconv.
46472         * modules/uniwidth/base: New file.
46473
46474 2007-07-07  Bruno Haible  <bruno@clisp.org>
46475
46476         * lib/uniname.h: New file, from GNU gettext.
46477         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
46478         * lib/uniname/uninames.h: New file, from GNU gettext.
46479         * lib/uniname/uniname.c: New file, from GNU gettext.
46480         * tests/uniname/test-uninames.sh: New file.
46481         * tests/uniname/test-uninames.c: New file, from GNU gettext.
46482         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
46483         * modules/uniname/base: New file.
46484         * modules/uniname/uniname: New file.
46485         * modules/uniname/uniname-tests: New file.
46486         * MODULES.html.sh (Unicode string functions): Add the new modules.
46487
46488 2007-07-06  Bruno Haible  <bruno@clisp.org>
46489
46490         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
46491
46492 2007-07-06  Bruno Haible  <bruno@clisp.org>
46493
46494         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
46495         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
46496         includes <cygwin/sys_time.h> which includes <sys/select.h> which
46497         include <sys/time.h>.
46498         Reported by Eric Blake.
46499
46500 2007-07-06  Eric Blake  <ebb9@byu.net>
46501
46502         Fix testing canonicalize on cygwin.
46503         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46504         Revert patch from 2007-06-19.
46505         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
46506         canonicalize module is also in use.
46507         * tests/test-canonicalize.c: New file.
46508         * tests/test-canonicalize.sh: Likewise.
46509         * modules/canonicalize-tests: Likewise.
46510
46511 2007-07-06  Jim Meyering  <jim@meyering.net>
46512
46513         * lib/getugroups.c (getugroups): Detect getgrent failure.
46514         Adjust comment to reflect reality: this function may return -1.
46515
46516 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
46517
46518         * build-aux/bootstrap (TP_URL,get_translations): Update to use
46519         the new TP address.
46520         (usage): Fix typo
46521         (gnulib_mk): New variable.
46522
46523 2007-07-05  Jim Meyering  <jim@meyering.net>
46524
46525         Don't let endgrent clobber errno, no matter how improbable.
46526         * lib/getugroups.c (getugroups): Save and restore errno around
46527         endgrent call.
46528
46529         Close the group DB even when failing with 2^31 or more members.
46530         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
46531
46532 2007-07-04  Jim Meyering  <jim@meyering.net>
46533
46534         * lib/getugroups.h: New file.
46535         * lib/getugroups.c: Include "getugroups.h".
46536         Remove uses of "register" keyword.
46537         Move local variable, "cp", down into scope where used.
46538         Give "username" parameter the "const" attribute.
46539         * modules/getugroups (Files): Add lib/getugroups.h
46540
46541 2007-07-04  Karl Berry  <karl@gnu.org>
46542
46543         * MODULES.html.sh (func_all_modules): Complete rename of
46544         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
46545
46546 2007-07-02  Bruno Haible  <bruno@clisp.org>
46547
46548         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
46549         mode, when inttypes.h comes from gnulib.
46550         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
46551
46552 2007-07-02  Simon Josefsson  <simon@josefsson.org>
46553
46554         * NEWS: Mention lgpl module name change.
46555
46556         * modules/lgpl-2.1: Renamed from lgpl.
46557
46558         * NEWS: Mention gpl module name change.
46559
46560         * modules/gpl-3.0: New file, based on gpl-2.0.
46561
46562         * modules/gpl-2.0: Renamed from gpl.
46563
46564         * modules/gpl: Fix filename, doc/gpl.texi is now found at
46565         doc/gpl-2.0.texi.
46566
46567 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46568
46569         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
46570         #define __STDC_LIMIT_MACROS temporarily while including
46571         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
46572         Problem reported by Joel E. Denny in
46573         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
46574
46575 2007-07-01  Bruno Haible  <bruno@clisp.org>
46576
46577         * lib/unistdio.h: New file.
46578         * lib/unistdio/u-asnprintf.h: New file.
46579         * lib/unistdio/u-asprintf.h: New file.
46580         * lib/unistdio/u-printf-args.c: New file.
46581         * lib/unistdio/u-printf-args.h: New file.
46582         * lib/unistdio/u-printf-parse.h: New file.
46583         * lib/unistdio/u-snprintf.h: New file.
46584         * lib/unistdio/u-sprintf.h: New file.
46585         * lib/unistdio/u-vasprintf.h: New file.
46586         * lib/unistdio/u-vsnprintf.h: New file.
46587         * lib/unistdio/u-vsprintf.h: New file.
46588         * lib/unistdio/ulc-asnprintf.c: New file.
46589         * lib/unistdio/ulc-asprintf.c: New file.
46590         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
46591         * lib/unistdio/ulc-printf-parse.c: New file.
46592         * lib/unistdio/ulc-snprintf.c: New file.
46593         * lib/unistdio/ulc-sprintf.c: New file.
46594         * lib/unistdio/ulc-vasnprintf.c: New file.
46595         * lib/unistdio/ulc-vasprintf.c: New file.
46596         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
46597         * lib/unistdio/ulc-vsnprintf.c: New file.
46598         * lib/unistdio/ulc-vsprintf.c: New file.
46599         * lib/unistdio/u8-asnprintf.c: New file.
46600         * lib/unistdio/u8-asprintf.c: New file.
46601         * lib/unistdio/u8-printf-parse.c: New file.
46602         * lib/unistdio/u8-snprintf.c: New file.
46603         * lib/unistdio/u8-sprintf.c: New file.
46604         * lib/unistdio/u8-vasnprintf.c: New file.
46605         * lib/unistdio/u8-vasprintf.c: New file.
46606         * lib/unistdio/u8-vsnprintf.c: New file.
46607         * lib/unistdio/u8-vsprintf.c: New file.
46608         * lib/unistdio/u8-u8-asnprintf.c: New file.
46609         * lib/unistdio/u8-u8-asprintf.c: New file.
46610         * lib/unistdio/u8-u8-snprintf.c: New file.
46611         * lib/unistdio/u8-u8-sprintf.c: New file.
46612         * lib/unistdio/u8-u8-vasnprintf.c: New file.
46613         * lib/unistdio/u8-u8-vasprintf.c: New file.
46614         * lib/unistdio/u8-u8-vsnprintf.c: New file.
46615         * lib/unistdio/u8-u8-vsprintf.c: New file.
46616         * lib/unistdio/u16-asnprintf.c: New file.
46617         * lib/unistdio/u16-asprintf.c: New file.
46618         * lib/unistdio/u16-printf-parse.c: New file.
46619         * lib/unistdio/u16-snprintf.c: New file.
46620         * lib/unistdio/u16-sprintf.c: New file.
46621         * lib/unistdio/u16-vasnprintf.c: New file.
46622         * lib/unistdio/u16-vasprintf.c: New file.
46623         * lib/unistdio/u16-vsnprintf.c: New file.
46624         * lib/unistdio/u16-vsprintf.c: New file.
46625         * lib/unistdio/u16-u16-asnprintf.c: New file.
46626         * lib/unistdio/u16-u16-asprintf.c: New file.
46627         * lib/unistdio/u16-u16-snprintf.c: New file.
46628         * lib/unistdio/u16-u16-sprintf.c: New file.
46629         * lib/unistdio/u16-u16-vasnprintf.c: New file.
46630         * lib/unistdio/u16-u16-vasprintf.c: New file.
46631         * lib/unistdio/u16-u16-vsnprintf.c: New file.
46632         * lib/unistdio/u16-u16-vsprintf.c: New file.
46633         * lib/unistdio/u32-asnprintf.c: New file.
46634         * lib/unistdio/u32-asprintf.c: New file.
46635         * lib/unistdio/u32-printf-parse.c: New file.
46636         * lib/unistdio/u32-snprintf.c: New file.
46637         * lib/unistdio/u32-sprintf.c: New file.
46638         * lib/unistdio/u32-vasnprintf.c: New file.
46639         * lib/unistdio/u32-vasprintf.c: New file.
46640         * lib/unistdio/u32-vsnprintf.c: New file.
46641         * lib/unistdio/u32-vsprintf.c: New file.
46642         * lib/unistdio/u32-u32-asnprintf.c: New file.
46643         * lib/unistdio/u32-u32-asprintf.c: New file.
46644         * lib/unistdio/u32-u32-snprintf.c: New file.
46645         * lib/unistdio/u32-u32-sprintf.c: New file.
46646         * lib/unistdio/u32-u32-vasnprintf.c: New file.
46647         * lib/unistdio/u32-u32-vasprintf.c: New file.
46648         * lib/unistdio/u32-u32-vsnprintf.c: New file.
46649         * lib/unistdio/u32-u32-vsprintf.c: New file.
46650         * tests/unistdio/test-ulc-asnprintf1.c: New file.
46651         * tests/unistdio/test-ulc-asnprintf1.h: New file.
46652         * tests/unistdio/test-ulc-printf1.h: New file.
46653         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
46654         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
46655         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
46656         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
46657         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
46658         * tests/unistdio/test-ulc-vasprintf1.c: New file.
46659         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
46660         * tests/unistdio/test-ulc-vsprintf1.c: New file.
46661         * tests/unistdio/test-u8-asnprintf1.c: New file.
46662         * tests/unistdio/test-u8-asnprintf1.h: New file.
46663         * tests/unistdio/test-u8-printf1.h: New file.
46664         * tests/unistdio/test-u8-vasnprintf1.c: New file.
46665         * tests/unistdio/test-u8-vasnprintf2.c: New file.
46666         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
46667         * tests/unistdio/test-u8-vasnprintf3.c: New file.
46668         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
46669         * tests/unistdio/test-u8-vasprintf1.c: New file.
46670         * tests/unistdio/test-u8-vsnprintf1.c: New file.
46671         * tests/unistdio/test-u8-vsprintf1.c: New file.
46672         * tests/unistdio/test-u16-asnprintf1.c: New file.
46673         * tests/unistdio/test-u16-asnprintf1.h: New file.
46674         * tests/unistdio/test-u16-printf1.h: New file.
46675         * tests/unistdio/test-u16-vasnprintf1.c: New file.
46676         * tests/unistdio/test-u16-vasnprintf2.c: New file.
46677         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
46678         * tests/unistdio/test-u16-vasnprintf3.c: New file.
46679         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
46680         * tests/unistdio/test-u16-vasprintf1.c: New file.
46681         * tests/unistdio/test-u16-vsnprintf1.c: New file.
46682         * tests/unistdio/test-u16-vsprintf1.c: New file.
46683         * tests/unistdio/test-u32-asnprintf1.c: New file.
46684         * tests/unistdio/test-u32-asnprintf1.h: New file.
46685         * tests/unistdio/test-u32-printf1.h: New file.
46686         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46687         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46688         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46689         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46690         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46691         * tests/unistdio/test-u32-vasprintf1.c: New file.
46692         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46693         * tests/unistdio/test-u32-vsprintf1.c: New file.
46694         * modules/unistdio/base: New file.
46695         * modules/unistdio/u-printf-args: New file.
46696         * modules/unistdio/ulc-asnprintf: New file.
46697         * modules/unistdio/ulc-asprintf: New file.
46698         * modules/unistdio/ulc-fprintf: New file.
46699         * modules/unistdio/ulc-printf-parse: New file.
46700         * modules/unistdio/ulc-snprintf: New file.
46701         * modules/unistdio/ulc-sprintf: New file.
46702         * modules/unistdio/ulc-vasnprintf: New file.
46703         * modules/unistdio/ulc-vasprintf: New file.
46704         * modules/unistdio/ulc-vfprintf: New file.
46705         * modules/unistdio/ulc-vsnprintf: New file.
46706         * modules/unistdio/ulc-vsprintf: New file.
46707         * modules/unistdio/u8-asnprintf: New file.
46708         * modules/unistdio/u8-asprintf: New file.
46709         * modules/unistdio/u8-printf-parse: New file.
46710         * modules/unistdio/u8-snprintf: New file.
46711         * modules/unistdio/u8-sprintf: New file.
46712         * modules/unistdio/u8-vasnprintf: New file.
46713         * modules/unistdio/u8-vasprintf: New file.
46714         * modules/unistdio/u8-vsnprintf: New file.
46715         * modules/unistdio/u8-vsprintf: New file.
46716         * modules/unistdio/u8-u8-asnprintf: New file.
46717         * modules/unistdio/u8-u8-asprintf: New file.
46718         * modules/unistdio/u8-u8-snprintf: New file.
46719         * modules/unistdio/u8-u8-sprintf: New file.
46720         * modules/unistdio/u8-u8-vasnprintf: New file.
46721         * modules/unistdio/u8-u8-vasprintf: New file.
46722         * modules/unistdio/u8-u8-vsnprintf: New file.
46723         * modules/unistdio/u8-u8-vsprintf: New file.
46724         * modules/unistdio/u16-asnprintf: New file.
46725         * modules/unistdio/u16-asprintf: New file.
46726         * modules/unistdio/u16-printf-parse: New file.
46727         * modules/unistdio/u16-snprintf: New file.
46728         * modules/unistdio/u16-sprintf: New file.
46729         * modules/unistdio/u16-vasnprintf: New file.
46730         * modules/unistdio/u16-vasprintf: New file.
46731         * modules/unistdio/u16-vsnprintf: New file.
46732         * modules/unistdio/u16-vsprintf: New file.
46733         * modules/unistdio/u16-u16-asnprintf: New file.
46734         * modules/unistdio/u16-u16-asprintf: New file.
46735         * modules/unistdio/u16-u16-snprintf: New file.
46736         * modules/unistdio/u16-u16-sprintf: New file.
46737         * modules/unistdio/u16-u16-vasnprintf: New file.
46738         * modules/unistdio/u16-u16-vasprintf: New file.
46739         * modules/unistdio/u16-u16-vsnprintf: New file.
46740         * modules/unistdio/u16-u16-vsprintf: New file.
46741         * modules/unistdio/u32-asnprintf: New file.
46742         * modules/unistdio/u32-asprintf: New file.
46743         * modules/unistdio/u32-printf-parse: New file.
46744         * modules/unistdio/u32-snprintf: New file.
46745         * modules/unistdio/u32-sprintf: New file.
46746         * modules/unistdio/u32-vasnprintf: New file.
46747         * modules/unistdio/u32-vasprintf: New file.
46748         * modules/unistdio/u32-vsnprintf: New file.
46749         * modules/unistdio/u32-vsprintf: New file.
46750         * modules/unistdio/u32-u32-asnprintf: New file.
46751         * modules/unistdio/u32-u32-asprintf: New file.
46752         * modules/unistdio/u32-u32-snprintf: New file.
46753         * modules/unistdio/u32-u32-sprintf: New file.
46754         * modules/unistdio/u32-u32-vasnprintf: New file.
46755         * modules/unistdio/u32-u32-vasprintf: New file.
46756         * modules/unistdio/u32-u32-vsnprintf: New file.
46757         * modules/unistdio/u32-u32-vsprintf: New file.
46758         * modules/unistdio/ulc-asnprintf-tests: New file.
46759         * modules/unistdio/ulc-vasnprintf-tests: New file.
46760         * modules/unistdio/ulc-vasprintf-tests: New file.
46761         * modules/unistdio/ulc-vsnprintf-tests: New file.
46762         * modules/unistdio/ulc-vsprintf-tests: New file.
46763         * modules/unistdio/u8-asnprintf-tests: New file.
46764         * modules/unistdio/u8-vasnprintf-tests: New file.
46765         * modules/unistdio/u8-vasprintf-tests: New file.
46766         * modules/unistdio/u8-vsnprintf-tests: New file.
46767         * modules/unistdio/u8-vsprintf-tests: New file.
46768         * modules/unistdio/u16-asnprintf-tests: New file.
46769         * modules/unistdio/u16-vasnprintf-tests: New file.
46770         * modules/unistdio/u16-vasprintf-tests: New file.
46771         * modules/unistdio/u16-vsnprintf-tests: New file.
46772         * modules/unistdio/u16-vsprintf-tests: New file.
46773         * modules/unistdio/u32-asnprintf-tests: New file.
46774         * modules/unistdio/u32-vasnprintf-tests: New file.
46775         * modules/unistdio/u32-vasprintf-tests: New file.
46776         * modules/unistdio/u32-vsnprintf-tests: New file.
46777         * modules/unistdio/u32-vsprintf-tests: New file.
46778         * MODULES.html.sh (Unicode string functions): Add the new modules.
46779
46780 2007-07-01  Bruno Haible  <bruno@clisp.org>
46781
46782         * lib/sprintf.c (sprintf): Limit the available length estimation,
46783         to avoid address wraparound.
46784         * lib/vsprintf.c (vsprintf): Likewise.
46785         * modules/sprintf-posix (Dependencies): Add stdint.
46786         * modules/vsprintf-posix (Dependencies): Likewise.
46787
46788 2007-07-01  Bruno Haible  <bruno@clisp.org>
46789
46790         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46791         Windows PATH as well. Conservative double-quoting. Comments.
46792
46793 2007-07-01  Bruno Haible  <bruno@clisp.org>
46794             Eric Blake  <ebb9@byu.net>
46795             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46796
46797         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46798         empty components in $PATH, denoting '.'.
46799
46800 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46801
46802         * gnulib-tool: Fix indentation.
46803         (func_create_megatestdir): Likewise.
46804         Report by Bruno Haible.
46805
46806 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46807
46808         Sync from Automake.
46809         * build-aux/gnupload: Fix shell portability issues with for loops.
46810         Report by Karl Berry.
46811
46812 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46813
46814         * build-aux/maint.mk (POURL): Use translationproject.org.
46815
46816 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46817             Bruno Haible  <bruno@clisp.org>
46818
46819         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46820         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46821         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46822         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46823         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46824
46825 2007-06-27  Bruno Haible  <bruno@clisp.org>
46826
46827         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46828         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46829
46830 2007-06-26  Karl Berry  <karl@gnu.org>
46831
46832         * MODULES.html.sh: remove xreadlink-with-size.
46833
46834 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46835
46836         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46837         method that I hope also handles the double-include problem noted
46838         by Bruno Haible in
46839         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46840
46841 2007-06-23  Bruno Haible  <bruno@clisp.org>
46842
46843         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46844         Don't let the 'mostlyclean' target fail if the last subdirectory could
46845         not be removed.
46846         Reported by Karl Berry.
46847
46848 2007-06-23  Bruno Haible  <bruno@clisp.org>
46849
46850         * gnulib-tool (echo): Add a speedier workaround for ksh.
46851         * tests/test-echo.sh: Likewise.
46852
46853 2007-06-23  Bruno Haible  <bruno@clisp.org>
46854
46855         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46856         * tests/test-echo.sh: Likewise.
46857
46858 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46859
46860         * gnulib-tool (IFS): Initialize early, so we don't set it to
46861         empty later.
46862         (self_abspathname): Rewrite algorithm to set it, reindent.
46863         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46864         (func_create_megatestdir): Merge some sed scripts.
46865
46866 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46867
46868         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46869         exposed by Sun Studio 11 cc on Solaris 8.
46870
46871 2007-06-22  Bruno Haible  <bruno@clisp.org>
46872
46873         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46874         backslashes.
46875         * tests/test-echo.sh: New file.
46876
46877 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46878
46879         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46880         simplify `sed_replace_build_aux' scripts, they are portable but
46881         echoing them with `echo' is not.
46882         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46883
46884 2007-06-21  Karl Berry  <karl@gnu.org>
46885
46886         * config/srclist.txt: guess we can't handle the licenses via
46887         srclist at the moment.
46888
46889 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46890
46891         * MODULES.html.sh: Add include_next.
46892         * modules/include_next: New file.
46893
46894 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46895
46896         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46897         INCLUDE_NEXT.
46898         (gl_CHECK_NEXT_HEADERS): New macro.
46899         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46900         the obsolescent gl_ABSOLUTE_HEADER.
46901         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46902         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46903         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46904         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46905         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46906         * m4/math_h.m4 (gl_MATH_H): Likewise.
46907         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46908         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46909         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46910         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46911         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46912         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46913         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46914         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46915         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46916         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46917         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46918         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46919         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46920         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46921         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46922         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46923         * m4/inttypes.m4 (gl_INTTYPES_H): Define
46924         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
46925         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
46926         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
46927         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
46928         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
46929         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
46930         * lib/float_.h: Likewise.
46931         * lib/inttypes_.h: Likewise.
46932         * lib/math_.h: Likewise.
46933         * lib/search_.h: Likewise.
46934         * lib/signal_.h: Likewise.
46935         * lib/stdint_.h: Likewise.
46936         * lib/stdio_.h: Likewise.
46937         * lib/stdlib_.h: Likewise.
46938         * lib/string_.h: Likewise.
46939         * lib/sys_stat_.h: Likewise.
46940         * lib/sys_time_.h: Likewise.
46941         * lib/time_.h: Likewise.
46942         * lib/unistd_.h: Likewise.
46943         * lib/wchar_.h: Likewise.
46944         * lib/wctype_.h: Likewise.
46945         * lib/dirent_.h: Likewise.
46946         * lib/iconv_.h: Likewise.
46947         * lib/locale_.h: Likewise.
46948         * lib/netinet_in_.h: Likewise.
46949         * lib/sys_select_.h: Likewise.
46950         * lib/sys_socket_.h: Likewise.
46951         * lib/sysexits_.h: Likewise.
46952         * modules/fcntl (Depends-on): Depend on include_next, not
46953         absolute_header.
46954         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
46955         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
46956         * modules/fchdir: Likewise.
46957         * modules/float: Likewise.
46958         * modules/iconv_open: Likewise.
46959         * modules/inttypes: Likewise.
46960         * modules/locale: Likewise.
46961         * modules/math: Likewise.
46962         * modules/netinet_in: Likewise.
46963         * modules/search: Likewise.
46964         * modules/signal: Likewise.
46965         * modules/stdint: Likewise.
46966         * modules/stdio: Likewise.
46967         * modules/stdlib: Likewise.
46968         * modules/string: Likewise.
46969         * modules/sys_select: Likewise.
46970         * modules/sys_socket: Likewise.
46971         * modules/sys_stat: Likewise.
46972         * modules/sys_time: Likewise.
46973         * modules/sysexits: Likewise.
46974         * modules/time: Likewise.
46975         * modules/unistd: Likewise.
46976         * modules/wchar: Likewise.
46977         * modules/wctype: Likewise.
46978         * modules/sys_stat: Change maintainer to "all".
46979         * modules/unistd: Likewise.
46980
46981 2007-06-20  Karl Berry  <karl@gnu.org>
46982
46983         * config/srclist.txt: track www changes in license files.
46984
46985 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
46986
46987         * build-aux/bootstrap: Remove stray dot.
46988         Make sure build_aux settings are honored when linking
46989         gnulib_extra_files.
46990
46991 2007-06-19  Eric Blake  <ebb9@byu.net>
46992
46993         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46994         Allow compilation on cygwin.
46995
46996 2007-06-19  Jim Meyering  <jim@meyering.net>
46997
46998         xreadlink-with-size: Remove module.  No longer used.
46999         Ex-callers now use xreadlink or mreadlink-with-size.
47000         * modules/xreadlink-with-size: Remove module.
47001         * lib/xreadlink-with-size.c: Remove file.
47002         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
47003         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
47004         just before the function definition *is* accurate.
47005
47006         Eliminate one way canonicalize_filename_mode could exit.
47007         * lib/canonicalize.c (canonicalize_filename_mode):
47008         Use mreadlink_with_size, not xreadlink_with_size.
47009
47010 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
47011
47012         Detect porting problems to FreeBSD/arm, which has time_t wider than
47013         long int.  Original problem reported for GNU diff by Xin Li in
47014         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
47015         * modules/getdate (Depends-on): Add intprops, verify.
47016         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
47017         is an integer type no wider than long int.
47018
47019 2007-06-18  Jim Meyering  <jim@meyering.net>
47020
47021         New module: mreadlink-with-size.
47022         * MODULES.html.sh: Add mreadlink-with-size.
47023         * modules/mreadlink-with-size: New module
47024         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
47025         not xreadlink-with-size.
47026         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
47027
47028 2007-06-16  Bruno Haible  <bruno@clisp.org>
47029
47030         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
47031         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
47032         Reported by Gary V. Vaughan <gary@gnu.org>.
47033
47034 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
47035
47036         Revamp lchown so that it lives in unistd.h where it belongs.
47037         * lib/lchown.h: Remove.
47038         * lib/dirchownmod.c: Don't include lib/lchown.h.
47039         * lib/fchownat.c: Likewise.
47040         * lib/openat.c: Likewise.
47041         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
47042         does not follow symlinks.
47043         (EOPNOTSUPP): Define if not defined.
47044         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
47045         is defined to 0.
47046         (lchown): New decl.
47047         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
47048         Do not check for lchown decl.
47049         Set REPLACE_LCHOWN.
47050         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
47051         REPLACE_LCHOWN.
47052         * modules/chown: Make it clear it follows symlinks.
47053         * modules/lchown: Make it clear it doesn't follow symlinks.
47054         (Files): Remove lib/lchown.h
47055         (Depends-on): Add unistd.
47056         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
47057         (Include): Include <unistd.h>, not "lchown.h".
47058         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
47059         REPLACE_LCHOWN.
47060
47061 2007-06-15  Jim Meyering  <jim@meyering.net>
47062
47063         Change license (GPL to LGPL) of fsusage and dependents.
47064         * modules/fsusage (License): Change to LGPL.
47065         * modules/full-read (License): Likewise.
47066         * modules/full-write (License): Likewise.
47067         * modules/safe-read (License): Likewise.
47068         * modules/safe-write (License): Likewise.
47069
47070 2007-06-14  Ben Pfaff  <blp@gnu.org>
47071
47072         Missing part of allocsa -> malloca transition.
47073         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
47074         gl_MALLOCA.
47075
47076 2007-06-12  Bruno Haible  <bruno@clisp.org>
47077
47078         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
47079         to ia64, x86_64, i386.
47080         Reported by Eric Blake.
47081
47082 2007-06-12  Bruno Haible  <bruno@clisp.org>
47083
47084         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
47085         cross-compiling to x86_64.
47086
47087 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
47088
47089         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
47090         glitch reported by Ralf Wildenhues in
47091         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
47092
47093         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
47094         Vin Shelton.
47095
47096 2007-06-11  Bruno Haible  <bruno@clisp.org>
47097
47098         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
47099         replacement string.
47100         Reported by Eric Blake.
47101
47102 2007-06-10  Bruno Haible  <bruno@clisp.org>
47103
47104         Prepare vasnprintf code for use with Unicode strings.
47105         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
47106         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
47107         TYPE_U32_STRING.
47108         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
47109         a_u32_string variants.
47110         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47111         * lib/printf-args.c: Don't include config.h and the specification
47112         header if PRINTF_FETCHARGS is already defined.
47113         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47114         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
47115         TYPE_U16_STRING, TYPE_U32_STRING.
47116         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
47117         u16_directive, u16_directives, u32_directive, u32_directives): New
47118         types.
47119         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
47120         New declarations.
47121         * lib/printf-parse.c: Don't include config.h and the specification
47122         header if PRINTF_PARSE is already defined. Eliminate the set of
47123         parameters for WIDE_CHAR_VERSION; the user of this file must provide
47124         them now. Include c-ctype.h.
47125         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
47126         directive and CHAR_T_ONLY_ASCII.
47127         * lib/vasnprintf.c: Don't include config.h and the specification header
47128         if VASNPRINTF is already defined.
47129         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
47130         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
47131         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
47132         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
47133         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
47134         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
47135         code accordingly.
47136         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
47137         pad_ourselves also in this case, with the 'c' and 's' directives, and
47138         with a different notion of "width".
47139         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
47140
47141 2007-06-10  Bruno Haible  <bruno@clisp.org>
47142
47143         * modules/unistr/u32-mbsnlen: New file.
47144         * lib/unistr/u32-mbsnlen.c: New file.
47145
47146         * modules/unistr/u16-mbsnlen: New file.
47147         * lib/unistr/u16-mbsnlen.c: New file.
47148
47149         * modules/unistr/u8-mbsnlen: New file.
47150         * lib/unistr/u8-mbsnlen.c: New file.
47151
47152         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
47153         declarations.
47154
47155 2007-06-10  Bruno Haible  <bruno@clisp.org>
47156
47157         * lib/string_.h (mbsnlen): New declaration.
47158         * lib/mbsnlen.c: New file.
47159         * m4/mbsnlen.m4: New file.
47160         * modules/mbsnlen: New file.
47161         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
47162         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
47163         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
47164
47165 2007-06-10  Bruno Haible  <bruno@clisp.org>
47166
47167         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
47168
47169 2007-06-10  Bruno Haible  <bruno@clisp.org>
47170
47171         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
47172         * lib/mbuiter.h: Likewise.
47173
47174 2007-06-10  Bruno Haible  <bruno@clisp.org>
47175
47176         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
47177         declaration.
47178
47179 2007-06-10  Karl Berry  <karl@gnu.org>
47180
47181         * config/srclist.txt: remove gettext entries, Bruno prefers
47182         to update individually.
47183
47184 2007-06-10  Bruno Haible  <bruno@clisp.org>
47185
47186         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
47187         'maxlen'. Ensure only length + width bytes are allocated, not
47188         length + 1 + width.
47189
47190 2007-06-09  Bruno Haible  <bruno@clisp.org>
47191
47192         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
47193         (CHAR_T): Remove macro.
47194         (VASNPRINTF): Update.
47195
47196 2007-06-09  Bruno Haible  <bruno@clisp.org>
47197
47198         * MODULES.html.sh (Unicode string functions): Add the new modules.
47199
47200         * modules/uniconv/u32-conv-to-enc: New file.
47201         * lib/uniconv/u32-conv-to-enc.c: New file.
47202         * modules/uniconv/u32-conv-to-enc-tests: New file.
47203         * tests/uniconv/test-u32-conv-to-enc.c: New file.
47204
47205         * modules/uniconv/u16-conv-to-enc: New file.
47206         * lib/uniconv/u16-conv-to-enc.c: New file.
47207         * lib/uniconv/u-conv-to-enc.h: New file.
47208         * modules/uniconv/u16-conv-to-enc-tests: New file.
47209         * tests/uniconv/test-u16-conv-to-enc.c: New file.
47210
47211         * modules/uniconv/u8-conv-to-enc: New file.
47212         * lib/uniconv/u8-conv-to-enc.c: New file.
47213         * modules/uniconv/u8-conv-to-enc-tests: New file.
47214         * tests/uniconv/test-u8-conv-to-enc.c: New file.
47215
47216         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47217         u32_conv_to_encoding): New declarations.
47218
47219 2007-06-09  Bruno Haible  <bruno@clisp.org>
47220
47221         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
47222
47223 2007-06-09  Bruno Haible  <bruno@clisp.org>
47224
47225         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
47226         * modules/malloca: Renamed from modules/allocsa, updated.
47227         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
47228         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
47229         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
47230         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
47231         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
47232         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
47233         * modules/xmalloca: Renamed from modules/xallocsa, updated.
47234         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
47235         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
47236         * modules/c-strcasestr (Depends-on): Update.
47237         * lib/c-strcasestr.c: Update.
47238         * modules/c-strstr (Depends-on): Update.
47239         * lib/c-strstr.c: Update.
47240         * modules/canonicalize-lgpl (Depends-on): Update.
47241         * lib/canonicalize-lgpl.c: Update.
47242         * modules/clean-temp (Depends-on): Update.
47243         * lib/clean-temp.c: Update.
47244         * modules/csharpcomp (Depends-on): Update.
47245         * lib/csharpcomp.c: Update.
47246         * modules/csharpexec (Depends-on): Update.
47247         * lib/csharpexec.c: Update.
47248         * modules/javacomp (Depends-on): Update.
47249         * lib/javacomp.c: Update.
47250         * modules/javaexec (Depends-on): Update.
47251         * lib/javaexec.c: Update.
47252         * modules/mbscasestr (Depends-on): Update.
47253         * lib/mbscasestr.c: Update.
47254         * modules/mbsstr (Depends-on): Update.
47255         * lib/mbsstr.c: Update.
47256         * modules/setenv (Depends-on): Update.
47257         * lib/setenv.c: Update.
47258         * modules/strcasestr (Depends-on): Update.
47259         * lib/strcasestr.c: Update.
47260         * modules/striconveha (Depends-on): Update.
47261         * lib/striconveha.c: Update.
47262         * modules/relocatable-prog-wrapper (Files): Update.
47263         * lib/relocwrapper.c: Update.
47264         * build-aux/install-reloc: Update.
47265         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
47266
47267 2007-06-08  Bruno Haible  <bruno@clisp.org>
47268
47269         Port to uClibc.
47270         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
47271         * lib/fpurge.c (fpurge): Likewise.
47272         * lib/freading.c (freading): Likewise.
47273         * lib/fseeko.c (rpl_fseeko): Likewise.
47274         * lib/fseterr.c (fseterr): Likewise.
47275         * lib/fwriting.c (fwriting): Likewise.
47276         * tests/test-fflush.c (main): Avoid a failure on uClibc.
47277
47278 2007-06-08  Bruno Haible  <bruno@clisp.org>
47279
47280         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
47281         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
47282         * modules/gettext (Files): Add m4/intlmacosx.m4.
47283
47284 2007-06-07  Bruno Haible  <bruno@clisp.org>
47285
47286         * modules/localename-tests: New file.
47287         * tests/test-localename.c: New file.
47288
47289         New module 'localename'.
47290         * lib/localename.h: New file.
47291         * lib/localename.c: New file, from GNU gettext.
47292         * m4/localename.m4: New file.
47293         * modules/localename: New file.
47294
47295 2007-06-07  Bruno Haible  <bruno@clisp.org>
47296
47297         Work around the lack of <wchar.h> on some builds of uClibc.
47298         * doc/headers/wchar.texi: Update.
47299         * lib/wchar_.h: Include <wchar.h> only if it exists.
47300         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
47301         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
47302         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
47303         doesn't exist.
47304         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
47305         * modules/mbfile (Depends-on): Add wchar.
47306         * modules/mbiter (Depends-on): Likewise.
47307         * modules/mbuiter (Depends-on): Likewise.
47308         Reported by Simon Josefsson.
47309
47310 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47311
47312         Work around problem reported by Steven M. Schweda in
47313         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
47314         Tru64 5.1B with the Compaq compiler environment installed declares
47315         an 'isblank' function but does not define it in the C library.
47316         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
47317         * lib/regex_internal.h (isblank): Likewise.
47318         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
47319         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47320
47321 2007-06-05  Bruno Haible  <bruno@clisp.org>
47322
47323         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
47324         ia64.
47325         * modules/printf-safe: New file.
47326         * modules/fprintf-posix (Depends-on): Add printf-safe.
47327         * modules/printf-posix (Depends-on): Likewise.
47328         * modules/snprintf-posix (Depends-on): Likewise.
47329         * modules/sprintf-posix (Depends-on): Likewise.
47330         * modules/vasnprintf-posix (Depends-on): Likewise.
47331         * modules/vasprintf-posix (Depends-on): Likewise.
47332         * modules/vfprintf-posix (Depends-on): Likewise.
47333         * modules/vprintf-posix (Depends-on): Likewise.
47334         * modules/vsnprintf-posix (Depends-on): Likewise.
47335         * modules/vsprintf-posix (Depends-on): Likewise.
47336         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47337         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
47338         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
47339         "no" on i386, x86_64, ia64.
47340         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
47341         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47342         on i386, x86_64, ia64.
47343         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
47344         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47345         on i386, x86_64, ia64.
47346         * tests/test-vasnprintf-posix.c: Include float.h.
47347         (LDBL80_WORDS): New macro.
47348         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47349         on i386, x86_64, ia64.
47350         * tests/test-vasprintf-posix.c: Include float.h.
47351         (LDBL80_WORDS): New macro.
47352         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47353         on i386, x86_64, ia64.
47354         * tests/test-snprintf-posix.c: Include float.h.
47355         * tests/test-sprintf-posix.c: Likewise.
47356         * tests/test-vsnprintf-posix.c: Likewise.
47357         * tests/test-vsprintf-posix.c: Likewise.
47358
47359 2007-06-05  Bruno Haible  <bruno@clisp.org>
47360
47361         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
47362         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
47363         non-IEEE numbers on i386, x86_64, ia64.
47364         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
47365         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
47366         * tests/test-isnanl.h: Include float.h.
47367         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
47368
47369 2007-06-05  Bruno Haible  <bruno@clisp.org>
47370
47371         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
47372         also the %a / %A. Handle the %a / %A code before this extra handling.
47373
47374 2007-06-05  Bruno Haible  <bruno@clisp.org>
47375
47376         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
47377         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
47378
47379 2007-06-05  Bruno Haible  <bruno@clisp.org>
47380
47381         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
47382         typo in variable name.
47383
47384 2007-06-05  Eric Blake  <ebb9@byu.net>
47385
47386         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
47387         Reported by Simon Josefsson.
47388
47389 2007-06-04  Bruno Haible  <bruno@clisp.org>
47390
47391         Avoid test failures on some PowerPC platforms.
47392         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
47393         Define differently for PowerPC.
47394         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
47395         Reported by Gary V. Vaughan <gary@gnu.org>.
47396
47397 2007-06-02  Bruno Haible  <bruno@clisp.org>
47398
47399         Fix test-stdint failure on FreeBSD/ia64.
47400         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
47401         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
47402         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
47403         * doc/headers/stdint.texi: Update.
47404
47405 2007-06-01  Bruno Haible  <bruno@clisp.org>
47406
47407         * tests/test-binary-io.c (main): Pass a third argument to open().
47408         Reported by Gary V. Vaughan <gary@gnu.org>.
47409
47410 2007-06-01  Bruno Haible  <bruno@clisp.org>
47411
47412         * doc/functions/frexpl.texi: Update for mingw.
47413
47414 2007-06-01  Bruno Haible  <bruno@clisp.org>
47415
47416         * tests/test-lseek.c (main): Disable test of errno for invalid third
47417         argument.
47418         * doc/functions/lseek.texi: Update.
47419         Reported by Gary V. Vaughan <gary@gnu.org>.
47420
47421 2007-05-28  Bruno Haible  <bruno@clisp.org>
47422
47423         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
47424
47425 2007-05-31  Eric Blake  <ebb9@byu.net>
47426
47427         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
47428         cross compiling.
47429
47430 2007-05-30  Eric Blake  <ebb9@byu.net>
47431         and Bruno Haible  <bruno@clisp.org>
47432
47433         Work around mingw test failures exposed by m4-1.4.9b.
47434         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
47435         * tests/test-unistd.c: Disable uid_t and git_t tests for the
47436         moment.
47437
47438 2007-05-30  Bruno Haible  <bruno@clisp.org>
47439
47440         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
47441         assuming that they are closed. Needed on HP-UX 11.
47442
47443 2007-05-29  Bruno Haible  <bruno@clisp.org>
47444
47445         Fix a problem with #include_next.
47446         * lib/dirent_.h: Split the double-inclusion guard.
47447         * lib/fcntl_.h: Likewise.
47448         * lib/float_.h: Likewise.
47449         * lib/iconv_.h: Likewise.
47450         * lib/inttypes_.h: Likewise.
47451         * lib/locale_.h: Likewise.
47452         * lib/math_.h: Likewise.
47453         * lib/netinet_in_.h: Likewise.
47454         * lib/search_.h: Likewise.
47455         * lib/signal_.h: Likewise.
47456         * lib/stdint_.h: Likewise.
47457         * lib/stdio_.h: Likewise.
47458         * lib/stdlib_.h: Likewise.
47459         * lib/string_.h: Likewise.
47460         * lib/sys_select_.h: Likewise.
47461         * lib/sys_socket_.h: Likewise.
47462         * lib/sys_stat_.h: Likewise.
47463         * lib/sys_time_.h: Likewise.
47464         * lib/sysexits_.h: Likewise.
47465         * lib/time_.h: Likewise.
47466         * lib/unistd_.h: Likewise.
47467         * lib/wchar_.h: Likewise.
47468         * lib/wctype_.h: Likewise.
47469
47470 2007-05-29  Bruno Haible  <bruno@clisp.org>
47471
47472         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
47473         for the moment.
47474
47475 2007-05-29  Bruno Haible  <bruno@clisp.org>
47476
47477         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
47478         invocation.
47479         Reported by Eric Blake.
47480
47481 2007-05-29  Bruno Haible  <bruno@clisp.org>
47482
47483         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
47484         compiling case.
47485
47486 2007-05-29  Eric Blake  <ebb9@byu.net>
47487             Bruno Haible  <bruno@clisp.org>
47488
47489         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
47490         cross compiles.
47491
47492 2007-05-28  Eric Blake  <ebb9@byu.net>
47493
47494         * modules/closein-tests (test_closein_LDADD): Support test on
47495         cygwin with libtool.
47496
47497 2007-05-28  Bruno Haible  <bruno@clisp.org>
47498
47499         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
47500         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47501         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47502         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47503         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47504         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47505         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47506         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47507         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47508
47509 2007-05-28  Eric Blake  <ebb9@byu.net>
47510
47511         Unconditionally include <config.h> in unit tests.
47512         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
47513         * tests/test-allocsa.c, tests/test-arcfour.c,
47514         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
47515         tests/test-array_list.c, tests/test-array_oset.c,
47516         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
47517         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
47518         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
47519         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
47520         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
47521         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
47522         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
47523         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
47524         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
47525         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
47526         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
47527         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
47528         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
47529         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
47530         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
47531         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
47532         test-md5.c, test-memmem.c, test-printf-posix.c,
47533         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
47534         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
47535         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
47536         test-strcasestr.c, test-striconv.c, test-striconveh.c,
47537         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
47538         test-vasnprintf-posix2.c, test-vasnprintf.c,
47539         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
47540         test-vfprintf-posix.c, test-vprintf-posix.c,
47541         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
47542         test-xvasprintf.c: Likewise.
47543
47544 2007-05-28  Bruno Haible  <bruno@clisp.org>
47545
47546         * gnulib-tool (func_import): Remember the --with-tests command-line
47547         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
47548         Reported by Eric Blake.
47549
47550 2007-05-28  Bruno Haible  <bruno@clisp.org>
47551
47552         * modules/ftell-tests: New file.
47553         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
47554         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
47555
47556         * lib/ftell.c: New file.
47557         * modules/ftell: New file.
47558         * m4/ftell.m4: New file.
47559         * doc/functions/ftell.texi: Update.
47560         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
47561         REPLACE_FTELL.
47562         * lib/stdio_.h (rpl_ftell): New declaration.
47563         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
47564         REPLACE_FTELL.
47565
47566 2007-05-28  Eric Blake  <ebb9@byu.net>
47567
47568         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
47569
47570 2007-05-28  Bruno Haible  <bruno@clisp.org>
47571
47572         * modules/fseek-tests: New file.
47573         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
47574         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
47575
47576         * lib/fseek.c: New file.
47577         * modules/fseek: New file.
47578         * m4/fseek.m4: New file.
47579         * doc/functions/fseek.texi: Update.
47580         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
47581         REPLACE_FSEEK.
47582         * lib/stdio_.h (rpl_fseek): New declaration.
47583         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
47584         REPLACE_FSEEK.
47585
47586 2007-05-28  Bruno Haible  <bruno@clisp.org>
47587
47588         * lib/stdio_.h (fflush): More comments.
47589
47590 2007-05-28  Bruno Haible  <bruno@clisp.org>
47591
47592         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
47593         runtime test.
47594
47595 2007-05-28  Eric Blake  <ebb9@byu.net>
47596
47597         Improve lseek module.
47598         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
47599         * lib/unistd_.h (lseek): Scale back link warning message.
47600         * tests/test-lseek.c: Beef up test.
47601         * tests/test-lseek.sh: Exercise more facets of lseek.
47602         Reported by Bruno Haible.
47603
47604 2007-05-28  Bruno Haible  <bruno@clisp.org>
47605
47606         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
47607         to define.
47608
47609 2007-05-27  Bruno Haible  <bruno@clisp.org>
47610
47611         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
47612
47613 2007-05-27  Bruno Haible  <bruno@clisp.org>
47614
47615         * modules/openmp: New file.
47616         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
47617         Noah Misch.
47618
47619 2007-05-26  Bruno Haible  <bruno@clisp.org>
47620
47621         * modules/chdir-long (Depends-on): Add fchdir.
47622         * modules/chdir-safer (Depends-on): Likewise.
47623         * modules/fts (Depends-on): Likewise.
47624         * modules/fts-lgpl (Depends-on): Likewise.
47625         * modules/openat (Depends-on): Likewise.
47626         * modules/savewd (Depends-on): Likewise.
47627
47628 2007-05-24  Eric Blake  <ebb9@byu.net>
47629
47630         Fix lseek on mingw.
47631         * modules/lseek: New module.
47632         * m4/lseek.m4: New file.
47633         * lib/lseek.c: New file.
47634         * modules/lseek-tests: New file.
47635         * tests/test-lseek.c: New file.
47636         * tests/test-lseek.sh: New file.
47637         * MODULES.html.sh: Document lseek module.
47638         * modules/fflush (Depends-on): Add lseek, fseeko.
47639         * modules/fseeko (Depends-on): Likewise.
47640         * modules/ftello (Depends-on): Likewise.
47641         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
47642         broken.
47643         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
47644         broken.
47645         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
47646         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
47647         * lib/ftello.c (rpl_ftello): Likewise.
47648         * tests/test-fseeko.c (main): Test this.
47649         * tests/test-fseeko.sh: Likewise.
47650         * tests/test-ftello.c (main): Likewise.
47651         * tests/test-ftello.sh: Likewise.
47652         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
47653         implies replacing fseek.
47654         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
47655         HAVE_FTELLO.
47656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
47657         * modules/unistd (Makefile.am): Likewise.
47658         * lib/unistd_.h (lseek): Declare a replacement.
47659         * doc/functions/lseek.texi (lseek): Document this fix.
47660         * doc/functions/fseek.texi (fseek): Likewise.
47661         * doc/functions/ftell.texi (ftell): Likewise.
47662
47663 2007-05-24  Bruno Haible  <bruno@clisp.org>
47664
47665         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
47666         in the printed representation of a NaN.
47667         * tests/test-vasprintf-posix.c (test_function): Likewise.
47668         * tests/test-snprintf-posix.h (test_function): Likewise.
47669         * tests/test-sprintf-posix.h (test_function): Likewise.
47670         Reported by Eric Blake.
47671
47672 2007-05-23  Eric Blake  <ebb9@byu.net>
47673
47674         Fix fseeko/ftello on cygwin 1.5.24.
47675         * doc/functions/fseeko.texi (fseeko): Document the fix.
47676         * doc/functions/ftello.texi (ftello): Document the fix.
47677         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
47678         * doc/functions/stdout.text (stdout): New file.
47679         * doc/functions/stderr.text (stderr): New file.
47680         * doc/gnulib.texi (Function Substitutes): Use new files.
47681         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
47682         prior to 1.7.0.
47683         * tests/test-ftello.c (main): Likewise for ftello.
47684         * tests/test-fseeko.sh: New file.
47685         * tests/test-ftello.sh: New file.
47686         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47687         with seekable stdin.
47688         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47689         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47690         (gl_REPLACE_FSEEKO): New macro.
47691         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47692         * modules/fseeko (Files): Distribute fseeko.c.
47693         * modules/ftello (Files): Distribute ftello.c.
47694         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47695         mode.
47696         * lib/ftello.c (rpl_ftello): New file.
47697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47698         fseeko, ftello.
47699         (gl_STDIN_LARGE_OFFSET): New macro.
47700         * modules/stdio (Makefile.am): Perform the replacement.
47701         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47702
47703 2007-05-23  Bruno Haible  <bruno@clisp.org>
47704
47705         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47706         GNULIB_POSIXCHECK is defined.
47707
47708 2007-05-21  Bruno Haible  <bruno@clisp.org>
47709
47710         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47711         Check also the output for NaN arguments. When cross-compiling, guess
47712         no on IRIX.
47713         * lib/vasnprintf.c: Update comments.
47714         * tests/test-vasnprintf-posix.c (strisnan): New function.
47715         (test_function): Use it.
47716         * tests/test-vasprintf-posix.c (strisnan): New function.
47717         (test_function): Use it.
47718         * tests/test-snprintf-posix.h (strisnan): New function.
47719         (test_function): Use it.
47720         * tests/test-sprintf-posix.h (strisnan): New function.
47721         (test_function): Use it.
47722         Reported by Eric Blake.
47723
47724 2007-05-20  Bruno Haible  <bruno@clisp.org>
47725
47726         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47727         numbers that fails on BeOS.
47728         * doc/functions/frexpl.texi: Update.
47729
47730 2007-05-20  Jim Meyering  <jim@meyering.net>
47731
47732         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47733         forced upon us by glibc-2.6.
47734
47735 2007-05-20  Bruno Haible  <bruno@clisp.org>
47736
47737         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47738         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47739         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47740         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47741         NEED_PRINTF_INFINITE.
47742         (is_infinitel): New function.
47743         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47744         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47745         gl_PREREQ_VASNPRINTF_INFINITE.
47746         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47747         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47748         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47749         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47750         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47751         gl_PREREQ_VASNPRINTF_INFINITE.
47752         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47753         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47754         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47755         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47756         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47757         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47758         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47759         * doc/functions/fprintf.texi: Update.
47760         * doc/functions/printf.texi: Update.
47761         * doc/functions/snprintf.texi: Update.
47762         * doc/functions/sprintf.texi: Update.
47763         * doc/functions/vfprintf.texi: Update.
47764         * doc/functions/vprintf.texi: Update.
47765         * doc/functions/vsnprintf.texi: Update.
47766         * doc/functions/vsprintf.texi: Update.
47767
47768 2007-05-20  Bruno Haible  <bruno@clisp.org>
47769
47770         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47771         was not found in libc.
47772         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47773
47774 2007-05-20  Bruno Haible  <bruno@clisp.org>
47775
47776         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47777         printed as "-nan" instead of "nan".
47778         * tests/test-vasprintf-posix.c (test_function): Likewise.
47779         * tests/test-snprintf-posix.h (test_function): Likewise.
47780         * tests/test-sprintf-posix.h (test_function): Likewise.
47781         Needed for HP-UX 11.
47782
47783 2007-05-20  Jim Meyering  <jim@meyering.net>
47784
47785         Fix buggy test for the fchownat-deref bug.
47786         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47787         symlink required for the run-test.  Without it, this test would
47788         always declare that fchownat doesn't work, and client code would
47789         unnecessarily use the replacement function with fixed libc.
47790         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47791         Reported by Greg Schafer.
47792
47793 2007-05-19  Bruno Haible  <bruno@clisp.org>
47794
47795         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47796         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47797         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47798         Needed for IRIX 6.5 and Solaris 2.5.1.
47799
47800 2007-05-19  Bruno Haible  <bruno@clisp.org>
47801
47802         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47803         (test_function): Skip tests involving -0.0 on platforms where
47804         -0.0 = 0.0.
47805         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47806         (test_function): Skip tests involving -0.0 on platforms where
47807         -0.0 = 0.0.
47808         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47809         (test_function): Skip tests involving -0.0 on platforms where
47810         -0.0 = 0.0.
47811         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47812         (test_function): Skip tests involving -0.0 on platforms where
47813         -0.0 = 0.0.
47814         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47815         tests.
47816         * tests/test-printf-posix.h (test_function): Likewise.
47817         * tests/test-printf-posix.output: Remove all -0.0 related results.
47818         Needed for IRIX 6.5.
47819
47820 2007-05-19  Bruno Haible  <bruno@clisp.org>
47821
47822         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47823         printed as "nan0x7fffffff" instead of "nan".
47824         * tests/test-vasprintf-posix.c (test_function): Likewise.
47825         * tests/test-snprintf-posix.h (test_function): Likewise.
47826         * tests/test-sprintf-posix.h (test_function): Likewise.
47827         * tests/test-fprintf-posix.h (NaN): Remove macro.
47828         (test_function): Remove all NaN related tests.
47829         * tests/test-printf-posix.h (NaN): Remove macro.
47830         (test_function): Remove all NaN related tests.
47831         * tests/test-printf-posix.output: Remove all NaN related results.
47832         Needed for IRIX 6.5.
47833
47834 2007-05-19  Bruno Haible  <bruno@clisp.org>
47835
47836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47838
47839 2007-05-19  Bruno Haible  <bruno@clisp.org>
47840
47841         * lib/float_.h: New file.
47842         * m4/float_h.m4: New file.
47843         * modules/float: New file.
47844         * modules/isnanl (Dependencies): Add float.
47845         * modules/isnanl-nolibm (Dependencies): Likewise.
47846         * modules/mathl (Dependencies): Likewise.
47847         * modules/printf-frexpl (Dependencies): Likewise.
47848         * modules/signbit (Dependencies): Likewise.
47849         * modules/vasnprintf (Dependencies): Likewise.
47850         * doc/headers/float.texi: Update.
47851
47852 2007-05-19  Jim Meyering  <jim@meyering.net>
47853
47854         * lib/utimens.c (gl_futimens): Rename from futimens,
47855         now that glibc-2.6 declares futimens.
47856         * lib/utimens.h: Likewise.
47857
47858 2007-05-19  Bruno Haible  <bruno@clisp.org>
47859
47860         Avoid test failures on mingw.
47861         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47862         * tests/test-printf-posix.sh: Likewise.
47863         * tests/test-vfprintf-posix.sh: Likewise.
47864         * tests/test-vprintf-posix.sh: Likewise.
47865
47866 2007-05-19  Bruno Haible  <bruno@clisp.org>
47867
47868         Fix *printf result for NaN, Inf, -0.0 on mingw.
47869         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47870         * lib/vasnprintf.c: Include math.h and isnan.h.
47871         (is_infinite_or_zero): New function.
47872         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47873         values in the %f, %F, %e, %E, %g, %G directives.
47874         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47875         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47876         gl_PRINTF_INFINITE and test its result. Invoke
47877         gl_PREREQ_VASNPRINTF_INFINITE.
47878         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47879         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47880         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47881         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47882         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47883         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47884         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47885         * doc/functions/fprintf.texi: Update.
47886         * doc/functions/printf.texi: Update.
47887         * doc/functions/snprintf.texi: Update.
47888         * doc/functions/sprintf.texi: Update.
47889         * doc/functions/vfprintf.texi: Update.
47890         * doc/functions/vprintf.texi: Update.
47891         * doc/functions/vsnprintf.texi: Update.
47892         * doc/functions/vsprintf.texi: Update.
47893
47894 2007-05-19  Bruno Haible  <bruno@clisp.org>
47895
47896         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47897         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47898         Instead of multiplying with 10^k, set extra_zeroes to k.
47899         (scale10_round_long_double): Remove function.
47900
47901 2007-05-18  Bruno Haible  <bruno@clisp.org>
47902
47903         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47904         introduced on 2007-05-06.
47905
47906 2007-05-18  Bruno Haible  <bruno@clisp.org>
47907
47908         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47909         %g directives.
47910         * tests/test-vasprintf-posix.c (test_function): Likewise.
47911         * tests/test-snprintf-posix.h (test_function): Likewise.
47912         * tests/test-sprintf-posix.h (test_function): Likewise.
47913
47914 2007-05-18  Bruno Haible  <bruno@clisp.org>
47915
47916         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47917         (strmatch): New function.
47918         (test_function): Test the %f directive on numbers of various exponents.
47919         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47920         (strmatch): New function.
47921         (test_function): Test the %f directive on numbers of various exponents.
47922         * tests/test-snprintf-posix.h (strmatch): New function.
47923         (test_function): Test the %f directive on numbers of various exponents.
47924         * tests/test-sprintf-posix.h (strmatch): New function.
47925         (test_function): Test the %f directive on numbers of various exponents.
47926         * tests/test-snprintf-posix.c (SIZEOF): New macro.
47927         * tests/test-sprintf-posix.c (SIZEOF): New macro.
47928         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
47929         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
47930
47931 2007-05-18  Bruno Haible  <bruno@clisp.org>
47932
47933         Add support for 'long double' number output.
47934         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
47935         * lib/vasnprintf.c: Include math.h and float+.h.
47936         (mp_limb_t): New type.
47937         (GMP_LIMB_BITS): New macro.
47938         (mp_twolimb_t): New type.
47939         (GMP_TWOLIMB_BITS): New macro.
47940         (mpn_t): New type.
47941         (multiply, divide, convert_to_decimal, decode_long_double,
47942         scale10_round_long_double, scale10_round_decimal_long_double,
47943         floorlog10l): New functions.
47944         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
47945         for the %f, %F, %e, %E, %g, %G directives.
47946         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
47947         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47948         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
47949         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
47950         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47951         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47952         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47953         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47954         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47955         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47956         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47957         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
47958         * modules/snprintf-posix (Depends-on): Likewise.
47959         * modules/sprintf-posix (Depends-on): Likewise.
47960         * modules/vasnprintf-posix (Depends-on): Likewise.
47961         * modules/vasprintf-posix (Depends-on): Likewise.
47962         * modules/vfprintf-posix (Depends-on): Likewise.
47963         * modules/vsnprintf-posix (Depends-on): Likewise.
47964         * modules/vsprintf-posix (Depends-on): Likewise.
47965         * modules/vasnprintf (Files): Add lib/float+.h.
47966         * doc/functions/fprintf.texi: Update.
47967         * doc/functions/printf.texi: Update.
47968         * doc/functions/snprintf.texi: Update.
47969         * doc/functions/sprintf.texi: Update.
47970         * doc/functions/vfprintf.texi: Update.
47971         * doc/functions/vprintf.texi: Update.
47972         * doc/functions/vsnprintf.texi: Update.
47973         * doc/functions/vsprintf.texi: Update.
47974
47975 2007-05-18  Bruno Haible  <bruno@clisp.org>
47976
47977         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
47978
47979 2007-05-18  Bruno Haible  <bruno@clisp.org>
47980
47981         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
47982         for printing 64-bit integers. Needed for mingw.
47983
47984 2007-05-18  Bruno Haible  <bruno@clisp.org>
47985
47986         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
47987         gl_FUNC_FREXPL_WORKS.
47988         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
47989
47990 2007-05-18  Bruno Haible  <bruno@clisp.org>
47991
47992         * modules/frexpl-nolibm-tests: New file.
47993
47994         * modules/frexpl-nolibm: New file.
47995         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
47996
47997 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47998
47999         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
48000         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48001         GCC 4.2, which otherwise issues a lot of warnings.
48002         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
48003         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
48004         Likewise.
48005         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
48006         * modules/iconv_open (iconv.h): Likewise.
48007         * modules/locale (locale.h): Likewise.
48008         * modules/netinet_in (netinet/in.h): Likewise.
48009         * modules/sys_select (sys_select.h): Likewise.
48010         * modules/sys_socket (sys/socket.h): Likewise.
48011         * modules/sys_stat (sys/stat.h): Likewise.
48012         * modules/sysexits (sysexits.h): Likewise.
48013         * modules/unistd (unistd.h): Likewise.
48014
48015 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48016
48017         * modules/closein-tests (Makefile.am): Distribute
48018         `test-closein.sh'.
48019
48020 2007-05-17  Bruno Haible  <bruno@clisp.org>
48021
48022         * tests/test-printf-posix.output: Renamed from
48023         tests/test-fprintf-posix.out.
48024         * modules/fprintf-posix-tests: Update.
48025         * modules/printf-posix-tests: Update.
48026         * modules/vfprintf-posix-tests: Update.
48027         * modules/vprintf-posix-tests: Update.
48028         * tests/test-fprintf-posix.sh: Update.
48029         * tests/test-printf-posix.sh: Update.
48030         * tests/test-vfprintf-posix.sh: Update.
48031         * tests/test-vprintf-posix.sh: Update.
48032         Reported by Ralf Wildenhues.
48033
48034 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
48035
48036         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
48037         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48038         GCC 4.2, which otherwise issues a lot of warnings.
48039         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
48040         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
48041         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
48042         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
48043         it should no longer be needed.
48044         * lib/string_.h: Likewise.
48045         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
48046         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
48047         * modules/inttypes (inttypes.h): Likewise.
48048         * modules/math (math.h): Likewise.
48049         * modules/search (search.h): Likewise.
48050         * modules/signal (signal.h): Likewise.
48051         * modules/stdint (stdint.h): Likewise.
48052         * modules/stdio (stdio.h): Likewise.
48053         * modules/stdlib (stdlib.h): Likewise.
48054         * modules/string (string.h): Likewise.
48055         * modules/sys_time (sys/time.h): Likewise.
48056         * modules/time (time.h): Likewise.
48057         * modules/wchar (wchar.h): Likewise.
48058         * modules/wctype (wtype.h): Likewise.
48059
48060 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48061
48062         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
48063
48064 2007-05-13  Bruno Haible  <bruno@clisp.org>
48065
48066         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
48067         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48068         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
48069         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48070         (gl_PREREQ_STRTOK_R): Don't require it here.
48071
48072 2007-05-13  Bruno Haible  <bruno@clisp.org>
48073
48074         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
48075         when used in C++ mode.
48076
48077 2007-05-12  Bruno Haible  <bruno@clisp.org>
48078
48079         * lib/linebuffer.h: Tweak doc.
48080         * lib/linebuffer.c: Likewise.
48081
48082 2007-05-12  James Youngman  <jay@gnu.org>
48083
48084         * lib/linebuffer.c (readlinebuffer_delim): New function,
48085         like readlinebuffer, but use a caller-specified delimiter.
48086         (readlinebuffer): Just call readlinebuffer_delim with '\n'
48087         as the delimiter.
48088         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
48089
48090 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48091
48092         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
48093         * modules/openat (Files): Remove openat-die.c.
48094         (Depends-on): Add openat-die.
48095         * modules/openat-die: New module.
48096
48097 2007-05-06  Bruno Haible  <bruno@clisp.org>
48098
48099         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
48100         Update with info about Cygwin.
48101         * doc/functions/fprintf.texi: Update.
48102         * doc/functions/printf.texi: Update.
48103         * doc/functions/snprintf.texi: Update.
48104         * doc/functions/sprintf.texi: Update.
48105         * doc/functions/vfprintf.texi: Update.
48106         * doc/functions/vprintf.texi: Update.
48107         * doc/functions/vsnprintf.texi: Update.
48108         * doc/functions/vsprintf.texi: Update.
48109         Reported by Eric Blake.
48110
48111 2007-05-06  Bruno Haible  <bruno@clisp.org>
48112
48113         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
48114         padding ourselves for the floating-point directives.
48115         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
48116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
48117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48118         gl_PRINTF_FLAG_ZERO and test its result. Invoke
48119         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
48120         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48121         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48122         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48123         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48124         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48125         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48126         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48127         * tests/test-snprintf-posix.h (test_function): Also check the width
48128         and some flags in the %f directive.
48129         * tests/test-sprintf-posix.h (test_function): Likewise.
48130         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48131         * tests/test-vasprintf-posix.c (test_function): Likewise.
48132         * doc/functions/fprintf.texi: Update.
48133         * doc/functions/printf.texi: Update.
48134         * doc/functions/snprintf.texi: Update.
48135         * doc/functions/sprintf.texi: Update.
48136         * doc/functions/vfprintf.texi: Update.
48137         * doc/functions/vprintf.texi: Update.
48138         * doc/functions/vsnprintf.texi: Update.
48139         * doc/functions/vsprintf.texi: Update.
48140
48141 2007-05-06  Bruno Haible  <bruno@clisp.org>
48142
48143         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
48144         pass the ' flag character to sprintf or snprintf.
48145         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
48146         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
48147         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48148         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
48149         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
48150         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48151         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48152         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48153         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48154         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48155         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48156         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48157         * tests/test-snprintf-posix.h (test_function): Also check the grouping
48158         flag.
48159         * tests/test-sprintf-posix.h (test_function): Likewise.
48160         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48161         * tests/test-vasprintf-posix.c (test_function): Likewise.
48162         * doc/functions/fprintf.texi: Update.
48163         * doc/functions/printf.texi: Update.
48164         * doc/functions/snprintf.texi: Update.
48165         * doc/functions/sprintf.texi: Update.
48166         * doc/functions/vfprintf.texi: Update.
48167         * doc/functions/vprintf.texi: Update.
48168         * doc/functions/vsnprintf.texi: Update.
48169         * doc/functions/vsprintf.texi: Update.
48170
48171 2007-05-01  Bruno Haible  <bruno@clisp.org>
48172
48173         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
48174
48175 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
48176
48177         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
48178         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
48179
48180 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48181
48182         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
48183         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
48184         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
48185
48186 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
48187
48188         * lib/argp-help.c (struct hol_entry): New member `ord'.
48189         (HOL_ENTRY_PTRCMP): Use ord for comparison
48190         (hol_sort): Initialize ord.
48191
48192 2007-05-01  Bruno Haible  <bruno@clisp.org>
48193
48194         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
48195         Reported by Eric Blake.
48196         * doc/gnulib.texi (Function Substitutes): Update.
48197
48198 2007-05-01  Bruno Haible  <bruno@clisp.org>
48199
48200         * doc/functions.texi: Remove file, now redundant through
48201         doc/functions/*.texi.
48202
48203 2007-05-01  Bruno Haible  <bruno@clisp.org>
48204
48205         * modules/argp (Depends-on): Add sleep.
48206
48207 2007-05-01  Bruno Haible  <bruno@clisp.org>
48208
48209         * modules/sleep-tests: New file.
48210         * tests/test-sleep.c: New file.
48211
48212         * modules/sleep: New file.
48213         * lib/sleep.c: New file.
48214         * m4/sleep.m4: New file.
48215         * lib/unistd_.h (sleep): New declaration.
48216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
48217         HAVE_SLEEP.
48218         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
48219         * doc/functions/sleep.texi: Document the sleep module.
48220
48221 2007-05-01  Bruno Haible  <bruno@clisp.org>
48222
48223         * lib/sigprocmask.h: Remove file.
48224         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
48225         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
48226         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
48227         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
48228         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
48229         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
48230         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
48231         HAVE_SIGSET_T as a shell variable.
48232         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
48233         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
48234         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
48235         (Depends-on): Add signal. Remove verify.
48236         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
48237         (Include): Mention <signal.h> instead of sigprocmask.h.
48238         * NEWS: Mention the change.
48239         * lib/fatal-signal.c: Don't include sigprocmask.h.
48240
48241 2007-05-01  Bruno Haible  <bruno@clisp.org>
48242
48243         * modules/signal: New file.
48244         * lib/signal_.h: New file.
48245         * m4/signal_h.m4: New file.
48246
48247 2007-05-01  Bruno Haible  <bruno@clisp.org>
48248
48249         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
48250         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
48251         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
48252         HAVE_WCTYPE_CTMP_BUG into wctype.h.
48253
48254 2007-05-01  Bruno Haible  <bruno@clisp.org>
48255
48256         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
48257         configure time.
48258         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
48259         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
48260         * modules/sys_stat (Makefile.am): Substitute their values into
48261         sys/stat.h.
48262
48263 2007-05-01  Bruno Haible  <bruno@clisp.org>
48264
48265         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
48266         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
48267         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
48268
48269 2007-05-01  Bruno Haible  <bruno@clisp.org>
48270
48271         * doc/header/assert.texi: Undo last change: don't mention the gnulib
48272         'assert' module here.
48273
48274 2007-05-01  Bruno Haible  <bruno@clisp.org>
48275
48276         * doc/functions/*.texi: New files.
48277         * doc/functions/google-ranking.txt: New file.
48278         * doc/gnulib.texi (Function Substitutes): New chapter.
48279         (ctime, inet_ntoa): Remove sections.
48280         * doc/ctime.texi: Remove file.
48281         * doc/inet_ntoa.texi: Remove file.
48282         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
48283         dependencies.
48284         (%.info): New rule, specifying a --reference-limit.
48285
48286 2007-05-01  Bruno Haible  <bruno@clisp.org>
48287
48288         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
48289
48290 2007-05-01  Bruno Haible  <bruno@clisp.org>
48291
48292         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
48293         the portability of 'mkdir' to mingw systems.
48294
48295 2007-05-01  Bruno Haible  <bruno@clisp.org>
48296
48297         * doc/headers/google-ranking.txt: New file.
48298
48299 2007-04-30  Eric Blake  <ebb9@byu.net>
48300
48301         Prefer fseeko to fseek.
48302         * modules/getpass (Depends-on): Add fseeko.
48303         * lib/getpass.c (getpass): Use fseeko, not fseek.
48304
48305 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
48306
48307         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
48308         assumes the sorting is stable, while most qsort implementations
48309         are not.  Use argument addresses to ensure they never compare as
48310         equal.
48311
48312         * tests/test-argp-2.sh (usage-indent test): Fix output
48313         (func_compare): Restore diff options
48314         * tests/test-argp.c: Restore #include "progname.h"
48315
48316 2007-04-29  Bruno Haible  <bruno@clisp.org>
48317
48318         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
48319         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48320         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
48321         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48322         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
48323         (configure.ac): Define CHECK_SNPRINTF_POSIX.
48324         (TESTS, check_PROGRAMS): Add test-snprintf.
48325         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
48326         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
48327         (TESTS, check_PROGRAMS): Add test-vsnprintf.
48328         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
48329         assertions that fail on HP-UX, OSF/1, or IRIX.
48330         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
48331
48332 2007-04-29  Bruno Haible  <bruno@clisp.org>
48333
48334         * MODULES.html.sh (posix_functions): Remove 'contents'.
48335
48336 2007-04-29  Karl Berry  <karl@gnu.org>
48337
48338         * config/srclist.txt (gendocs_template_min): new entry.
48339
48340 2007-04-29  Bruno Haible  <bruno@clisp.org>
48341
48342         Work around fpurge bug on BSD systems.
48343         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
48344         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
48345         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
48346         fpurge to rpl_fpurge if the system already has this function.
48347         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
48348         the case where the system already has this function. Correct invariants
48349         on BSD systems.
48350         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
48351         BSD systems.
48352
48353 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
48354
48355         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
48356         proposed by Sven Verdoolaege.
48357
48358         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
48359         options.
48360         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
48361         (usage and help tests): Update
48362
48363 2007-04-29  Bruno Haible  <bruno@clisp.org>
48364
48365         * tests/test-fflush.c (main): Use a file of size 17, not 10.
48366         Print more information in case of failure. Disable a test on BeOS.
48367
48368 2007-04-29  Bruno Haible  <bruno@clisp.org>
48369
48370         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
48371         This helps debugging on systems on which no gdb is available.
48372
48373 2007-04-29  Bruno Haible  <bruno@clisp.org>
48374
48375         * lib/freading.h: Improve comments.
48376         * lib/fwriting.h: Likewise.
48377         * tests/test-freading.c (main): Don't check freading immediately after
48378         repositioning. Needed for glibc.
48379
48380 2007-04-29  Bruno Haible  <bruno@clisp.org>
48381
48382         * lib/freading.c (freading): Trivial simplification.
48383
48384 2007-04-28  Bruno Haible  <bruno@clisp.org>
48385
48386         * tests/test-fwriting.c (main): Also test the interaction between
48387         fflush and fwriting.
48388         * modules/fwriting-tests (Depends-on): Add fflush.
48389
48390         * tests/test-freading.c (main): Also test the interaction between
48391         fflush and freading.
48392         * modules/freading-tests (Depends-on): Add fflush.
48393
48394 2007-04-28  Bruno Haible  <bruno@clisp.org>
48395
48396         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
48397         fseeko and ftello.
48398         Suggested by Eric Blake.
48399
48400 2007-04-28  Jim Meyering  <jim@meyering.net>
48401
48402         Avoid false-negative in gl_STDINT_H's C99 conformance test.
48403         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
48404         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
48405
48406 2007-04-27  Eric Blake  <ebb9@byu.net>
48407
48408         * doc/headers/assert.texi (assert.h): Document assert module use.
48409
48410 2007-04-27  Bruno Haible  <bruno@clisp.org>
48411
48412         * doc/headers/*.texi: New files.
48413         * doc/gnulib.texi (Header File Substitutes): New chapter.
48414         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
48415         dependencies.
48416         (standards.info ,standards.html, standards.dvi): Update dependencies.
48417         (mostlyclean, clean): New targets.
48418
48419 2007-04-27  Bruno Haible  <bruno@clisp.org>
48420
48421         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
48422         * modules/sysexits (Files, Makefile.am): Update.
48423
48424         * lib/sys_socket_.h: Renamed from lib/socket_.h.
48425         * modules/sys_socket (Files, Makefile.am): Update.
48426
48427         * lib/sys_stat_.h: Renamed from lib/stat_.h.
48428         * modules/sys_stat (Files, Makefile.am): Update.
48429
48430 2007-04-27  Eric Blake  <ebb9@byu.net>
48431
48432         * lib/freading.h: Improve comments.
48433         * lib/fwriting.h: Likewise.
48434         * lib/fflush.c: Likewise.
48435
48436         Fix closein for mingw.
48437         * modules/closein-tests: Add tests for closein.
48438         * tests/test-closein.c: New file.
48439         * tests/test-closein.sh: Likewise.
48440         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
48441         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
48442
48443 2007-04-27  Bruno Haible  <bruno@clisp.org>
48444
48445         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
48446         version is < 6.
48447         * lib/math_.h [__DECC]: Likewise.
48448         * lib/stdio_.h [__DECC]: Likewise.
48449         * lib/stdlib_.h [__DECC]: Likewise.
48450         * lib/string_.h [__DECC]: Likewise.
48451         * lib/time_.h [__DECC]: Likewise.
48452         * lib/wchar_.h [__DECC]: Likewise.
48453         * lib/wctype_.h [__DECC]: Likewise.
48454
48455 2007-04-27  Bruno Haible  <bruno@clisp.org>
48456
48457         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
48458
48459 2007-04-27  Bruno Haible  <bruno@clisp.org>
48460
48461         * lib/fflush.c: Add comments.
48462         * modules/fpurge-tests (Depends-on): Add fflush.
48463         * modules/freadable-tests (Depends-on): Likewise.
48464         * modules/fwritable-tests (Depends-on): Likewise.
48465
48466 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
48467
48468         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
48469         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
48470         Report by Bruno Haible <bruno@clisp.org>.
48471
48472 2007-04-26  Eric Blake  <ebb9@byu.net>
48473
48474         Fix fflush on mingw.
48475         * modules/fflush (Depends-on): Add freading.
48476         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
48477         but unread data.
48478
48479 2007-04-26  Eric Blake  <ebb9@byu.net>
48480         and Bruno Haible  <bruno@clisp.org>
48481
48482         Implement freading and fwriting.
48483         * lib/freading.c: New file.
48484         * lib/freading.h: Likewise.
48485         * m4/freading.m4: Likewise.
48486         * modules/freading: Likewise.
48487         * modules/freading-tests: Likewise.
48488         * tests/test-freading.c: Likewise.
48489         * lib/fwriting.c: New file.
48490         * lib/fwriting.h: Likewise.
48491         * m4/fwriting.m4: Likewise.
48492         * modules/fwriting: Likewise.
48493         * modules/fwriting-tests: Likewise.
48494         * tests/test-fwriting.c: Likewise.
48495         * MODULES.html.sh (File stream based Input/Output): Mention them.
48496
48497 2007-04-26  Bruno Haible  <bruno@clisp.org>
48498
48499         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
48500         'long' when we assume it.
48501         Suggested by Eric Blake.
48502
48503 2007-04-26  Bruno Haible  <bruno@clisp.org>
48504
48505         Ensure fseeko, ftello are declared on glibc systems.
48506         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
48507         * modules/fseeko (configure.ac-early): Likewise.
48508         * modules/ftello (configure.ac-early): Likewise.
48509         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
48510         AC_FUNC_FSEEKO for this.
48511         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
48512         (gl_CHECK_FSEEKO): Remove macro.
48513
48514 2007-04-26  Bruno Haible  <bruno@clisp.org>
48515
48516         * tests/test-fflush.c (main): Also check the ftell result after
48517         fflush and fseek/fseeko.
48518         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
48519         file descriptor position cache in the stream.
48520         * lib/fseeko.c (rpl_fseeko): Likewise.
48521
48522 2007-04-26  Bruno Haible  <bruno@clisp.org>
48523
48524         * modules/fflush-tests (Depends-on): Add fseeko.
48525
48526 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
48527             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48528
48529         * lib/argz_.h: ensure error_t definition is obtained in same
48530         mechanism system argz.h would have.
48531         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
48532         argz facilities are known bad.  Err on the side of caution if
48533         cross-compiling.
48534
48535 2007-04-25  Eric Blake  <ebb9@byu.net>
48536
48537         * lib/fpurge.c (includes): Use stdlib.h for free.
48538         * tests/test-fflush.c (main): Also test fflush-fseeko.
48539
48540 2007-04-25  Bruno Haible  <bruno@clisp.org>
48541
48542         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
48543         * lib/fseeko.c: New file.
48544         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
48545         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
48546         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
48547         gl_FUNC_FSEEKO.
48548         (gl_FUNC_FSEEKO): Invoke it.
48549         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
48550         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
48551         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
48552
48553 2007-04-25  Bruno Haible  <bruno@clisp.org>
48554
48555         * modules/fflush (Depends-on): Add ftello.
48556
48557 2007-04-25  Bruno Haible  <bruno@clisp.org>
48558
48559         * modules/ftello-tests: New file.
48560         * tests/test-ftello.c: New file.
48561
48562         * modules/ftello: New file.
48563         * m4/ftello.m4: New file.
48564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
48565         HAVE_FTELLO.
48566         * lib/stdio_.h (ftello): New declaration.
48567         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
48568         HAVE_FTELLO.
48569
48570 2007-04-25  Bruno Haible  <bruno@clisp.org>
48571
48572         * modules/fseeko-tests: New file.
48573         * tests/test-fseeko.c: New file.
48574
48575         * modules/fseeko: New file.
48576         * m4/fseeko.m4: New file.
48577         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
48578         HAVE_FSEEKO.
48579         * lib/stdio_.h (fseeko): New declaration.
48580         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
48581         HAVE_FSEEKO.
48582
48583 2007-04-25  Bruno Haible  <bruno@clisp.org>
48584
48585         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
48586
48587 2007-04-25  Bruno Haible  <bruno@clisp.org>
48588
48589         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
48590         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
48591         * tests/test-unistd.c: Likewise.
48592         * tests/test-fcntl.c: Likewise.
48593
48594 2007-04-23  Eric Blake  <ebb9@byu.net>
48595
48596         * lib/fflush.c: Fix missing include.
48597         Reported by Bruno Haible.
48598
48599 2007-04-23  Bruno Haible  <bruno@clisp.org>
48600
48601         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
48602         Reported by Eric Blake.
48603
48604 2007-04-23  Bruno Haible  <bruno@clisp.org>
48605
48606         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
48607
48608 2007-04-23  Bruno Haible  <bruno@clisp.org>
48609
48610         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
48611
48612 2007-04-23  Bruno Haible  <bruno@clisp.org>
48613
48614         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
48615         Needed on HP-UX 11.
48616
48617 2007-04-16  Eric Blake  <ebb9@byu.net>
48618
48619         Make fflush rely on fpurge.
48620         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
48621         open coding all variants.
48622         * modules/fflush (Depends-on): Add fpurge and unistd.
48623         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
48624         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
48625
48626         Fix --with-tests compilation on cygwin.
48627         * modules/argmatch-tests (Makefile.am): List gnulib library first
48628         in LDADD.
48629         * modules/argp-tests (Makefile.am): Likewise.
48630         * modules/array-list-tests (Makefile.am): Likewise.
48631         * modules/array-oset-tests (Makefile.am): Likewise.
48632         * modules/avltree-list-tests (Makefile.am): Likewise.
48633         * modules/avltree-oset-tests (Makefile.am): Likewise.
48634         * modules/avltreehash-list-tests (Makefile.am): Likewise.
48635         * modules/carray-list-tests (Makefile.am): Likewise.
48636         * modules/dirname-tests (Makefile.am): Likewise.
48637         * modules/frexp-tests (Makefile.am): Likewise.
48638         * modules/isnanl-tests (Makefile.am): Likewise.
48639         * modules/linked-list-tests (Makefile.am): Likewise.
48640         * modules/linkedhash-list-tests (Makefile.am): Likewise.
48641         * modules/lock-tests (Makefile.am): Likewise.
48642         * modules/rbtree-list-tests (Makefile.am): Likewise.
48643         * modules/rbtree-oset-tests (Makefile.am): Likewise.
48644         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
48645         * modules/tls-tests (Makefile.am): Likewise.
48646         * modules/tsearch-tests (Makefile.am): Likewise.
48647         * modules/xvasprintf-tests (Makefile.am): Likewise.
48648
48649         Fix fpurge for cygwin.
48650         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
48651         value.
48652         * modules/fpurge-tests (Depends-on): Clean up trash.
48653
48654 2007-04-16  Simon Josefsson  <simon@josefsson.org>
48655
48656         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
48657
48658         * m4/autobuild.m4: Re-indent.
48659
48660 2007-04-13  Bruno Haible  <bruno@clisp.org>
48661
48662         * modules/fpurge-tests: New file.
48663         * tests/test-fpurge.c: New file.
48664
48665         * modules/fpurge: New file.
48666         * lib/fpurge.h: New file.
48667         * lib/fpurge.c: New file.
48668         * m4/fpurge.m4: New file.
48669
48670 2007-04-13  Bruno Haible  <bruno@clisp.org>
48671
48672         * modules/fbufmode-tests: New file.
48673         * tests/test-fbufmode.c: New file.
48674
48675         * modules/fbufmode: New file.
48676         * lib/fbufmode.h: New file.
48677         * lib/fbufmode.c: New file.
48678         * m4/fbufmode.m4: New file.
48679
48680 2007-04-13  Bruno Haible  <bruno@clisp.org>
48681
48682         * modules/fwritable-tests: New file.
48683         * tests/test-fwritable.c: New file.
48684
48685         * modules/fwritable: New file.
48686         * lib/fwritable.h: New file.
48687         * lib/fwritable.c: New file.
48688         * m4/fwritable.m4: New file.
48689
48690 2007-04-13  Bruno Haible  <bruno@clisp.org>
48691
48692         * modules/freadable-tests: New file.
48693         * tests/test-freadable.c: New file.
48694
48695         * modules/freadable: New file.
48696         * lib/freadable.h: New file.
48697         * lib/freadable.c: New file.
48698         * m4/freadable.m4: New file.
48699
48700 2007-04-13  Bruno Haible  <bruno@clisp.org>
48701
48702         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48703         MOSTLYCLEANFILES.
48704
48705 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48706
48707         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48708         gzip bootstrap.conf to avoid dragging in i18n machinery.
48709         (gnulib_tool_option): Use it.
48710
48711 2007-04-13  Bruno Haible  <bruno@clisp.org>
48712
48713         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48714         %F directives.
48715         * tests/test-vasprintf-posix.c (test_function): Likewise.
48716         * tests/test-snprintf-posix.h (test_function): Likewise.
48717         * tests/test-sprintf-posix.h (test_function): Likewise.
48718         * tests/test-fprintf-posix.h (test_function): Likewise.
48719         * tests/test-printf-posix.h (test_function): Likewise.
48720         * tests/test-fprintf-posix.out: Likewise.
48721
48722 2007-04-13  Bruno Haible  <bruno@clisp.org>
48723
48724         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48725         * modules/tls-tests (configure.ac): Likewise.
48726         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48727
48728 2007-04-13  Bruno Haible  <bruno@clisp.org>
48729
48730         * lib/tls.c (glthread_tls_get): Fix return type.
48731         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48732
48733 2007-04-12  Eric Blake  <ebb9@byu.net>
48734
48735         * modules/gettime (Depends-on): Remove gettime.
48736         Reported by Dmitry V. Levin.
48737
48738 2007-04-12  Bruno Haible  <bruno@clisp.org>
48739
48740         * modules/fflush (Include): Mention <stdio.h>.
48741         * modules/strtoimax (Include): Mention <inttypes.h>.
48742         * modules/strtoumax (Include): Likewise.
48743
48744 2007-04-12  Eric Blake  <ebb9@byu.net>
48745
48746         * .cvsignore: New file.
48747         * .gitignore: Likewise.
48748
48749 2007-04-12  Bruno Haible  <bruno@clisp.org>
48750
48751         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48752         not before, since $(LDADD) often contains libgnu.a.
48753         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48754         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48755         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48756         Needed on Cygwin.
48757
48758 2007-04-12  Eric Blake  <ebb9@byu.net>
48759
48760         Work around glibc's failure to flush stdin on fclose.
48761         * lib/closein.c (close_stdin): Flush stdin before closing.
48762
48763         Work around glibc's failure to reset seekable stdin on exit.
48764         * modules/closein: New module.
48765         * lib/closein.c: New file.
48766         * lib/closein.h: Likewise.
48767         * m4/closein.m4: Likewise.
48768         * MODULES.html.sh (File stream based Input/Output): Document it.
48769
48770 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48771
48772         * gnulib-tool: Rename generated 'autobuild' script to
48773         'do-autobuild' in --create-megatestdir output.
48774
48775         * doc/gnulib.texi (Build robot for gnulib): Fix.
48776
48777 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48778
48779         * modules/sysexits (Depends-on): Add absolute-header.
48780
48781 2007-04-12  Eric Blake  <ebb9@byu.net>
48782
48783         No need to preserve errno on success.
48784         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48785         Reported by Bruno Haible.
48786
48787 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48788
48789         * MODULES.html.sh (Support for maintaining and releasing
48790         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48791
48792 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48793
48794         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48795
48796 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48797
48798         * modules/autobuild: New module.
48799
48800         * m4/autobuild.m4: New file.
48801
48802 2007-04-11  Bruno Haible  <bruno@clisp.org>
48803
48804         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48805         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48806         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48808         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48809         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48810         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48811         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48812         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48813         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48814         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48815         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48816         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48817         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48818         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48819         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48820         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48821         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48822         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48823         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48824         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48825         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48826         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48827         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48828         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48830         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48831         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48832         Reported by Eric Blake.
48833
48834 2007-04-11  Bruno Haible  <bruno@clisp.org>
48835
48836         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48837
48838 2007-04-10  Bruno Haible  <bruno@clisp.org>
48839
48840         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48841         for NaN and Infinity. Needed on FreeBSD 6.1.
48842         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48843         regarding results for "%010a" of Infinity and NaN.
48844         * tests/test-vasprintf-posix.c (test_function): Likewise.
48845         * tests/test-snprintf-posix.h (test_function): Likewise.
48846         * tests/test-sprintf-posix.h (test_function): Likewise.
48847         * tests/test-fprintf-posix.h (test_function): Likewise.
48848         * tests/test-printf-posix.h (test_function): Likewise.
48849         * tests/test-fprintf-posix.out: Likewise.
48850
48851 2007-04-10  Bruno Haible  <bruno@clisp.org>
48852
48853         * modules/locale-tests: New file.
48854         * tests/test-locale.c: New file.
48855
48856         * modules/locale: New file.
48857         * lib/locale_.h: New file.
48858         * m4/locale_h.m4: New file.
48859
48860 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48861             Bruno Haible  <bruno@clisp.org>
48862
48863         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48864         be determined, test for availability of the copysignf, copysign,
48865         copysignl functions.
48866         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48867         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48868         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48869
48870 2007-04-09  Eric Blake  <ebb9@byu.net>
48871
48872         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48873         * modules/stdio (Makefile.am): Support fflush.
48874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48875         * modules/fflush: New file.
48876         * lib/fflush.c: Likewise.
48877         * m4/fflush.m4: Likewise.
48878         * modules/fflush-tests: New test.
48879         * tests/test-fflush.c: Likewise.
48880         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48881
48882 2007-04-06  Bruno Haible  <bruno@clisp.org>
48883
48884         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48885         (VASNPRINTF): Use signbit for faster determination whether to print a
48886         minus sign.
48887         * modules/vasnprintf (Files): Remove lib/float+.h.
48888         * modules/fprintf-posix (Depends-on): Add signbit.
48889         * modules/snprintf-posix (Depends-on): Likewise.
48890         * modules/sprintf-posix (Depends-on): Likewise.
48891         * modules/vasnprintf-posix (Depends-on): Likewise.
48892         * modules/vasprintf-posix (Depends-on): Likewise.
48893         * modules/vfprintf-posix (Depends-on): Likewise.
48894         * modules/vsnprintf-posix (Depends-on): Likewise.
48895         * modules/vsprintf-posix (Depends-on): Likewise.
48896
48897 2007-04-06  Bruno Haible  <bruno@clisp.org>
48898
48899         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48900         * tests/test-frexpl.c (main): Likewise.
48901         * tests/test-ldexpl.c (main): Likewise.
48902         * modules/frexp-tests (Depends-on): Add signbit.
48903         * modules/frexpl-tests (Depdends-on): Likewise.
48904         * modules/ldexpl-tests (Depdends-on): Likewise.
48905
48906 2007-04-06  Bruno Haible  <bruno@clisp.org>
48907
48908         * modules/signbit-tests: New file.
48909         * tests/test-signbit.c: New file.
48910
48911         * modules/signbit: New file.
48912         * lib/signbitf.c: New file.
48913         * lib/signbitd.c: New file.
48914         * lib/signbitl.c: New file.
48915         * m4/signbit.m4: New file.
48916         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48917         (signbit): New macro.
48918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48919         REPLACE_SIGNBIT.
48920         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
48921         REPLACE_FREXPL into math.h.
48922
48923 2007-04-06  Bruno Haible  <bruno@clisp.org>
48924
48925         * modules/isnanf-nolibm-tests: New file.
48926         * tests/test-isnanf.c: New file.
48927
48928         * modules/isnanf-nolibm: New file.
48929         * lib/isnanf.h: New file.
48930         * lib/isnanf.c: New file.
48931         * lib/isnan.c: Consider the USE_FLOAT macro.
48932         * m4/isnanf.m4: New file.
48933
48934 2007-04-06  Bruno Haible  <bruno@clisp.org>
48935
48936         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
48937         (Link): New section.
48938
48939         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
48940
48941 2007-04-06  Bruno Haible  <bruno@clisp.org>
48942
48943         Assume the 'long double' type.
48944         * m4/longdouble.m4: Remove file.
48945         * config/srclist.txt: Don't mention longdouble.m4.
48946         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
48947         * lib/float+.h: Likewise.
48948         * lib/frexp.c: Likewise.
48949         * lib/printf-args.h: Likewise.
48950         * lib/printf-args.c: Likewise.
48951         * lib/printf-frexp.c: Likewise.
48952         * lib/printf-parse.c: Likewise.
48953         * lib/vasnprintf.c: Likewise.
48954         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
48955         * m4/intl.m4: Likewise.
48956         * m4/isnanl.m4: Likewise.
48957         * m4/printf.m4: Likewise.
48958         * m4/printf-frexpl.m4: Likewise.
48959         * m4/vasnprintf.m4: Likewise.
48960         * modules/allocsa (Files): Remove m4/longdouble.m4.
48961         * modules/gettext (Files): Likewise.
48962         * modules/relocatable-prog-wrapper (Files): Likewise.
48963         * modules/vasnprintf (Files): Likewise.
48964         * modules/isnanl (Files): Likewise.
48965         (Include): Simplify.
48966         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
48967         (Include): Simplify.
48968         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
48969         (Include): Simplify.
48970         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
48971         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48972         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
48973         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48974         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48975         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48976         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
48977         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48978         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48979         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48980         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
48981         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48982         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
48983         * tests/test-isnanl.c: Likewise.
48984         * tests/test-snprintf-posix.h: Likewise.
48985         * tests/test-sprintf-posix.h: Likewise.
48986         * tests/test-vasnprintf-posix.c: Likewise.
48987         * tests/test-vasnprintf-posix2.c: Likewise.
48988         * tests/test-vasprintf-posix.c: Likewise.
48989
48990 2007-04-06  Bruno Haible  <bruno@clisp.org>
48991
48992         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
48993         * lib/math_.h [__DECC]: Include the overridden include file through
48994         #include_next, outside the double-inclusion guard.
48995         * lib/stdio_.h [__DECC]: Likewise.
48996         * lib/stdlib_.h [__DECC]: Likewise.
48997         * lib/string_.h [__DECC]: Likewise.
48998         * lib/time_.h [__DECC]: Likewise.
48999         * lib/wchar_.h [__DECC]: Likewise.
49000         * lib/wctype_.h [__DECC]: Likewise.
49001         * lib/inttypes_.h [__DECC]: Likewise.
49002         Reported by Albert Chin <china@thewrittenword.com> in
49003         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
49004
49005 2007-04-04  Eric Blake  <ebb9@byu.net>
49006
49007         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
49008         1.5.x.
49009
49010 2007-04-04  Bruno Haible  <bruno@clisp.org>
49011
49012         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
49013         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
49014
49015 2007-04-04  Bruno Haible  <bruno@clisp.org>
49016
49017         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
49018         results for "%010a" of Infinity and NaN.
49019         * tests/test-vasprintf-posix.c (test_function): Likewise.
49020         * tests/test-snprintf-posix.h (test_function): Likewise.
49021         * tests/test-sprintf-posix.h (test_function): Likewise.
49022         * tests/test-fprintf-posix.h (test_function): Remove these tests.
49023         * tests/test-printf-posix.h (test_function): Likewise.
49024         * tests/test-fprintf-posix.out: Update.
49025         Needed for FreeBSD 6.1.
49026
49027 2007-04-04  Bruno Haible  <bruno@clisp.org>
49028
49029         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
49030         directly used by the gnulib modules nor by gnulib-tool.
49031
49032 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49033
49034         * DEPENDENCIES: Give overall description of version dependency
49035         desirability.  Use more-typical names for apps.
49036         Add shell, coreutils, diffutils, grep, tar, gzip.
49037
49038 2007-04-04  Simon Josefsson  <simon@josefsson.org>
49039
49040         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
49041
49042 2007-04-04  Karl Berry  <karl@gnu.org>
49043
49044         * MODULES.html.sh (func_module): missing '.
49045
49046 2007-04-03  Bruno Haible  <bruno@clisp.org>
49047
49048         * modules/argmatch-tests (Makefile.am): New variable
49049         test_argmatch_LDADD.
49050         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
49051         * modules/array-list-tests (Makefile.am): New variable
49052         test_array_list_LDADD.
49053         * modules/array-oset-tests (Makefile.am): New variable
49054         test_array_oset_LDADD.
49055         * modules/avltree-list-tests (Makefile.am): New variable
49056         test_avltree_list_LDADD.
49057         * modules/avltree-oset-tests (Makefile.am): New variable
49058         test_avltree_oset_LDADD.
49059         * modules/avltreehash-list-tests (Makefile.am): New variable
49060         test_avltreehash_list_LDADD.
49061         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
49062         test_canonicalize_lgpl_LDADD.
49063         * modules/carray-list-tests (Makefile.am): New variable
49064         test_carray_list_LDADD.
49065         * modules/dirname-tests (Makefile.am): New variable
49066         test_dirname_LDADD.
49067         * modules/linked-list-tests (Makefile.am): New variable
49068         test_linked_list_LDADD.
49069         * modules/linkedhash-list-tests (Makefile.am): New variable
49070         test_linkedhash_list_LDADD.
49071         * modules/rbtree-list-tests (Makefile.am): New variable
49072         test_rbtree_list_LDADD.
49073         * modules/rbtree-oset-tests (Makefile.am): New variable
49074         test_rbtree_oset_LDADD.
49075         * modules/rbtreehash-list-tests (Makefile.am): New variable
49076         test_rbtreehash_list_LDADD.
49077         * modules/xvasprintf-tests (Makefile.am): New variable
49078         test_xvasprintf_LDADD.
49079         Reported by Eric Blake.
49080
49081 2007-04-03  Eric Blake  <ebb9@byu.net>
49082
49083         * DEPENDENCIES: Weaken m4 requirements.
49084
49085 2007-04-03  Bruno Haible  <bruno@clisp.org>
49086
49087         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
49088         * modules/isnanl-tests (configure.ac): Likewise.
49089
49090 2007-04-03  Ben Pfaff  <blp@gnu.org>
49091
49092         * modules/iconv_open: Add $(srcdir)/ to source directory
49093         references in Makefile fragments that call gperf, to fix VPATH
49094         builds.
49095
49096 2007-04-03  Bruno Haible  <bruno@clisp.org>
49097
49098         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
49099         * lib/ldexpl.c: Undo last change.
49100
49101 2007-04-03  Bruno Haible  <bruno@clisp.org>
49102
49103         * modules/printf-frexpl (Depends-on): Undo last change.
49104         (Files): Add m4/ldexpl.m4.
49105
49106 2007-04-03  Bruno Haible  <bruno@clisp.org>
49107
49108         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
49109         * modules/isnanl (Link): New section.
49110
49111         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
49112         * modules/frexp (Link): New section.
49113
49114         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
49115         * modules/frexpl (Link): New section.
49116
49117         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
49118         * modules/ldexpl (Link): New section.
49119
49120 2007-04-03  Bruno Haible  <bruno@clisp.org>
49121
49122         * modules/TEMPLATE-EXTENDED: New file.
49123         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
49124
49125 2007-04-03  Bruno Haible  <bruno@clisp.org>
49126
49127         * DEPENDENCIES: New file.
49128         Suggested by Simon Josefsson.
49129
49130 2007-04-03  Bruno Haible  <bruno@clisp.org>
49131
49132         * doc/gnulib.texi: Escape @.
49133
49134 2007-04-03  James Youngman  <jay@gnu.org>
49135         and Paul Eggert  <eggert@cs.ucla.edu>
49136
49137         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
49138         birthtime on all systems that have birthtime, not just those which
49139         use st_birthtimensec rather than st_birthtim.  Putting zero in
49140         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
49141         that the birth time is not available for files on an NFS mount.
49142
49143 2007-04-03  Simon Josefsson  <simon@josefsson.org>
49144
49145         * modules/memxor: Move back from crypto/, suggested by Bruno.
49146         * modules/crypto/hmac-sha1: Fix memxor dependency.
49147
49148         * modules/crypto/gc: Moved from ../.
49149
49150 2007-04-02  Eric Blake  <ebb9@byu.net>
49151
49152         * lib/ldexpl.c (includes): Avoid libm.
49153
49154         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
49155
49156 2007-04-02  Bruno Haible  <bruno@clisp.org>
49157
49158         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
49159         on IRIX.
49160
49161 2007-04-02  Bruno Haible  <bruno@clisp.org>
49162
49163         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
49164         x86 or x86_64 platforms running MacOS X.
49165         Reported by Ryan Schmidt <@ryandesign.com>.
49166
49167 2007-04-02  Bruno Haible  <bruno@clisp.org>
49168
49169         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
49170         i386.
49171
49172 2007-04-01  Simon Josefsson  <simon@josefsson.org>
49173
49174         * modules/crypto/arcfour: Moved from ../.
49175         * modules/crypto/arcfour-tests: Moved from ../.
49176         * modules/crypto/arctwo: Moved from ../.
49177         * modules/crypto/arctwo-tests: Moved from ../.
49178         * modules/crypto/des: Moved from ../.
49179         * modules/crypto/des-tests: Moved from ../.
49180         * modules/crypto/gc-arcfour: Moved from ../.
49181         * modules/crypto/gc-arcfour-tests: Moved from ../.
49182         * modules/crypto/gc-arctwo: Moved from ../.
49183         * modules/crypto/gc-arctwo-tests: Moved from ../.
49184         * modules/crypto/gc-des: Moved from ../.
49185         * modules/crypto/gc-des-tests: Moved from ../.
49186         * modules/crypto/gc-hmac-md5: Moved from ../.
49187         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
49188         * modules/crypto/gc-hmac-sha1: Moved from ../.
49189         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
49190         * modules/crypto/gc-md2: Moved from ../.
49191         * modules/crypto/gc-md2-tests: Moved from ../.
49192         * modules/crypto/gc-md4: Moved from ../.
49193         * modules/crypto/gc-md4-tests: Moved from ../.
49194         * modules/crypto/gc-md5: Moved from ../.
49195         * modules/crypto/gc-md5-tests: Moved from ../.
49196         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
49197         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
49198         * modules/crypto/gc-random: Moved from ../.
49199         * modules/crypto/gc-rijndael: Moved from ../.
49200         * modules/crypto/gc-rijndael-tests: Moved from ../.
49201         * modules/crypto/gc-sha1: Moved from ../.
49202         * modules/crypto/gc-sha1-tests: Moved from ../.
49203         * modules/crypto/gc-tests: Moved from ../.
49204         * modules/crypto/hmac-md5: Moved from ../.
49205         * modules/crypto/hmac-md5-tests: Moved from ../.
49206         * modules/crypto/hmac-sha1: Moved from ../.
49207         * modules/crypto/hmac-sha1-tests: Moved from ../.
49208         * modules/crypto/md2: Moved from ../.
49209         * modules/crypto/md2-tests: Moved from ../.
49210         * modules/crypto/md4: Moved from ../.
49211         * modules/crypto/md4-tests: Moved from ../.
49212         * modules/crypto/md5: Moved from ../.
49213         * modules/crypto/md5-tests: Moved from ../.
49214         * modules/crypto/memxor: Moved from ../.
49215         * modules/crypto/rijndael: Moved from ../.
49216         * modules/crypto/rijndael-tests: Moved from ../.
49217         * modules/crypto/sha1: Moved from ../.
49218
49219 2007-03-30  James Youngman  <jay@gnu.org>
49220
49221         * tests/test-stat-time.c (prepare_test): use chmod() rather than
49222         rename() to change the ctime of a file (because ctime is unaffected
49223         by rename on jfs2 on AIX 5.1).
49224         (main): Start by doing cleanup, in case a previous run failed leaving
49225         test files behind.
49226
49227 2007-03-31  Bruno Haible  <bruno@clisp.org>
49228
49229         Support old proprietary implementations of iconv.
49230         * modules/iconv_open: New file.
49231         * lib/iconv_.h: New file.
49232         * m4/iconv_h.m4: New file.
49233         * lib/iconv_open.c: New file.
49234         * lib/iconv_open-aix.gperf: New file.
49235         * lib/iconv_open-hpux.gperf: New file.
49236         * lib/iconv_open-irix.gperf: New file.
49237         * lib/iconv_open-osf.gperf: New file.
49238         * m4/iconv_open.m4: New file.
49239         * modules/linebreak (Depends-on): Add iconv_open.
49240         * modules/striconv (Depends-on): Likewise.
49241         * modules/striconveh (Depends-on): Likewise.
49242         * modules/unicodeio (Depends-on): Likewise.
49243         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
49244         (iconv_t)(-1).
49245         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
49246         conversion if cd is (iconv_t)(-1).
49247         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
49248         is not possible.
49249
49250 2007-03-31  Bruno Haible  <bruno@clisp.org>
49251
49252         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49253         work on Solaris either. Protect also second use of "autodetect_jp".
49254
49255 2007-03-31  Bruno Haible  <bruno@clisp.org>
49256
49257         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
49258         the function is not present.
49259
49260 2007-03-31  Bruno Haible  <bruno@clisp.org>
49261
49262         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
49263         the function is not present.
49264
49265 2007-03-31  Bruno Haible  <bruno@clisp.org>
49266
49267         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
49268         a bug in HP-UX iconv_open().
49269
49270 2007-03-31  Bruno Haible  <bruno@clisp.org>
49271
49272         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
49273         (Mathematics <math.h>): New section, add fpieee.
49274         (Input/output <stdio.h>): Add fseterr.
49275         (Mathematics <math.h>): New section, add printf-frexp.
49276         (Container data structures): Add sublist.
49277         (Core language properties): Add fpucw, inline.
49278         (Functions for greatest-width integer types <inttypes.h>): Add
49279         imaxabs, imaxdiv, inttypes.
49280         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
49281         isnanl-nolibm, ldexp.
49282         (Mathematics <math.h>): New section, add printf-frexpl.
49283         (Support for systems lacking POSIX:2001): Add fprintf-posix,
49284         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
49285         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
49286         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
49287         (Unicode string functions): Add unistr/u*-mbtoucr.
49288         (Java): Add javacomp-script, javaexec-script.
49289         (C#): Add csharpcomp-script, csharpexec-script.
49290         (Support for building libraries and executables): Add havelib,
49291         relocatable-*.
49292         (Support for maintaining and releasing projects): Renamed from
49293         'Support for maintaining and release projects'. Add announce-gen.
49294
49295 2007-03-31  Bruno Haible  <bruno@clisp.org>
49296
49297         * README: Talk primarily about git.
49298         (git and CVS): Renamed from CVS.
49299         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
49300         gnulib is available through git.
49301         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
49302
49303 2007-03-30  Bruno Haible  <bruno@clisp.org>
49304
49305         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
49306         * lib/poll_.h: Likewise.
49307         * lib/stat_.h: Likewise.
49308         * lib/sys_time_.h: Likewise.
49309         * lib/sysexit_.h: Likewise.
49310         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
49311         * lib/stdbool_.h: Likewise.
49312         * lib/byteswap_.h: Add double-inclusion guard.
49313
49314 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
49315
49316         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
49317
49318 2007-03-30  Karl Berry  <karl@gnu.org>
49319
49320         * config/srclist-update: double space after USA in the license
49321         substitution, since that's how it's usually (?) written.
49322
49323 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
49324
49325         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
49326         reported by Bruno Haible.
49327
49328 2007-03-29  Bruno Haible  <bruno@clisp.org>
49329
49330         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
49331         a bug in AIX iconv().
49332
49333 2007-03-29  Bruno Haible  <bruno@clisp.org>
49334
49335         * modules/ldexpl-tests: New file.
49336         * tests/test-ldexpl.c: New file.
49337
49338 2007-03-29  Bruno Haible  <bruno@clisp.org>
49339
49340         * lib/ldexpl.c: Include fpucw.h.
49341         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
49342         multiplication.
49343         * modules/ldexpl (Depends-on): Add fpucw.
49344
49345 2007-03-29  Bruno Haible  <bruno@clisp.org>
49346
49347         * modules/ldexpl: New file.
49348         * m4/ldexpl.m4: New file.
49349         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
49350         set.
49351         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
49352         REPLACE_LDEXPL.
49353         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
49354         REPLACE_LDEXPL.
49355         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49356         gl_FUNC_LDEXPL_WORKS.
49357         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
49358         * modules/mathl (Files): Remove lib/ldexpl.c.
49359         (Depends-on): Add ldexpl.
49360
49361 2007-03-29  Bruno Haible  <bruno@clisp.org>
49362
49363         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
49364
49365 2007-03-29  Bruno Haible  <bruno@clisp.org>
49366
49367         * tests/test-striconveh.c (main): Don't assume that a direct conversion
49368         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
49369         and possibly also HP-UX.
49370         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49371         work on AIX, IRIX, HP-UX, OSF/1.
49372         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
49373         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
49374         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
49375         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
49376         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
49377         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
49378
49379 2007-03-29  Bruno Haible  <bruno@clisp.org>
49380
49381         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
49382
49383 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49384
49385         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
49386         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
49387
49388 2007-03-29  Eric Blake  <ebb9@byu.net>
49389
49390         * lib/acl-internal.h: Remove redundant include.
49391         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
49392         Cygwin when a file is locked.
49393
49394 2007-03-29  Bruno Haible  <bruno@clisp.org>
49395
49396         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
49397         file.
49398         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
49399
49400 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49401
49402         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
49403         try to remove a parent directory if the child couldn't be removed
49404         (except for the first rmdir, which could fail because the child
49405         doesn't exist).  Problem reported by Jeff Blaine in
49406         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
49407
49408 2007-03-28  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/striconveh.c (utf8conv_carefully): New function.
49411         (mem_cd_iconveh_internal): Invoke it.
49412
49413 2007-03-28  Bruno Haible  <bruno@clisp.org>
49414
49415         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
49416         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
49417         input.
49418         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
49419         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
49420         unistr/u8-uctomb.
49421
49422 2007-03-28  Bruno Haible  <bruno@clisp.org>
49423
49424         * modules/unistr/u8-mbtoucr: New file.
49425         * lib/unistr/u8-mbtoucr.c: New file.
49426         * modules/unistr/u16-mbtoucr: New file.
49427         * lib/unistr/u16-mbtoucr.c: New file.
49428         * modules/unistr/u16-mbtoucr: New file.
49429         * lib/unistr/u16-mbtoucr.c: New file.
49430         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
49431
49432 2007-03-27  Simon Josefsson  <simon@josefsson.org>
49433             Bruno Haible  <bruno@clisp.org>
49434
49435         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
49436         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
49437         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
49438
49439         * m4/stdio_h.m4: Add stubs for vasprintf too.
49440
49441         * modules/stdio: Support vasprintf in sed command.
49442
49443         * modules/vasprintf: Depend on stdio for prototypes.  Remove
49444         vasprintf.h.  Add stdio module indicator.
49445
49446         * lib/stdio_.h: Declare asprintf and vasprintf, based on
49447         vasprintf.h.
49448
49449         * lib/vasprintf.h: File removed.
49450
49451         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
49452         * lib/vasprintf.c: Ditto.
49453         * lib/xvasprintf.c: Ditto.
49454         * tests/test-vasprintf-posix.c: Ditto.
49455         * tests/test-vasprintf.c: Ditto.
49456
49457 2007-03-27  Bruno Haible  <bruno@clisp.org>
49458
49459         Make vasnprintf multithread-safe.
49460         * lib/vasnprintf.c (decimal_point_char): New function.
49461         (VASNPRINTF): Use it.
49462         Suggested by Simon Josefsson.
49463
49464 2007-03-27  Eric Blake  <ebb9@byu.net>
49465
49466         Support sub-second birthtime on cygwin.
49467         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
49468         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
49469         (get_stat_birthtime): Also work with st_birthtim.
49470
49471 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
49472
49473         * lib/stat-time.h (USE_BIRTHTIME): Remove.
49474         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
49475         (get_stat_birthtime_ns): Do not try to use "spare" fields.
49476         (get_stat_birthtime_ns): Simplify compile-time tests.
49477         (get_stat_birthtime): Change the API to look like
49478         get_stat_mtime etc., except return a negative tv_nsec on error.
49479         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
49480         Don't check for "spare" fields.
49481         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
49482         or for struct stat.st_birthtime, as these tests aren't used.
49483         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
49484
49485 2007-03-27  Bruno Haible  <bruno@clisp.org>
49486
49487         * lib/stat-time.h: Include <sys/stat.h>.
49488
49489 2007-03-27  James Youngman  <jay@gnu.org>
49490
49491         * lib/stat-time.h (get_stat_birthtime): New function for
49492           retrieving st_birthtime as provided by UFS2 (hence *BSD).
49493         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
49494           and its variants.
49495         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
49496         * modules/stat-time-test: New file.
49497         * tests/test-stat-time.c: New test, devised by Bruno Haible.
49498
49499 2007-03-26  Bruno Haible  <bruno@clisp.org>
49500
49501         Better support of signalling NaNs.
49502         * lib/atanl.c: Include isnanl.h.
49503         (atanl): Perform test for NaN at the beginning of the function and
49504         through a call to isnanl.
49505         * lib/cosl.c: Include isnanl.h.
49506         (cosl): Perform test for NaN at the beginning of the function and
49507         through a call to isnanl.
49508         * lib/ldexpl.c: Include isnanl.h.
49509         (ldexpl): Perform test for NaN through a call to isnanl.
49510         * lib/logl.c: Include isnanl.h.
49511         (logl): Perform test for NaN at the beginning of the function and
49512         through a call to isnanl.
49513         * lib/sinl.c: Include isnanl.h.
49514         (sinl): Perform test for NaN at the beginning of the function and
49515         through a call to isnanl.
49516         * lib/sqrtl.c: Include isnanl.h.
49517         (sqrtl): Perform test for NaN at the beginning of the function and
49518         through a call to isnanl.
49519         * lib/tanl.c: Include isnanl.h.
49520         (tanl): Perform test for NaN at the beginning of the function and
49521         through a call to isnanl.
49522         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
49523         * modules/mathl (Depends-on): Add isnanl.
49524
49525 2007-03-26  Eric Blake  <ebb9@byu.net>
49526
49527         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
49528         regression in logic sense of previous patch.
49529
49530 2007-03-26  Bruno Haible  <bruno@clisp.org>
49531
49532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
49533         unportable shell command "if ! ...".
49534         Reported by Ralf Wildenhues.
49535
49536 2007-03-25  Bruno Haible  <bruno@clisp.org>
49537
49538         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
49539         <sysexits.h> file, and only add EX_CONFIG.
49540         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
49541         absolute file name and whether it is sufficient. Substitute also
49542         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
49543         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
49544         ABSOLUTE_SYSEXITS_H into sysexits.h.
49545
49546 2007-03-25  Bruno Haible  <bruno@clisp.org>
49547
49548         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
49549         hints is NULL.
49550
49551 2007-03-25  Bruno Haible  <bruno@clisp.org>
49552
49553         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
49554         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
49555
49556 2007-03-25  Bruno Haible  <bruno@clisp.org>
49557
49558         * lib/vasnprintf.c: Include langinfo.h.
49559         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
49560         multithread-safe.
49561         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
49562         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
49563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49564         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49566         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49567         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49568         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
49569         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49570         Reported by Simon Josefsson.
49571
49572 2007-03-25  Bruno Haible  <bruno@clisp.org>
49573
49574         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
49575         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
49576         * modules/vasnprintf (Depends-on): Add stdint.
49577
49578 2007-03-25  Bruno Haible  <bruno@clisp.org>
49579
49580         * modules/fpieee: New file.
49581         * m4/fpieee.m4: New file.
49582         * modules/isnan-nolibm (Depends-on): Add fpieee.
49583         * modules/isnanl-nolibm (Depends-on): Add fpieee.
49584         * modules/isnanl (Depends-on): Add fpieee.
49585
49586 2007-03-25  Bruno Haible  <bruno@clisp.org>
49587
49588         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
49589
49590 2007-03-25  Bruno Haible  <bruno@clisp.org>
49591
49592         Avoid test failures on IRIX 6.5.
49593         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
49594         (main): Use it.
49595         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
49596         macros.
49597         (main): Use them.
49598
49599 2007-03-25  Bruno Haible  <bruno@clisp.org>
49600
49601         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
49602         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
49603         exists but doesn't work.
49604         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
49605         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
49606         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
49607         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
49608
49609 2007-03-25  Bruno Haible  <bruno@clisp.org>
49610
49611         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
49612         returns inf. Needed on IRIX 6.5.
49613
49614 2007-03-25  Bruno Haible  <bruno@clisp.org>
49615
49616         * tests/test-frexpl.c: Include isnanl-nolibm.h.
49617         (main): Use isnanl instead of x != x idiom.
49618         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
49619
49620         * tests/test-frexp.c: Include isnan.h.
49621         (main): Use isnan instead of x != x idiom.
49622         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
49623
49624 2007-03-25  Bruno Haible  <bruno@clisp.org>
49625
49626         * tests/test-frexp.c (NaN): New function/macro.
49627         (main): Use it instead of 0.0 / 0.0.
49628         * tests/test-isnan.c (NaN): New function/macro.
49629         (main): Use it instead of 0.0 / 0.0.
49630         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
49631         (test_function): Use it instead of 0.0 / 0.0.
49632         * tests/test-vasprintf-posix.c (NaN): New function/macro.
49633         (test_function): Use it instead of 0.0 / 0.0.
49634         * tests/test-snprintf-posix.h (NaN): New function/macro.
49635         (test_function): Use it instead of 0.0 / 0.0.
49636         * tests/test-sprintf-posix.h (NaN): New function/macro.
49637         (test_function): Use it instead of 0.0 / 0.0.
49638         * tests/test-fprintf-posix.h (NaN): New function/macro.
49639         (test_function): Use it instead of 0.0 / 0.0.
49640         * tests/test-printf-posix.h (NaN): New function/macro.
49641         (test_function): Use it instead of 0.0 / 0.0.
49642
49643         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
49644
49645 2007-03-25  Bruno Haible  <bruno@clisp.org>
49646
49647         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
49648
49649 2007-03-25  Bruno Haible  <bruno@clisp.org>
49650
49651         * lib/regexec.c (merge_state_with_log): Make static.
49652
49653 2007-03-25  Bruno Haible  <bruno@clisp.org>
49654
49655         * lib/trigl.c (kernel_rem_pio2): Make static.
49656
49657 2007-03-25  Bruno Haible  <bruno@clisp.org>
49658
49659         * lib/sincosl.c (sincosl_table): Make static.
49660
49661 2007-03-25  Bruno Haible  <bruno@clisp.org>
49662
49663         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
49664         if the compiler does not support C99.
49665
49666 2007-03-25  Bruno Haible  <bruno@clisp.org>
49667
49668         * modules/time (Makefile.am): Ensure all rule action lines start with a
49669         tab.
49670
49671 2007-03-24  Bruno Haible  <bruno@clisp.org>
49672
49673         * modules/tsearch-tests: New file.
49674         * tests/test-tsearch.sh: New file.
49675         * tests/test-tsearch.c: New file, mostly copied from glibc.
49676
49677         * modules/search-tests: New file.
49678         * tests/test-search.c: New file.
49679
49680         * modules/search: New file.
49681         * lib/search_.h: New file, incorporating lib/tsearch.h.
49682         * m4/search_h.m4: New file.
49683         * lib/tsearch.h: Remove file.
49684         * lib/tsearch.c: Include search.h instead of tsearch.h.
49685         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49686         HAVE_TSEARCH.
49687         * modules/tsearch (Files): Remove lib/tsearch.h.
49688         (Depends-on): Add search.
49689         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49690         (Include): Change tsearch.h into search.h.
49691
49692 2007-03-24  Bruno Haible  <bruno@clisp.org>
49693
49694         * modules/fpucw: New file.
49695         * lib/fpucw.h: New file.
49696         * lib/frexp.c: Include fpucw.h.
49697         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49698         (FUNC): Use them.
49699         * lib/printf-frexp.c: Include fpucw.h.
49700         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49701         (FUNC): Use them.
49702         * lib/vasnprintf.c: Include fpucw.h.
49703         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49704         'long double' calculations.
49705         * tests/test-frexpl.c: Include fpucw.h.
49706         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49707         * tests/test-printf-frexpl.c: Include fpucw.h.
49708         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49709         * modules/frexpl (Depends-on): Add fpucw.
49710         * modules/printf-frexpl (Depends-on): Likewise.
49711         * modules/fprintf-posix (Depends-on): Likewise.
49712         * modules/snprintf-posix (Depends-on): Likewise.
49713         * modules/sprintf-posix (Depends-on): Likewise.
49714         * modules/vasnprintf-posix (Depends-on): Likewise.
49715         * modules/vasprintf-posix (Depends-on): Likewise.
49716         * modules/vfprintf-posix (Depends-on): Likewise.
49717         * modules/vsnprintf-posix (Depends-on): Likewise.
49718         * modules/vsprintf-posix (Depends-on): Likewise.
49719         * modules/frexpl-tests (Depends-on): Likewise.
49720         * modules/printf-frexpl-tests (Depends-on): Likewise.
49721
49722 2007-03-24  Bruno Haible  <bruno@clisp.org>
49723
49724         * lib/float+.h: New file.
49725         * lib/isnan.c: Include float+.h.
49726         (SIZE): New macro.
49727         (FUNC): Compare only SIZE bytes of the value.
49728         * lib/vasnprintf.c: Include float+.h.
49729         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49730         SIZEOF_LDBL or SIZEOF_DBL bytes.
49731         * modules/isnan-nolibm (Files): Add lib/float+.h.
49732         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49733         * modules/isnanl (Files): Add lib/float+.h.
49734         * modules/vasnprintf (Files): Add lib/float+.h.
49735
49736 2007-03-24  Bruno Haible  <bruno@clisp.org>
49737
49738         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49739         include isnanl-nolibm.h.
49740
49741 2007-03-24  Bruno Haible  <bruno@clisp.org>
49742
49743         * tests/test-read-file.c (main): Don't produce spurious output for
49744         expected situations. Make the test fail if it encountered unexpected
49745         results.
49746
49747 2007-03-24  Bruno Haible  <bruno@clisp.org>
49748
49749         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49750         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49751
49752 2007-03-24  Bruno Haible  <bruno@clisp.org>
49753
49754         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49755
49756 2007-03-24  Bruno Haible  <bruno@clisp.org>
49757
49758         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49759         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49760
49761         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49762         * modules/utf8-ucs4: Turn into a symbolic link to module
49763         unistr/u8-mbtouc.
49764
49765         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49766         utf8-ucs4-unsafe.
49767         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49768         unistr/u8-mbtouc-unsafe.
49769
49770         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49771         * modules/utf16-ucs4: Turn into a symbolic link to module
49772         unistr/u16-mbtouc.
49773
49774         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49775         utf16-ucs4-unsafe.
49776         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49777         unistr/u16-mbtouc-unsafe.
49778
49779         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49780         * modules/ucs4-utf8: Turn into a symbolic link to module
49781         unistr/u8-ubtomb.
49782
49783         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49784         * modules/ucs4-utf16: Turn into a symbolic link to module
49785         unistr/u16-ubtomb.
49786
49787 2007-03-24  Bruno Haible  <bruno@clisp.org>
49788
49789         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49790         Enable the function only if HAVE_INLINE.
49791         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49792         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49793         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49794         Enable the function only if HAVE_INLINE.
49795         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49796         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49797         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49798         Enable the function only if HAVE_INLINE.
49799         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49800         Enable the function only if HAVE_INLINE.
49801         * modules/utf8-ucs4: Update.
49802         * modules/utf8-ucs4-unsafe: Update.
49803         * modules/utf16-ucs4: Update.
49804         * modules/utf16-ucs4-unsafe: Update.
49805         * modules/ucs4-utf8: Update.
49806         * modules/ucs4-utf16: Update.
49807
49808 2007-03-24  Bruno Haible  <bruno@clisp.org>
49809
49810         * lib/utf8-ucs4.h: Remove file.
49811         * lib/utf8-ucs4-unsafe.h: Remove file.
49812         * lib/utf16-ucs4.h: Remove file.
49813         * lib/utf16-ucs4-unsafe.h: Remove file.
49814         * lib/ucs4-utf8.h: Remove file.
49815         * lib/ucs4-utf16.h: Remove file.
49816         * lib/unistr.h: Include their previous contents.
49817         * m4/utf-ucs4.m4: Remove file.
49818         * m4/ucs4-utf.m4: Remove file.
49819         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49820         (Depends-on): Add unistr/base.
49821         (configure.ac): Remove gl_UTF_UCS4.
49822         (Makefile.am): Update.
49823         (Include): Change to unistr.h.
49824         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
49825         (Depends-on): Add unistr/base.
49826         (configure.ac): Remove gl_UTF_UCS4.
49827         (Makefile.am): Update.
49828         (Include): Change to unistr.h.
49829         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
49830         (Depends-on): Add unistr/base.
49831         (configure.ac): Remove gl_UTF_UCS4.
49832         (Makefile.am): Update.
49833         (Include): Change to unistr.h.
49834         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49835         (Depends-on): Add unistr/base.
49836         (configure.ac): Remove gl_UTF_UCS4.
49837         (Makefile.am): Update.
49838         (Include): Change to unistr.h.
49839         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49840         (Depends-on): Add unistr/base.
49841         (configure.ac): Remove gl_UCS4_UTF.
49842         (Makefile.am): Update.
49843         (Include): Change to unistr.h.
49844         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49845         (Depends-on): Add unistr/base.
49846         (configure.ac): Remove gl_UCS4_UTF.
49847         (Makefile.am): Update.
49848         (Include): Change to unistr.h.
49849         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49850         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49851         utf8-ucs4-unsafe.h.
49852         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49853         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49854         utf16-ucs4-unsafe.h.
49855         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49856         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49857         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49858         * lib/unistr/u8-strchr.c: Likewise.
49859         * lib/unistr/u8-strrchr.c: Likewise.
49860         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49861         * lib/unistr/u16-strchr.c: Likewise.
49862         * lib/unistr/u16-strrchr.c: Likewise.
49863         * lib/striconveh.c: Update.
49864         * lib/linebreak.c: Update.
49865
49866 2007-03-24  Bruno Haible  <bruno@clisp.org>
49867
49868         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49869         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49870
49871 2007-03-22  Bruno Haible  <bruno@clisp.org>
49872
49873         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49874
49875 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49876
49877         * MODULES.html.sh (File system functions): New module write-any-file.
49878         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49879         * m4/write-any-file.m4: New files.
49880
49881 2007-03-23  Eric Blake  <ebb9@byu.net>
49882
49883         * gnulib-tool: Rearrange space-tab sequences, since some editors
49884         like to eat them.
49885
49886 2007-03-23  Eric Blake  <ebb9@byu.net>
49887
49888         * lib/version-etc.c (version_etc_va): Update license wording to
49889         be more concise.  Recommended by Richard Stallman.
49890
49891 2007-03-22  Bruno Haible  <bruno@clisp.org>
49892
49893         * lib/poll.c (MSG_PEEK): New fallback definition.
49894
49895 2007-03-22  Bruno Haible  <bruno@clisp.org>
49896
49897         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49898         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49899         (main): Update.
49900         Fixes a compilation error on BeOS.
49901
49902 2007-03-22  Bruno Haible  <bruno@clisp.org>
49903
49904         * modules/frexpl-tests: New file.
49905         * tests/test-frexpl.c: New file.
49906
49907         * modules/frexpl: New file.
49908         * m4/frexpl.m4: New file.
49909         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49910         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49912         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49913         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49914         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49915
49916 2007-03-22  Bruno Haible  <bruno@clisp.org>
49917
49918         * lib/frexpl.c: Share code with lib/frexp.c.
49919         * modules/mathl (Files): Add lib/frexp.c.
49920         (Depends-on): Add isnanl-nolibm.
49921
49922 2007-03-22  Bruno Haible  <bruno@clisp.org>
49923
49924         * modules/printf-frexp (Files): Add m4/frexp.m4.
49925         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
49926         only if the found frexp function actually works.
49927
49928 2007-03-22  Bruno Haible  <bruno@clisp.org>
49929
49930         * lib/frexp.c: Remove older implementation that uses divisions.
49931
49932 2007-03-21  Bruno Haible  <bruno@clisp.org>
49933
49934         * modules/frexp-tests: New file.
49935         * tests/test-frexp.c: New file.
49936
49937         * modules/frexp: New file.
49938         * lib/frexp.c: New file.
49939         * m4/frexp.m4: New file.
49940         * lib/math_.h (frexp): New declaration.
49941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
49942         REPLACE_FREXP.
49943         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
49944
49945 2007-03-21  Bruno Haible  <bruno@clisp.org>
49946
49947         * modules/isnanl-tests: New file.
49948         * tests/test-isnanl.c: New file.
49949
49950         * modules/isnanl: New file.
49951         * lib/isnanl.h: New file.
49952         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
49953         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
49954         gl_FUNC_ISNANL_WORKS.
49955         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
49956         New macros.
49957
49958 2007-03-21  Bruno Haible  <bruno@clisp.org>
49959
49960         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
49961         lib/isnanl.h.
49962         (Include): Update.
49963         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
49964         * lib/vasnprintf.c: Update.
49965         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
49966         tests/test-isnanl.h, remove tests/test-isnanl.c.
49967         (Makefile.am): Update.
49968         * tests/test-isnanl-nolibm.c: New file.
49969         * tests/test-isnanl.h: New file.
49970         * tests/test-isnanl.c: Remove file.
49971
49972 2007-03-21  Jim Meyering  <jim@meyering.net>
49973
49974         When trying to open ".", treat ESTALE like EACCES.
49975         * lib/savewd.c (savewd_save): Resort to forking not just upon
49976         failure with EACCES, but also when errno is ESTALE.
49977
49978 2007-03-20  Bruno Haible  <bruno@clisp.org>
49979
49980         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
49981         Needed on AIX 5.1. Reported by Matthew Woehlke.
49982
49983 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49984
49985         Suggestions by Bruno Haible:
49986         * lib/acl-internal.h: Include "gettext.h" rather than rolling
49987         our own.
49988         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
49989         * modules/acl (Depends-on): Add gettext.
49990
49991 2007-03-19  Bruno Haible  <bruno@clisp.org>
49992
49993         * modules/iconvme: Remove file.
49994         * lib/iconvme.h: Remove file.
49995         * lib/iconvme.c: Remove file.
49996         * m4/iconvme.m4: Remove file.
49997
49998 2007-03-19  Bruno Haible  <bruno@clisp.org>
49999
50000         * doc/relocatable-maint.texi: Break long shell script line.
50001         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50002
50003 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50004
50005         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
50006         handle file_has_acl.
50007         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
50008         * lib/acl.c: Move header inclusions and related macro defns into
50009         lib/acl-internal.h.
50010         (S_ISLNK): Remove defn, since that's now done for us.
50011         (file_has_acl): Move to lib/file-has-acl.c.
50012         Call acl_trivial if available.  This is the crucial part of the fix.
50013         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
50014         shared within the library.  Rewrite a bit, partly to make it compatible
50015         with the GNU coding style.
50016         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
50017         Remove unnecessary double-quotes.
50018         Don't test for acl_to_text; the build will catch that.
50019         Replace acl_entries if it doesn't exist and it is needed.
50020         Check for -lsec and acl_trivial (as used on Solaris 10).
50021         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
50022         lib/file-has-acl.c.
50023         (Depends-on): Add sys_stat, for S_ISLNK.
50024
50025 2007-03-19  Ben Pfaff  <blp@gnu.org>
50026
50027         * doc/gnulib.texi: Fix typos.
50028         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50029
50030 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50031
50032         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
50033         If size is zero here, buf must be zero.
50034
50035 2007-03-19  Simon Josefsson  <simon@josefsson.org>
50036
50037         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
50038         <bruno@clisp.org>.
50039
50040 2007-03-18  Bruno Haible  <bruno@clisp.org>
50041
50042         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
50043         Suggested by Eric Blake.
50044
50045 2007-03-18  Ben Pfaff  <blp@gnu.org>
50046
50047         * doc/relocatable.texi: Recommend using as prefix a directory
50048         that does not exist and will never be created.  Based on
50049         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
50050         and others.
50051
50052 2007-03-17  Bruno Haible  <bruno@clisp.org>
50053
50054         * lib/fchownat.c: Include lchown.h.
50055
50056 2007-03-17  Bruno Haible  <bruno@clisp.org>
50057
50058         Fix endless loop when the given allocated size was > INT_MAX.
50059         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
50060         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
50061         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
50062         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
50063         * lib/sprintf.c (sprintf): Likewise.
50064
50065 2007-03-17  Bruno Haible  <bruno@clisp.org>
50066
50067         * tests/test-argp-2.sh (func_compare): Output a context diff.
50068
50069 2007-03-17  Bruno Haible  <bruno@clisp.org>
50070
50071         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
50072         locale's decimal-point character.
50073
50074 2007-03-17  Bruno Haible  <bruno@clisp.org>
50075
50076         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
50077         before comparing it. Needed because on some platforms (e.g. x86) a
50078         'long double' occupies less bytes than sizeof (long double).
50079
50080 2007-03-17  Bruno Haible  <bruno@clisp.org>
50081
50082         * tests/test-crc.c (main): Make printf statements 64-bit clean.
50083         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
50084         * tests/test-getaddrinfo.c (simple): Likewise.
50085         * tests/test-read-file.c (main): Likewise.
50086
50087 2007-03-17  Bruno Haible  <bruno@clisp.org>
50088
50089         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
50090
50091 2007-03-17  Bruno Haible  <bruno@clisp.org>
50092
50093         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
50094         unused variable.
50095
50096 2007-03-17  Bruno Haible  <bruno@clisp.org>
50097
50098         * tests/test-c-strcasecmp.c: Include c-strcase.h.
50099         * tests/test-c-strncasecmp.c: Likewise.
50100
50101 2007-03-17  Bruno Haible  <bruno@clisp.org>
50102
50103         * modules/stdlib (Depends-on): Add unistd.
50104         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
50105         Needed for MacOS X 10.3.
50106
50107 2007-03-17  Bruno Haible  <bruno@clisp.org>
50108
50109         * lib/unistr/u-strdup.h: Include <stdlib.h>.
50110
50111 2007-03-17  Bruno Haible  <bruno@clisp.org>
50112
50113         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
50114
50115 2007-03-17  Bruno Haible  <bruno@clisp.org>
50116
50117         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
50118         to reflect files copied from gnulib (with or without modifications).
50119         Suggested by Jim Meyering.
50120
50121 2007-03-17  Eric Blake  <ebb9@byu.net>
50122
50123         * NEWS: Document stdlib change from 2007-02-18.
50124
50125 2007-03-17  Jim Meyering  <jim@meyering.net>
50126
50127         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
50128         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
50129         someone uses a name containing shell meta-characters.
50130         Reported by Alfred M. Szmidt.
50131
50132         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
50133
50134 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50135
50136         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
50137         and copy gettext configuration files only if configure.ac contains
50138         a use of AM_GNU_GETTEXT_VERSION.
50139
50140 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50141
50142         * build-aux/bootstrap (gnulib_name): New variable.
50143         (gnulib_tool_options): Use it.
50144
50145 2007-03-13  Simon Josefsson  <simon@josefsson.org>
50146
50147         * tests/test-des.c: Use new namespace.
50148
50149 2007-03-15  Bruno Haible  <bruno@clisp.org>
50150
50151         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
50152         Reported by James Youngman <jay@gnu.org>.
50153
50154 2007-03-15  Bruno Haible  <bruno@clisp.org>
50155
50156         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
50157         declared prototype. Needed with cc on OSF/1 5.1.
50158
50159 2007-03-15  Bruno Haible  <bruno@clisp.org>
50160
50161         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
50162         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
50163         (struct gl_list_implementation): Add dispose_fn argument to the
50164         'create_empty', 'create' methods.
50165         (struct gl_list_impl_base): Add field 'dispose_fn'.
50166         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
50167         argument.
50168         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
50169         dispose_fn argument.
50170         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
50171         dispose_fn on the dropped values.
50172         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
50173         dispose_fn argument.
50174         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
50175         dropped values.
50176         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
50177         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50178         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
50179         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50180         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
50181         argument.
50182         (gl_tree_list_free): Call dispose_fn on the dropped values.
50183         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
50184         the dropped values.
50185         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50186         Add dispose_fn argument.
50187         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
50188         Call dispose_fn on the dropped values.
50189         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
50190         Add dispose_fn argument.
50191         (gl_sublist_create): Initialize the 'dispose_fn' field.
50192         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
50193         * tests/test-array_list.c (main): Update.
50194         * tests/test-carray_list.c (main): Update.
50195         * tests/test-avltree_list.c (main): Update.
50196         * tests/test-rbtree_list.c (main): Update.
50197         * tests/test-avltreehash_list.c (main): Update.
50198         * tests/test-rbtreehash_list.c (main): Update.
50199         * tests/test-linked_list.c (main): Update.
50200         * tests/test-linkedhash_list.c (main): Update.
50201         * tests/test-array_oset.c (main): Update.
50202
50203 2007-03-15  Bruno Haible  <bruno@clisp.org>
50204
50205         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
50206         (gl_oset_create_empty): Add dispose_fn argument.
50207         (struct gl_oset_implementation): Add dispose_fn argument to
50208         'create_empty' method.
50209         (struct gl_oset_impl_base): Add dispose_fn field.
50210         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
50211         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
50212         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
50213         values.
50214         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
50215         (gl_tree_oset_free): Call dispose_fn on the dropped values.
50216         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50217         dropped value.
50218         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50219         dropped value.
50220         * tests/test-array_oset.c (main): Update.
50221         * tests/test-avltree_oset.c (main): Update.
50222         * tests/test-rbtree_oset.c (main): Update.
50223         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
50224
50225 2007-03-13  Bruno Haible  <bruno@clisp.org>
50226
50227         * tests/test-stdbool.c (i): Update after last patch.
50228
50229 2007-03-12  Bruno Haible  <bruno@clisp.org>
50230
50231         * lib/quotearg.c: Include <wctype.h> early, before the definition of
50232         the iswprint macro. Needed on Solaris 2.5.1.
50233
50234 2007-03-12  Bruno Haible  <bruno@clisp.org>
50235
50236         * tests/test-printf-frexp.c (main): Declare x as volatile.
50237
50238 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50239
50240         * doc/gnulib.texi (Build robot for gnulib): New section.
50241
50242 2007-03-12  Jim Meyering  <jim@meyering.net>
50243
50244         * build-aux/bootstrap: New file.
50245         * build-aux/bootstrap.conf: New file, from coreutils.
50246
50247 2007-03-11  Bruno Haible  <bruno@clisp.org>
50248
50249         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
50250
50251 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50252
50253         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
50254         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
50255         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
50256
50257 2007-03-11  Bruno Haible  <bruno@clisp.org>
50258
50259         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
50260         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
50261
50262 2007-03-11  Bruno Haible  <bruno@clisp.org>
50263
50264         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
50265         formula. Needed for SunPRO C 5.0.
50266
50267 2007-03-11  Bruno Haible  <bruno@clisp.org>
50268
50269         * modules/long-options (Depends-on): Add getopt.
50270
50271 2007-03-11  Bruno Haible  <bruno@clisp.org>
50272
50273         * modules/modechange (Depends-on): Add stdbool.
50274
50275 2007-03-11  Bruno Haible  <bruno@clisp.org>
50276
50277         * modules/i-ring (Depends-on): Add stdbool.
50278
50279 2007-03-11  Bruno Haible  <bruno@clisp.org>
50280
50281         * modules/gc-des (Depends-on): Add stdbool.
50282
50283 2007-03-11  Bruno Haible  <bruno@clisp.org>
50284
50285         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
50286
50287 2007-03-11  Bruno Haible  <bruno@clisp.org>
50288
50289         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
50290
50291 2007-03-11  Bruno Haible  <bruno@clisp.org>
50292
50293         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
50294
50295 2007-03-11  Bruno Haible  <bruno@clisp.org>
50296
50297         * lib/vasnprintf.c (sprintf): Undefine.
50298
50299 2007-03-11  Bruno Haible  <bruno@clisp.org>
50300
50301         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
50302         initializers in SunPRO C and Compaq C compilers.
50303
50304 2007-03-11  Bruno Haible  <bruno@clisp.org>
50305
50306         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
50307         decrementing code ANSI C compliant.
50308
50309 2007-03-11  Bruno Haible  <bruno@clisp.org>
50310
50311         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
50312         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
50313
50314 2007-03-11  Bruno Haible  <bruno@clisp.org>
50315
50316         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
50317         <stdbool.h> substitute doesn't pass.
50318
50319 2007-03-11  Bruno Haible  <bruno@clisp.org>
50320
50321         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
50322
50323 2007-03-11  Bruno Haible  <bruno@clisp.org>
50324
50325         * gnulib-tool (func_create_megatestdir): Create also an autobuild
50326         script, for submission to autobuild.josefsson.org.
50327
50328 2007-03-10  Bruno Haible  <bruno@clisp.org>
50329
50330         * modules/canonicalize-lgpl-tests: New file.
50331         * tests/test-canonicalize-lgpl.sh: New file.
50332         * tests/test-canonicalize-lgpl.c: New file.
50333
50334         * modules/c-strcase-tests: New file.
50335         * tests/test-c-strcase.sh: New file.
50336         * tests/test-c-strcasecmp.c: New file.
50337         * tests/test-c-strncasecmp.c: New file.
50338
50339         * modules/atexit-tests: New file.
50340         * tests/test-atexit.sh: New file.
50341         * tests/test-atexit.c: New file.
50342
50343 2007-03-10  Bruno Haible  <bruno@clisp.org>
50344
50345         * tests/test-binary-io.sh: Use temporary filenames that are not so
50346         likely to clash with those of other tests (in a parallel make).
50347         * tests/test-binary-io.c: Likewise.
50348
50349 2007-03-10  Bruno Haible  <bruno@clisp.org>
50350
50351         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
50352         fallback; use #error instead.
50353         Suggested by Simon Josefsson.
50354
50355 2007-03-10  Bruno Haible  <bruno@clisp.org>
50356
50357         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
50358         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
50359         first and the last.
50360
50361 2007-03-10  Bruno Haible  <bruno@clisp.org>
50362
50363         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
50364
50365 2007-03-10  Bruno Haible  <bruno@clisp.org>
50366
50367         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
50368         "make distcheck".
50369         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
50370         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
50371         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
50372
50373 2007-03-10  Bruno Haible  <bruno@clisp.org>
50374
50375         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
50376         variable.
50377         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
50378         variable.
50379
50380 2007-03-09  Eric Blake  <ebb9@byu.net>
50381         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
50382
50383         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
50384         types are not being provided by gnulib.
50385         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
50386         types are supported.
50387
50388 2007-03-10  Bruno Haible  <bruno@clisp.org>
50389
50390         * lib/stdio_.h (__attribute__): New macro.
50391         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
50392         vsprintf): Specify __attribute__ __format__ for GCC.
50393         Suggested by Eric Blake.
50394
50395 2007-03-09  Bruno Haible  <bruno@clisp.org>
50396
50397         * modules/printf-posix-tests: New file.
50398         * tests/test-printf-posix.sh: New file.
50399         * tests/test-printf-posix.c: New file.
50400
50401         * modules/printf-posix: New file.
50402         * lib/printf.c: New file.
50403         * m4/printf-posix-rpl.m4: New file.
50404         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
50405         REPLACE_PRINTF.
50406         * lib/stdio_.h (printf): New declaration.
50407         (format, __format__, ____printf____, ____scanf____, ____strftime____,
50408         ____strfmon____): New macros.
50409         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
50410         REPLACE_PRINTF.
50411
50412 2007-03-09  Bruno Haible  <bruno@clisp.org>
50413
50414         * tests/test-vasnprintf-posix2.sh: New file.
50415         * tests/test-vasnprintf-posix2.c: New file.
50416         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
50417         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50418         (Makefile.am): Activate test-vasnprintf-posix2.sh.
50419
50420         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
50421         a locale dependent decimal point, rather than always '.'.
50422
50423 2007-03-09  Eric Blake  <ebb9@byu.net>
50424
50425         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
50426         spite of platforms like Tandem/NSK that define it to -1.
50427
50428 2007-03-08  Bruno Haible  <bruno@clisp.org>
50429
50430         * modules/vprintf-posix-tests: New file.
50431         * tests/test-vprintf-posix.sh: New file.
50432         * tests/test-vprintf-posix.c: New file.
50433         * tests/test-printf-posix.h: New file.
50434
50435         * modules/vprintf-posix: New file.
50436         * lib/vprintf.c: New file.
50437         * m4/vprintf-posix.m4: New file.
50438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
50439         REPLACE_VPRINTF.
50440         * lib/stdio_.h (vprintf): New declaration.
50441         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
50442         REPLACE_VPRINTF.
50443
50444 2007-03-08  Bruno Haible  <bruno@clisp.org>
50445
50446         * modules/fprintf-posix-tests: New file.
50447         * tests/test-fprintf-posix.sh: New file.
50448         * tests/test-fprintf-posix.c: New file.
50449
50450         * modules/fprintf-posix: New file.
50451         * lib/fprintf.c: New file.
50452         * m4/fprintf-posix.m4: New file.
50453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
50454         REPLACE_FPRINTF.
50455         * lib/stdio_.h (fprintf): New declaration.
50456         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
50457         REPLACE_FPRINTF.
50458
50459 2007-03-08  Bruno Haible  <bruno@clisp.org>
50460
50461         * modules/vfprintf-posix-tests: New file.
50462         * tests/test-vfprintf-posix.sh: New file.
50463         * tests/test-vfprintf-posix.c: New file.
50464         * tests/test-fprintf-posix.h: New file.
50465         * tests/test-fprintf-posix.out: New file.
50466
50467         * modules/vfprintf-posix: New file.
50468         * lib/vfprintf.c: New file.
50469         * m4/vfprintf-posix.m4: New file.
50470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
50471         REPLACE_VFPRINTF.
50472         * lib/stdio_.h (vfprintf): New declaration.
50473         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
50474         REPLACE_VFPRINTF.
50475
50476 2007-03-08  Bruno Haible  <bruno@clisp.org>
50477
50478         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
50479
50480 2007-03-08  Bruno Haible  <bruno@clisp.org>
50481
50482         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
50483         instead of 'expr' invocations.
50484         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50485         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50486         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50487         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50489         Suggested by Paul Eggert.
50490
50491 2007-03-08  Bruno Haible  <bruno@clisp.org>
50492
50493         * modules/fseterr-tests: New file.
50494         * tests/test-fseterr.c: New file.
50495
50496         * modules/fseterr: New file.
50497         * lib/fseterr.h: New file.
50498         * lib/fseterr.c: New file.
50499
50500 2007-03-08  Bruno Haible  <bruno@clisp.org>
50501
50502         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
50503         * lib/getopt_.h: Likewise.
50504         * lib/mbswidth.h: Likewise.
50505         * lib/setenv.h: Likewise.
50506         * lib/vasnprintf.h: Likewise.
50507         * lib/vasprintf.h: Likewise.
50508         * lib/verror.h: Likewise.
50509         * lib/xsetenv.h: Likewise.
50510         * lib/xvasprintf.h: Likewise.
50511
50512 2007-03-08  Jim Meyering  <jim@meyering.net>
50513
50514         * users.txt: Add parted.
50515
50516         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
50517
50518 2007-03-07  Bruno Haible  <bruno@clisp.org>
50519
50520         * m4/printf.m4: Make the shell script snippets copy&pastable.
50521
50522 2007-03-02  Bruno Haible  <bruno@clisp.org>
50523
50524         * lib/netinet_in_.h: New file.
50525         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
50526         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
50527         * modules/netinet_in (Files): Add lib/netinet_in_.h.
50528         (Depends-on): Add absolute-header.
50529         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
50530         into netinet/in.h.
50531
50532 2007-03-03  Bruno Haible  <bruno@clisp.org>
50533
50534         * lib/sys_select_.h: New file.
50535         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
50536         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
50537         * modules/sys_select (Files): Add lib/sys_select_.h.
50538         (Depends-on): Add absolute-header.
50539         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
50540         into sys/select.h.
50541
50542 2007-03-02  Bruno Haible  <bruno@clisp.org>
50543
50544         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
50545         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
50546         values.
50547         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
50548         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
50549         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
50550         * modules/sys_socket (Depends-on): Add absolute-header.
50551         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
50552         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
50553         (Include): Remove requirement of inclusion of <sys/types.h>.
50554
50555 2007-03-02  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/byteswap_.h (bswap_32): Fix formula.
50558
50559 2007-03-06  Bruno Haible  <bruno@clisp.org>
50560
50561         * modules/sprintf-posix-tests: New file.
50562         * tests/test-sprintf-posix.c: New file.
50563
50564         * modules/sprintf-posix: New file.
50565         * lib/sprintf.c: New file.
50566         * m4/sprintf-posix.m4: New file.
50567         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
50568         REPLACE_SPRINTF.
50569         * lib/stdio_.h (sprintf): New declaration.
50570         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
50571         REPLACE_SPRINTF.
50572
50573 2007-03-06  Bruno Haible  <bruno@clisp.org>
50574
50575         * modules/vsprintf-posix-tests: New file.
50576         * tests/test-vsprintf-posix.c: New file.
50577         * tests/test-sprintf-posix.h: New file.
50578
50579         * modules/vsprintf-posix: New file.
50580         * lib/vsprintf.c: New file.
50581         * m4/vsprintf-posix.m4: New file.
50582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
50583         REPLACE_VSPRINTF.
50584         * lib/stdio_.h (vsprintf): New declaration.
50585         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
50586         REPLACE_VSPRINTF.
50587
50588 2007-03-06  Bruno Haible  <bruno@clisp.org>
50589
50590         * modules/vsnprintf (Depend-on): Remove minmax.
50591
50592 2007-03-06  Bruno Haible  <bruno@clisp.org>
50593
50594         * modules/snprintf-posix-tests: New file.
50595         * tests/test-snprintf-posix.c: New file.
50596
50597         * modules/snprintf-posix: New file.
50598         * m4/snprintf-posix.m4: New file.
50599         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
50600         gl_FUNC_SNPRINTF.
50601         (gl_FUNC_SNPRINTF): Invoke it.
50602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
50603         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
50604         is set.
50605         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
50606
50607 2007-03-06  Bruno Haible  <bruno@clisp.org>
50608
50609         * modules/vsnprintf-posix-tests: New file.
50610         * tests/test-vsnprintf-posix.c: New file.
50611         * tests/test-snprintf-posix.h: New file.
50612
50613         * modules/vsnprintf-posix: New file.
50614         * m4/vsnprintf-posix.m4: New file.
50615         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
50616         gl_FUNC_VSNPRINTF.
50617         (gl_FUNC_VSNPRINTF): Invoke it.
50618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
50619         * lib/stdio_.h (vsnprintf): Define as a replacement if
50620         REPLACE_VSNPRINTF is set.
50621         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
50622
50623 2007-03-06  Bruno Haible  <bruno@clisp.org>
50624
50625         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
50626         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
50627
50628 2007-03-06  Bruno Haible  <bruno@clisp.org>
50629
50630         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
50631         (asinl): Declare also if HAVE_DECL_ASINL is set.
50632         (atanl): Declare also if HAVE_DECL_ATANL is set.
50633         (ceill): Declare also if HAVE_DECL_CEILL is set.
50634         (cosl): Declare also if HAVE_DECL_COSL is set.
50635         (expl): Declare also if HAVE_DECL_EXPL is set.
50636         (floorl): Declare also if HAVE_DECL_FLOORL is set.
50637         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
50638         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
50639         (logl): Declare also if HAVE_DECL_LOGL is set.
50640         (sinl): Declare also if HAVE_DECL_SINL is set.
50641         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
50642         (tanl): Declare also if HAVE_DECL_TANL is set.
50643         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
50644         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
50645         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
50646         declaration of frexpl, ldexpl.
50647         * modules/printf-frexpl (Depends-on): Add math.
50648         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
50649
50650 2007-03-05  Bruno Haible  <bruno@clisp.org>
50651
50652         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
50653         frexpl and ldexpl are declared.
50654         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
50655
50656 2007-03-05  Bruno Haible  <bruno@clisp.org>
50657
50658         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
50659         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
50660
50661 2007-03-05  Bruno Haible  <bruno@clisp.org>
50662
50663         * lib/stdio_.h: Include <stddef.h>.
50664
50665 2007-03-05  Bruno Haible  <bruno@clisp.org>
50666
50667         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
50668
50669 2007-03-05  Bruno Haible  <bruno@clisp.org>
50670
50671         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
50672         NetBSD 4, from Ralf Wildenhues.
50673
50674 2007-03-04  Bruno Haible  <bruno@clisp.org>
50675
50676         * lib/vasprintf.h: Update #if logic for the case when the functions
50677         exist but are overridden.
50678
50679 2007-03-04  Bruno Haible  <bruno@clisp.org>
50680
50681         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
50682         implementations: glibc-2.4 and MacOS X 10.3.
50683         * tests/test-vasnprintf-posix.c (test_function): Test also the case
50684         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
50685         * tests/test-vasprintf-posix.c (test_function): Likewise.
50686
50687 2007-03-04  Bruno Haible  <bruno@clisp.org>
50688
50689         * modules/vasprintf-posix-tests: New file.
50690         * tests/test-vasprintf-posix.c: New file.
50691
50692         * modules/vasprintf-posix: New file.
50693         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50694         defined.
50695         * m4/vasprintf-posix.m4: New file.
50696         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50697         gl_FUNC_VASPRINTF.
50698         (gl_FUNC_VASPRINTF): Invoke it.
50699         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50700         here.
50701         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50702
50703 2007-03-04  Bruno Haible  <bruno@clisp.org>
50704
50705         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50706         REPLACE_GETTIMEOFDAY.
50707         * modules/sys_time (Makefile.am): Likewise.
50708         * m4/sys_time_h.m4: Likewise.
50709         * m4/gettimeofday.m4: Likewise.
50710
50711 2007-03-04  Bruno Haible  <bruno@clisp.org>
50712
50713         * modules/vasnprintf-posix-tests: New file.
50714         * tests/test-vasnprintf-posix.c: New file.
50715
50716         * modules/vasnprintf-posix: New file.
50717         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50718         printf-frexpl.h.
50719         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50720         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50721         REPLACE_VASNPRINTF is defined.
50722         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50723         gl_FUNC_VASNPRINTF.
50724         (gl_FUNC_VASNPRINTF): Invoke it.
50725         * m4/vasnprintf-posix.m4: New file.
50726         * m4/printf.m4: New file.
50727
50728 2007-03-04  Bruno Haible  <bruno@clisp.org>
50729
50730         Compile progreloc.c only if --enable-relocatable is specified.
50731         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50732         if --enable-relocatable was specified.
50733         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50734         lib_SOURCES.
50735
50736 2007-03-04  Jim Meyering  <jim@meyering.net>
50737
50738         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50739         Use it consistently, rather than enumerating errno constants.
50740
50741 2007-03-04  Bruno Haible  <bruno@clisp.org>
50742
50743         * modules/xvasprintf-tests: New file.
50744         * tests/test-xvasprintf.c: New file.
50745
50746         * modules/vasprintf-tests: New file.
50747         * tests/test-vasprintf.c: New file.
50748
50749         * modules/vasnprintf-tests: New file.
50750         * tests/test-vasnprintf.c: New file.
50751
50752         * modules/vsnprintf-tests: New file.
50753         * tests/test-vsnprintf.c: New file.
50754
50755         * modules/snprintf-tests: New file.
50756         * tests/test-snprintf.c: New file.
50757
50758 2007-03-04  Bruno Haible  <bruno@clisp.org>
50759
50760         Compile relocatable.c only if --enable-relocatable is specified.
50761         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50762         gl_RELOCATABLE_LIBRARY.
50763         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50764         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50765         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50766         gl_RELOCATABLE_LIBRARY.
50767         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50768         (Makefile.am): Remove lib_SOURCES.
50769         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50770         gl_RELOCATABLE_LIBRARY.
50771         (Makefile.am): Remove lib_SOURCES.
50772         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50773         always.
50774         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50775         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50776
50777 2007-03-04  Bruno Haible  <bruno@clisp.org>
50778
50779         * modules/argmatch-tests: New file.
50780         * tests/test-argmatch.c: New file.
50781
50782         * tests/test-allocsa.c (main): Halve the number of loop runs.
50783
50784         * modules/alloca-opt-tests: New file.
50785         * tests/test-alloca-opt.c: New file.
50786
50787 2007-03-04  Jim Meyering  <jim@meyering.net>
50788
50789         Work around difference between Linux ACLs and Solaris 10 ZFS.
50790         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50791         for EINVAL.
50792
50793 2007-03-03  Bruno Haible  <bruno@clisp.org>
50794
50795         * modules/relocatable-prog (Depends-on): Add back progreloc's
50796         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50797
50798 2007-03-03  Bruno Haible  <bruno@clisp.org>
50799
50800         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50801         * modules/relocatable-lib: New file.
50802
50803 2007-03-03  Bruno Haible  <bruno@clisp.org>
50804
50805         * modules/relocatable-prog: Renamed from modules/relocatable.
50806         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50807
50808 2007-03-03  Bruno Haible  <bruno@clisp.org>
50809
50810         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50811         m4/relocatable-lib.m4.
50812         (Depends-on): Remove 'relocatable'.
50813         (configure.ac): Add gl_RELOCATABLE_NOP.
50814
50815 2007-03-03  Bruno Haible  <bruno@clisp.org>
50816
50817         * modules/relocatable-prog-wrapper: New file.
50818         * modules/relocatable (Depends-on): Add it. Remove all other
50819         dependencies except progname.
50820         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50821
50822         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50823         (gl_FUNC_STRERROR): Nop.
50824         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50825
50826         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50827         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50828
50829         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50830         (gl_FUNC_READLINK): Update.
50831
50832         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50833
50834 2007-03-03  Bruno Haible  <bruno@clisp.org>
50835
50836         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50837         * modules/xreadlink (Depends-on): Add unistd.
50838         * modules/xreadlink-with-size (Depends-on): Likewise.
50839
50840 2007-03-03  Bruno Haible  <bruno@clisp.org>
50841
50842         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50843         extracted from gt_FUNC_SETENV.
50844         (gt_FUNC_SETENV): Remove macro.
50845         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50846         remove gt_FUNC_SETENV.
50847
50848 2007-03-03  Bruno Haible  <bruno@clisp.org>
50849
50850         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50851         ENABLE_RELOCATABLE here.
50852         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50853
50854 2007-03-03  Bruno Haible  <bruno@clisp.org>
50855
50856         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50857         * tests/test-rbtreehash_list.c: Include progname.h.
50858         (main): Call set_program_name.
50859
50860         * modules/rbtree-oset-tests (Depends-on): Add progname.
50861         * tests/test-rbtree_oset.c: Include progname.h.
50862         (main): Call set_program_name.
50863
50864         * modules/rbtree-list-tests (Depends-on): Add progname.
50865         * tests/test-rbtree_list.c: Include progname.h.
50866         (main): Call set_program_name.
50867
50868         * modules/linked-list-tests (Depends-on): Add progname.
50869         * tests/test-linked_list.c: Include progname.h.
50870         (main): Call set_program_name.
50871
50872 2007-03-03  Bruno Haible  <bruno@clisp.org>
50873
50874         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50875         All uses of __restrict changed to _Restrict_.
50876         * lib/glob_.h (__restrict): Remove macro.
50877
50878 2007-03-02  Bruno Haible  <bruno@clisp.org>
50879
50880         * modules/gettext (configure.ac): Require gettext infrastructure
50881         from version 0.16.1.
50882
50883 2007-03-02  Bruno Haible  <bruno@clisp.org>
50884
50885         * modules/linkedhash-list-tests (Depends-on): Add progname.
50886         * tests/test-linkedhash_list.c: Include progname.h.
50887         (main): Call set_program_name.
50888
50889         * modules/carray-list-tests (Depends-on): Add progname.
50890         * tests/test-carray_list.c: Include progname.h.
50891         (main): Call set_program_name.
50892
50893         * modules/avltreehash-list-tests (Depends-on): Add progname.
50894         * tests/test-avltreehash_list.c: Include progname.h.
50895         (main): Call set_program_name.
50896
50897         * modules/avltree-oset-tests (Depends-on): Add progname.
50898         * tests/test-avltree_oset.c: Include progname.h.
50899         (main): Call set_program_name.
50900
50901         * modules/avltree-list-tests (Depends-on): Add progname.
50902         * tests/test-avltree_list.c: Include progname.h.
50903         (main): Call set_program_name.
50904
50905         * modules/array-oset-tests (Depends-on): Add progname.
50906         * tests/test-array_oset.c: Include progname.h.
50907         (main): Call set_program_name.
50908
50909         * modules/array-list-tests (Depends-on): Add progname.
50910         * tests/test-array_list.c: Include progname.h.
50911         (main): Call set_program_name.
50912
50913         * modules/argp-tests (Depends-on): Add progname.
50914         * tests/test-argp.c: Include argp.h first. Include progname.h.
50915         (main): Call set_program_name.
50916
50917 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50918
50919         * doc/gnulib-tool.texi (Initial import): Reword description of
50920         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
50921         limited effect even if defined after the first system include.
50922
50923 2007-03-01  Bruno Haible  <bruno@clisp.org>
50924
50925         * build-aux/config.libpath: Update to libtool-1.5.22.
50926         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50927
50928 2007-03-01  Bruno Haible  <bruno@clisp.org>
50929
50930         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
50931         foo_CFLAGS.
50932         Reported by Ralf Wildenhues.
50933
50934 2007-03-01  Bruno Haible  <bruno@clisp.org>
50935
50936         * build-aux/install-reloc: Remove object files left over by some
50937         compilers.
50938         Reported by Ralf Wildenhues.
50939
50940 2007-03-01  Bruno Haible  <bruno@clisp.org>
50941
50942         * build-aux/install-reloc: Break long lines.
50943
50944 2007-03-01  Bruno Haible  <bruno@clisp.org>
50945
50946         * doc/relocatable.texi: Document that it may not work on OpenBSD.
50947         Reported by Ralf Wildenhues.
50948
50949 2007-03-01  Bruno Haible  <bruno@clisp.org>
50950
50951         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
50952         include ordering constraints.
50953
50954 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50955
50956         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
50957         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
50958         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
50959         as another example.
50960         * lib/time_.h: Fix misspelling.
50961         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50962         Require gl_HEADER_TIME_H_DEFAULTS.
50963         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
50964         * m4/time_r.m4 (gl_TIME_R): Likewise.
50965         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
50966
50967 2007-03-01  Bruno Haible  <bruno@clisp.org>
50968
50969         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
50970         * m4/utimens.m4 (gl_UTIMENS): Likewise.
50971
50972 2007-03-01  Jim Meyering  <jim@meyering.net>
50973
50974         * modules/xreadlink (Maintainer): Add my name.
50975         * modules/xreadlink-with-size (Depends-on): Alphabetize.
50976
50977 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
50978             Bruno Haible  <bruno@clisp.org>
50979
50980         * build-aux/install-reloc: Compile also c-ctype.c.
50981         * build-aux/relocatable.sh.in: New file.
50982         * doc/relocatable.texi: New file.
50983         * doc/relocatable-maint.texi: New file.
50984         * doc/gnulib.texi: Include relocatable-maint.texi.
50985         * lib/progreloc.c: Include unistd.h unconditionally.
50986         * lib/relocwrapper.c: Include unistd.h unconditionally.
50987         Include c-ctype.h.
50988         (add_dotbin): Use c_tolower.
50989         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
50990         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
50991         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
50992         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
50993         to m4/relocatable-lib.m4.
50994         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
50995         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
50996         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
50997         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
50998         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
50999         * modules/relocatable: New file.
51000         * modules/relocatable-lib: New file.
51001         * modules/relocatable-script: New file.
51002
51003 2007-02-28  Bruno Haible  <bruno@clisp.org>
51004
51005         Import --enable-relocatable infrastructure.
51006         * build-aux/config.libpath: New file, from GNU gettext.
51007         * build-aux/install-reloc: New file, from GNU gettext.
51008         * build-aux/reloc-ldflags: New file, from GNU gettext.
51009         * lib/relocatable.h: New file, from GNU gettext.
51010         * lib/relocatable.c: New file, from GNU gettext.
51011         * lib/relocwrapper.c: New file, from GNU gettext.
51012         * m4/relocatable.m4: New file, from GNU gettext.
51013
51014 2007-02-28  Bruno Haible  <bruno@clisp.org>
51015
51016         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
51017
51018         * modules/xreadlink: New file, from GNU gettext with modifications.
51019         * lib/xreadlink.c: New file, from GNU gettext.
51020         * lib/xreadlink.h: Add comments.
51021         (xreadlink): New declaration.
51022
51023         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
51024         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
51025         lib/xreadlink-with-size.c.
51026         (configure.ac): Remove gl_XREADLINK invocation.
51027         (Makefile.am): Augment lib_SOURCES.
51028         * m4/xreadlink.m4: Remove file.
51029         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
51030         (xreadlink_with_size): Renamed from xreadink.
51031         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
51032         * modules/canonicalize (Depends-on): Replace xreadlink with
51033         xreadlink-with-size.
51034         * lib/canonicalize.c (canonicalize_filename_mode): Update.
51035
51036 2007-02-25  Jim Meyering  <jim@meyering.net>
51037
51038         * build-aux/announce-gen: When complaining about excess arguments,
51039         list them.
51040
51041 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51042
51043         * README: Document signed integer overflow situation more
51044         accurately.
51045
51046 2007-02-25  Bruno Haible  <bruno@clisp.org>
51047
51048         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
51049         'a' or 'A' conversion.
51050
51051 2007-02-25  Bruno Haible  <bruno@clisp.org>
51052
51053         * modules/filename: Renamed from modules/pathname.
51054         (Files): Replace lib/pathname.h with lib/filename.h. Replace
51055         lib/concatpath.c with lib/concat-filename.c.
51056         (Makefile.am): Update.
51057         (Include): Replace pathname.h with filename.h.
51058         * lib/filename.h: Renamed from lib/pathname.h.
51059         (concatenated_filename): Renamed from concatenated_pathname.
51060         * lib/concat-filename.c: Renamed from lib/concatpath.c.
51061         (concatenated_filename): Renamed from concatenated_pathname.
51062         * lib/findprog.c: Include filename.h instead of pathname.h.
51063         (find_in_path): Update.
51064         * lib/javacomp.c: Include filename.h instead of pathname.h.
51065         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51066         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51067         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51068         is_oldgcj_14_13_usable, is_javac_usable): Update.
51069         * lib/javaexec.c: Include filename.h instead of pathname.h.
51070         (execute_java_class): Update.
51071         * modules/findprog: Update.
51072         * modules/javacomp: Update.
51073         * modules/javaexec: Update.
51074         * MODULES.html.sh (File system functions): Add 'filename', remove
51075         'pathname'.
51076
51077 2007-02-25  Bruno Haible  <bruno@clisp.org>
51078
51079         * modules/printf-frexpl-tests: New file.
51080         * tests/test-printf-frexpl.c: New file.
51081
51082         * modules/printf-frexpl: New file.
51083         * lib/printf-frexpl.h: New file.
51084         * lib/printf-frexpl.c: New file.
51085         * m4/printf-frexpl.m4: New file.
51086
51087 2007-02-25  Bruno Haible  <bruno@clisp.org>
51088
51089         * modules/printf-frexp-tests: New file.
51090         * tests/test-printf-frexp.c: New file.
51091
51092         * modules/printf-frexp: New file.
51093         * lib/printf-frexp.h: New file.
51094         * lib/printf-frexp.c: New file.
51095         * m4/printf-frexp.m4: New file.
51096
51097 2007-02-25  Bruno Haible  <bruno@clisp.org>
51098
51099         Assume automake >= 1.10 for the tests.
51100         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
51101         * modules/arctwo-tests: Likewise.
51102         * modules/argp-tests: Likewise.
51103         * modules/avltree-list-tests: Likewise.
51104         * modules/avltree-oset-tests: Likewise.
51105         * modules/avltreehash-list-tests: Likewise.
51106         * modules/carray-list-tests: Likewise.
51107         * modules/crc-tests: Likewise.
51108         * modules/des-tests: Likewise.
51109         * modules/gc-arcfour-tests: Likewise.
51110         * modules/gc-arctwo-tests: Likewise.
51111         * modules/gc-des-tests: Likewise.
51112         * modules/gc-hmac-md5-tests: Likewise.
51113         * modules/gc-hmac-sha1-tests: Likewise.
51114         * modules/gc-md2-tests: Likewise.
51115         * modules/gc-md4-tests: Likewise.
51116         * modules/gc-md5-tests: Likewise.
51117         * modules/gc-pbkdf2-sha1-tests: Likewise.
51118         * modules/gc-rijndael-tests: Likewise.
51119         * modules/gc-sha1-tests: Likewise.
51120         * modules/gc-tests: Likewise.
51121         * modules/getaddrinfo-tests: Likewise.
51122         * modules/hmac-md5-tests: Likewise.
51123         * modules/hmac-sha1-tests: Likewise.
51124         * modules/linked-list-tests: Likewise.
51125         * modules/linkedhash-list-tests: Likewise.
51126         * modules/lock-tests: Likewise.
51127         * modules/md2-tests: Likewise.
51128         * modules/md4-tests: Likewise.
51129         * modules/md5-tests: Likewise.
51130         * modules/rbtree-list-tests: Likewise.
51131         * modules/rbtree-oset-tests: Likewise.
51132         * modules/rbtreehash-list-tests: Likewise.
51133         * modules/read-file-tests: Likewise.
51134         * modules/rijndael-tests: Likewise.
51135         * modules/stdint-tests: Likewise.
51136         * modules/tls-tests: Likewise.
51137
51138 2007-02-24  Bruno Haible  <bruno@clisp.org>
51139
51140         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
51141         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
51142         function; instead check whether isnan with a double argument links.
51143         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
51144         function; instead check whether isnan with a 'long double' argument
51145         links.
51146         Reported by Eric Blake <ebb9@byu.net>.
51147
51148 2007-02-24  Bruno Haible  <bruno@clisp.org>
51149
51150         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
51151         defined.
51152         * lib/isnanl.c: Remove all code. Just include isnan.c.
51153         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
51154
51155 2007-02-25  Jim Meyering  <jim@meyering.net>
51156
51157         Avoid conflicting types for 'unsetenv' on FreeBSD.
51158         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
51159         conflicting with FreeBSD's (5.0 and 6.1) function declaration
51160         in stdlib.h.
51161
51162 2007-02-24  Bruno Haible  <bruno@clisp.org>
51163
51164         * modules/isnanl-nolibm-tests: New file.
51165         * tests/test-isnanl.c: New file.
51166
51167         * modules/isnanl-nolibm: New file.
51168         * lib/isnanl.h: New file.
51169         * lib/isnanl.c: New file.
51170         * m4/isnanl.m4: New file.
51171
51172 2007-02-24  Bruno Haible  <bruno@clisp.org>
51173
51174         * modules/isnan-nolibm-tests: New file.
51175         * tests/test-isnan.c: New file.
51176
51177         * modules/isnan-nolibm: New file.
51178         * lib/isnan.h: New file.
51179         * lib/isnan.c: New file.
51180         * m4/isnan.m4: New file.
51181
51182 2007-02-24  Bruno Haible  <bruno@clisp.org>
51183
51184         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
51185         assume that an exponent fits in 20 bits.
51186
51187 2007-02-24  Jim Meyering  <jim@meyering.net>
51188
51189         * m4/regex.m4: Update the description of the configure-time option,
51190         --without-included-regex, to state accurately what the defaults are,
51191         and perhaps to give people an idea why using this option is risky.
51192
51193 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51194
51195         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
51196         loops on small arguments.  This attempts to avoid the problem
51197         Bruno Haible reported for AIX 4.3.2 in
51198         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
51199
51200 2007-02-23  Bruno Haible  <bruno@clisp.org>
51201
51202         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
51203         Needed for help2man.
51204
51205 2007-02-23  Karl Berry  <karl@gnu.org>
51206
51207         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
51208         exists, foo.h should be cvs-ignored, not committed.
51209
51210 2007-02-23  Eric Blake  <ebb9@byu.net>
51211
51212         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
51213         * lib/stat-time.h (includes): Likewise.
51214         * lib/utimecmp.c (includes): Likewise.
51215         * lib/utimens.h (includes): Likewise.
51216         * lib/getdate.y (includes): Also include "timespec.h" for use
51217         internal to the module.
51218         * modules/utimens (Depends-on): Revert yesterday's patch.
51219         * modules/nanosleep (Depends-on): Add missing dependency.
51220
51221 2007-02-22  Bruno Haible  <bruno@clisp.org>
51222
51223         * lib/glob.c: Don't include getlogin_r.h.
51224
51225 2007-02-22  Jim Meyering  <jim@meyering.net>
51226
51227         * modules/utimens (Depends-on): Add timespec, required for
51228         utimens.h's inclusion of timespec.h.
51229
51230 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
51231
51232         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
51233         long unreadable paths in GNU/Linux.  Problem reported by Andreas
51234         Schwab in
51235         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
51236         I'll try to think of a better way to fix the Solaris problem.
51237
51238         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
51239         like glibc; on Solaris 10, it fails with errno == EINVAL.
51240         POSIX says the behavior is unspecified if the first argument is NULL,
51241         so play it safe and never pass NULL to the system getcwd.
51242
51243 2007-02-21  Jim Meyering  <jim@meyering.net>
51244
51245         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
51246         of gettimeofday.  It would conflict with the one now always
51247         provided via sys_time_.h.  Reported by Matthew Woehlke, as
51248         an IRIX 6.5 build failure.
51249
51250 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51251
51252         Minor fixups to port to Solaris 10 with Sun C 5.8.
51253         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
51254         * modules/getcwd (Depends-on): Add dirfd.
51255         * lib/putenv.c (putenv): #undef it.
51256         (rpl_putenv): New decl.
51257         (malloc, free): Include <stdlib.h> rather than prototyping separately.
51258
51259 2007-02-20  Bruno Haible  <bruno@clisp.org>
51260
51261         * modules/stdio-tests: New file.
51262         * tests/test-stdio.c: New file.
51263
51264         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
51265         (Depends-on): Add stdio.
51266         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51267         (Include): Use <stdio.h> instead of vsnprintf.h.
51268         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51269         HAVE_DECL_VSNPRINTF.
51270         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
51271
51272         * modules/snprintf (Files): Remove lib/snprintf.h.
51273         (Depends-on): Add stdio.
51274         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51275         (Include): Use <stdio.h> instead of snprintf.h.
51276         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51277         HAVE_DECL_SNPRINTF.
51278         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
51279         * lib/getaddrinfo.c: Likewise.
51280
51281         * modules/stdio: New file.
51282         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
51283         * lib/snprintf.h: Remove file.
51284         * lib/vsnprintf.h: Remove file.
51285         * lib/.cppi-disable: Remove snprintf.h.
51286         * m4/stdio_h.m4: New file.
51287         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
51288
51289 2007-02-20  Jim Meyering  <jim@meyering.net>
51290
51291         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
51292         used by e.g., mingw.  From Bruno Haible.
51293
51294 2007-02-19  Bruno Haible  <bruno@clisp.org>
51295
51296         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
51297         warnings.
51298         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51299
51300 2007-02-19  Bruno Haible  <bruno@clisp.org>
51301
51302         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
51303         from mingw users.
51304
51305 2007-02-19  Bruno Haible  <bruno@clisp.org>
51306
51307         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
51308         warnings.
51309         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
51310
51311 2007-02-19  Jim Meyering  <jim@meyering.net>
51312
51313         Don't use FD after a successful "fdopendir (fd)".
51314         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
51315         Reset it by calling dirfd on the just-obtained DIR*.
51316
51317         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
51318         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
51319
51320 2007-02-18  Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/readlink.c: Include <unistd.h>.
51323         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
51324         HAVE_READLINK.
51325         * modules/readlink (Depends-on): Add unistd.
51326         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51327         (Include): Add <unistd.h>.
51328
51329         * lib/getlogin_r.h: Remove file.
51330         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
51331         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
51332         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
51333         HAVE_DECL_GETLOGIN_R.
51334         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
51335         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51336         (Include): Use <unistd.h> instead of getlogin_r.h.
51337
51338         * lib/getcwd.h: Remove file.
51339         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
51340         * lib/xgetcwd.c: Likewise.
51341         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
51342         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
51343         * modules/getcwd (Files): Remove lib/getcwd.h.
51344         (Depends-on): Add unistd.
51345         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51346         (Include): Use <unistd.h> instad of getcwd.h.
51347
51348         * lib/ftruncate.c: Include <unistd.h> first.
51349         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
51350         Set HAVE_FTRUNCATE.
51351         * modules/ftruncate (Depends-on): Add unistd.
51352         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51353
51354         * lib/fchdir.c: Include <unistd.h> first.
51355         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
51356         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
51357         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
51358         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51359         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
51360
51361         * lib/dup2.c: Include <unistd.h> first.
51362         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
51363         HAVE_DUP2.
51364         * modules/dup2 (Depends-on): Add unistd.
51365         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51366
51367         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
51368         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
51369         REPLACE_CHOWN. Don't define chown as a macro here.
51370         * modules/chown (Depends-on): Add unistd.
51371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51372
51373         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
51374         Add definition for GL_LINK_WARNING.
51375         (chown, dup2): New declarations.
51376         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
51377         link warning.
51378         (ftruncate): New declaration.
51379         (getcwd): New declaration, taken from old getcwd.h.
51380         (getlogin_r): New declaration, taken from old getlogin_r.h.
51381         (readlink): New declaration.
51382         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
51383         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
51384         (gl_PREREQ_UNISTD): Remove macro.
51385         (gl_UNISTD_MODULE_INDICATOR): New macro.
51386         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
51387         many new variables. Don't set UNISTD_H.
51388         * modules/unistd (Description): Change.
51389         (Depends-on): Add link-warning.
51390         (configure.ac): Update.
51391         (Makefile.am): Create unistd.h always. Substitute many new variables
51392         into it.
51393
51394 2007-02-18  Bruno Haible  <bruno@clisp.org>
51395
51396         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
51397         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
51398         HAVE_GETSUBOPT.
51399         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
51400         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
51401         * lib/getsubopt.h: Remove file.
51402         * modules/getsubopt (Files): Remove lib/getsubopt.h.
51403         (Depends-on): Add stdlib.
51404         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51405         (Includes): Use <stdlib.h> instead of getsubopt.h.
51406         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
51407         Set HAVE_GETSUBOPT.
51408         * lib/getsubopt.c: Don't include getsubopt.h.
51409
51410 2007-02-18  Bruno Haible  <bruno@clisp.org>
51411
51412         * modules/fchdir (Depends-on): Add dup2.
51413
51414 2007-02-18  Bruno Haible  <bruno@clisp.org>
51415
51416         * lib/stdlib_.h: Handle glibc's special invocation convention
51417         specially.
51418
51419 2007-02-18  Bruno Haible  <bruno@clisp.org>
51420
51421         * modules/stdlib-tests: New file.
51422         * tests/test-stdlib.c: New file.
51423
51424         * modules/mkstemp (Files): Remove lib/mkstemp.h.
51425         (Depends-on): Add stdlib.
51426         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51427         (Includes): Use <stdlib.h> instead of mkstemp.h.
51428         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51429         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
51430         * lib/mkstemp.c: Don't include mkstemp.h.
51431         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
51432         * lib/stdlib--.h: Don't include mkstemp.h.
51433
51434         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
51435         (Depends-on): Add stdlib.
51436         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51437         (Includes): Use <stdlib.h> instead of mkdtemp.h.
51438         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51439         HAVE_MKDTEMP.
51440         * lib/mkdtemp.c: Don't include mkdtemp.h.
51441         * lib/clean-temp.c: Don't include mkdtemp.h.
51442
51443         * modules/exit (Files): Remove lib/exit.h.
51444         (Depends-on): Add stdlib.
51445         (Makefile.am): Remove lib_SOURCES.
51446         (Include): Use <stdlib.h> instead of exit.h.
51447         * lib/argmatch.c: Don't include exit.h.
51448         * lib/execute.c: Likewise.
51449         * lib/pagealign_alloc.c: Likewise.
51450         * lib/pipe.c: Likewise.
51451         * lib/wait-process.c: Likewise.
51452         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
51453         * lib/exitfail.c: Likewise.
51454         * lib/savewd.c: Likewise.
51455         * lib/xsetenv.c: Likewise.
51456
51457         * modules/stdlib: New file.
51458         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
51459         and extra comments about mkstemp().
51460         * lib/exit.h: Remove file.
51461         * lib/mkdtemp.h: Remove file.
51462         * lib/mkstemp.h: Remove file.
51463         * m4/stdlib_h.m4: New file.
51464         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
51465
51466 2007-02-18  Bruno Haible  <bruno@clisp.org>
51467
51468         * modules/math-tests: New file.
51469         * tests/test-math.c: New file.
51470
51471         * modules/math: New file.
51472         * modules/mathl (Files): Remove lib/mathl.h.
51473         (Depends-on): Add math.
51474         (Makefile.am): Don't mention mathl.h.
51475         (Include): Use <math.h> instead of mathl.h.
51476         * lib/math_.h: New file.
51477         * lib/mathl.h: Remove file.
51478         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
51479         mathl.h.
51480         * lib/asinl.c: Likewise.
51481         * lib/atanl.c: Likewise.
51482         * lib/ceill.c: Likewise.
51483         * lib/cosl.c: Likewise.
51484         * lib/expl.c: Likewise.
51485         * lib/floorl.c: Likewise.
51486         * lib/frexpl.c: Likewise.
51487         * lib/ldexpl.c: Likewise.
51488         * lib/logl.c: Likewise.
51489         * lib/sincosl.c: Likewise.
51490         * lib/sinl.c: Likewise.
51491         * lib/sqrtl.c: Likewise.
51492         * lib/tanl.c: Likewise.
51493         * lib/trigl.c: Likewise.
51494         * m4/math_h.m4: New file.
51495         * MODULES.html.sh (Mathematics): Add math.
51496
51497 2007-02-17  Bruno Haible  <bruno@clisp.org>
51498
51499         * modules/wctype-tests: New file.
51500         * tests/test-wctype.c: New file.
51501
51502         * modules/wchar-tests: New file.
51503         * tests/test-wchar.c: New file.
51504
51505         * modules/unistd-tests: New file.
51506         * tests/test-unistd.c: New file.
51507
51508         * modules/time-tests: New file.
51509         * tests/test-time.c: New file.
51510
51511         * modules/sysexits-tests: New file.
51512         * tests/test-sysexits.c: New file.
51513
51514         * modules/sys_time-tests: New file.
51515         * tests/test-sys_time.c: New file.
51516
51517         * modules/sys_stat-tests: New file.
51518         * tests/test-sys_stat.c: New file.
51519
51520         * modules/sys_socket-tests: New file.
51521         * tests/test-sys_socket.c: New file.
51522
51523         * modules/sys_select-tests: New file.
51524         * tests/test-sys_select.c: New file.
51525
51526         * modules/string-tests: New file.
51527         * tests/test-string.c: New file.
51528
51529         * modules/stdbool-tests: New file.
51530         * tests/test-stdbool.c: New file.
51531
51532         * modules/netinet_in-tests: New file.
51533         * tests/test-netinet_in.c: New file.
51534
51535         * modules/inttypes-tests: New file.
51536         * tests/test-inttypes.c: New file.
51537
51538         * modules/fcntl-tests: New file.
51539         * tests/test-fcntl.c: New file.
51540
51541         * modules/byteswap-tests: New file.
51542         * tests/test-byteswap.c: New file.
51543
51544         * modules/arpa_inet-tests: New file.
51545         * tests/test-arpa_inet.c: New file.
51546
51547 2007-02-17  Bruno Haible  <bruno@clisp.org>
51548
51549         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
51550         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
51551         if the corresponding module is not enabled. Emit link warnings if
51552         the function is used nevertheless.
51553         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
51554         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
51555         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
51556         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
51557         * modules/inttypes (Depends-on): Add link-warning.
51558         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51559         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
51560         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
51561         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
51562         * modules/imaxdiv (configure.ac): Likewise.
51563         * modules/strtoimax (configure.ac): Likewise.
51564         * modules/strtoumax (configure.ac): Likewise.
51565
51566 2007-02-17  Bruno Haible  <bruno@clisp.org>
51567
51568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
51569         gl_STRING_MODULE_INDICATOR_DEFAULTS.
51570         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
51571         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
51572
51573 2007-02-17  Bruno Haible  <bruno@clisp.org>
51574
51575         * modules/link-warning: New file.
51576         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
51577         * lib/string_.h (GL_LINK_WARNING): Remove definition.
51578         * modules/string (Depends-on): Add link-warning.
51579         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51580         string.h.
51581         * MODULES.html.sh (Support for building libraries and executables): Add
51582         link-warning.
51583
51584 2007-02-17  Bruno Haible  <bruno@clisp.org>
51585
51586         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
51587         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
51588         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
51589         long lines.
51590
51591 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
51592             Bruno Haible  <bruno@clisp.org>
51593
51594         * modules/tmpfile: New file.
51595         * lib/tmpfile.c: New file.
51596         * m4/tmpfile.m4: New file.
51597         * MODULES.html.sh (func_all_modules): New section "Input/output".
51598
51599 2007-02-15  Bruno Haible  <bruno@clisp.org>
51600
51601         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
51602         (supports_delete_on_close): New function.
51603         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
51604
51605 2007-02-14  Bruno Haible  <bruno@clisp.org>
51606
51607         * modules/mbspcasecmp-tests: New file.
51608         * tests/test-mbspcasecmp.sh: New file.
51609         * tests/test-mbspcasecmp.c: New file.
51610
51611         New module mbspcasecmp.
51612         * modules/mbspcasecmp: New file.
51613         * lib/mbspcasecmp.c: New file.
51614         * lib/string_.h (strncasecmp): Change warning message.
51615         (mbspcasecmp): New declaration.
51616         * m4/mbspcasecmp.m4: New file.
51617         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51618         GNULIB_MBSPCASECMP.
51619         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
51620         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
51621
51622 2007-02-14  Bruno Haible  <bruno@clisp.org>
51623
51624         * modules/mbsncasecmp-tests: New file.
51625         * tests/test-mbsncasecmp.sh: New file.
51626         * tests/test-mbsncasecmp.c: New file.
51627
51628         New module mbsncasecmp.
51629         * modules/mbsncasecmp: New file.
51630         * lib/mbsncasecmp.c: New file.
51631         * lib/string_.h (mbsncasecmp): New declaration.
51632         * m4/mbsncasecmp.m4: New file.
51633         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51634         GNULIB_MBSNCASECMP.
51635         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
51636         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
51637
51638 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51639
51640         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
51641         Verify that it doesn't overlap with our flags.
51642         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
51643         do not have the desired effect in multibyte locales; instead, use
51644         mbscasecmp.
51645         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
51646         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
51647         we don't require GNU fnmatch ourselves (if our users require it, they
51648         should do so explicitly).
51649
51650         Fix regex code so it doesn't rely on strcasecmp.
51651         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
51652         Otherwise, include gnulib's langinfo.h.
51653         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
51654         undesirable behavior in non-C locales.  Instead, rely on localecharset.
51655         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
51656         * modules/regex (FILES): Remove m4/codeset.m4.
51657         (Depends-on): Add localcharset.  Remove strcase.
51658
51659 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51660
51661         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
51662         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
51663
51664 2007-02-13  Bruno Haible  <bruno@clisp.org>
51665
51666         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
51667         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51668
51669 2007-02-12  Bruno Haible  <bruno@clisp.org>
51670
51671         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51672         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
51673         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
51674         time warning rather than a link error.
51675
51676 2007-02-12  Bruno Haible  <bruno@clisp.org>
51677
51678         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
51679         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51680         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51681
51682 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51683
51684         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
51685         args, not 2.
51686
51687 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51688
51689         New module 'time', so that apps can include <time.h> as per
51690         POSIX and GNU instead of separate include files like time_r.h
51691         and timegm.h.  This implementation tries out a simpler approach
51692         for replacing decls in standard include files (as compared to
51693         the string module), somewhat as an experiment.
51694
51695         * config/srclist.txt: Comment out mktime.c for now.
51696         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51697         since it doesn't apply any more.  Use generic wording instead.
51698         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51699         'time'.
51700         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51701         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51702         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51703         Don't include <sys/types.h>; no longer needed since we assume C89.
51704         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51705         * lib/strftime.c: Likewise.
51706         * lib/time_r.c: Likewise.
51707         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51708         * lib/nanosleep.c: Include <time.h> first, to check interface.
51709         * lib/strptime.c: Likewise.
51710         * lib/time_r.c: Likewise.
51711         * lib/timegm.c: Likewise.
51712         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51713         needed.
51714         * lib/timegm.c: Don't include timegm.h; no longer needed.
51715         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51716         time.h now handles any problems in that area.
51717         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51718         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51719         that time.h defines struct timespec.
51720         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51721         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51722         handles that.
51723         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51724         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51725         needed.  Set REPLACE_LOCALTIME.
51726         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51727         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51728         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51729         nanosleep; time_h.m4 now does that.  Don't require
51730         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51731         module handles this now.
51732         * modules/getdate (Depends-on): Remove timespec.  Add time.
51733         * modules/nanosleep (Depends-on): Likewise.
51734         * modules/stat-time (Depends-on): Likewise.
51735         * modules/nanosleep (Include): Include time.h, not timespec.h.
51736         * modules/strptime (Files): Remove lib/strptime.h.
51737         (Depends-on): Add extensions, time.
51738         (Include): Include time.h, not strptime.h.
51739         * modules/time_r (Files): Remove lib/time_r.h.
51740         (Depends-on): Add time.
51741         (Include): Include time.h, not time_r.h.
51742         * modules/timegm: Likewise.
51743         * modules/timespec (Description): Now does timespec-related decls
51744         of our own, instead of struct timespec itself.
51745         (Depends-on): Add time; remove extensions.
51746         (Maintainer): Add self.
51747         * modules/utimecmp (Depends-on): Add time; remove timespec.
51748         * modules/utimens (Depends-on): Likewise.
51749         * modules/xnanosleep (Depends-on): Likewise.
51750
51751 2007-02-11  Bruno Haible  <bruno@clisp.org>
51752
51753         * lib/c-strstr.c: Include allocsa.h.
51754         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51755         * lib/c-strcasestr.c: Include allocsa.h.
51756         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51757         * lib/strcasestr.c: Include allocsa.h.
51758         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51759         * lib/mbsstr.c: Include allocsa.h.
51760         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51761         allocsa/freesa instead of malloc/free.
51762         * lib/mbscasestr.c: Include allocsa.h.
51763         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51764         allocsa/freesa instead of malloc/free.
51765         * modules/c-strstr (Depends-on): Add allocsa.
51766         * modules/c-strcasestr (Depends-on): Likewise.
51767         * modules/strcasestr (Depends-on): Likewise.
51768         * modules/mbsstr (Depends-on): Likewise.
51769         * modules/mbscasestr (Depends-on): Likewise.
51770
51771 2007-02-11  Bruno Haible  <bruno@clisp.org>
51772
51773         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51774
51775         * modules/mbsspn-tests: New file.
51776         * tests/test-mbsspn.sh: New file.
51777         * tests/test-mbsspn.c: New file.
51778
51779 2007-02-11  Bruno Haible  <bruno@clisp.org>
51780
51781         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51782
51783         * modules/mbspbrk-tests: New file.
51784         * tests/test-mbspbrk.sh: New file.
51785         * tests/test-mbspbrk.c: New file.
51786
51787 2007-02-11  Bruno Haible  <bruno@clisp.org>
51788
51789         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51790         unneeded cast.
51791
51792         * modules/mbscspn-tests: New file.
51793         * tests/test-mbscspn.sh: New file.
51794         * tests/test-mbscspn.c: New file.
51795
51796 2007-02-11  Bruno Haible  <bruno@clisp.org>
51797
51798         * modules/mbscasecmp-tests: New file.
51799         * tests/test-mbscasecmp.sh: New file.
51800         * tests/test-mbscasecmp.c: New file.
51801
51802 2007-02-11  Bruno Haible  <bruno@clisp.org>
51803
51804         Ensure O(n) worst-case complexity of mbscasestr.
51805         * lib/mbscasestr.c: Include stdbool.h.
51806         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51807         functions.
51808         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51809         the bookkeeping indicates that it's worth it.
51810         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51811
51812         * modules/mbscasestr-tests: New file.
51813         * tests/test-mbscasestr1.c: New file.
51814         * tests/test-mbscasestr2.sh: New file.
51815         * tests/test-mbscasestr2.c: New file.
51816         * tests/test-mbscasestr3.sh: New file.
51817         * tests/test-mbscasestr3.c: New file.
51818         * tests/test-mbscasestr4.sh: New file.
51819         * tests/test-mbscasestr4.c: New file.
51820         * m4/locale-tr.m4: New file.
51821
51822 2007-02-11  Bruno Haible  <bruno@clisp.org>
51823
51824         Ensure O(n) worst-case complexity of mbsstr.
51825         * lib/mbsstr.c: Include stdbool.h.
51826         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51827         functions.
51828         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51829         bookkeeping indicates that it's worth it.
51830         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51831
51832         * modules/mbsstr-tests: New file.
51833         * tests/test-mbsstr1.c: New file.
51834         * tests/test-mbsstr2.sh: New file.
51835         * tests/test-mbsstr2.c: New file.
51836         * tests/test-mbsstr3.sh: New file.
51837         * tests/test-mbsstr3.c: New file.
51838         * m4/locale-fr.m4: New file.
51839
51840 2007-02-11  Bruno Haible  <bruno@clisp.org>
51841
51842         * lib/mbsrchr.c (mbsrchr): Fix bug.
51843
51844         * modules/mbsrchr-tests: New file.
51845         * tests/test-mbsrchr.sh: New file.
51846         * tests/test-mbsrchr.c: New file.
51847
51848 2007-02-11  Bruno Haible  <bruno@clisp.org>
51849
51850         * lib/mbschr.c (mbschr): Fix bug.
51851
51852         * modules/mbschr-tests: New file.
51853         * tests/test-mbschr.sh: New file.
51854         * tests/test-mbschr.c: New file.
51855         * m4/locale-zh.m4: New file.
51856
51857 2007-02-11  Bruno Haible  <bruno@clisp.org>
51858
51859         Support for copying multibyte string iterators.
51860         * lib/mbiter.h: Include <string.h>.
51861         (mbiter_multi_copy): New function.
51862         (mbi_copy): New macro.
51863         * lib/mbuiter.h: Include <string.h>.
51864         (mbuiter_multi_copy): New function.
51865         (mbui_copy): New macro.
51866
51867 2007-02-11  Bruno Haible  <bruno@clisp.org>
51868
51869         New module mbslen.
51870         * modules/mbslen: New file.
51871         * lib/mbslen.c: New file.
51872         * lib/string_.h (mbslen): New declaration.
51873         * m4/mbslen.m4: New file.
51874         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51875         GNULIB_MBSLEN.
51876         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51877         * MODULES.html.sh (Internationalization functions): Add mbslen.
51878
51879 2007-02-11  Bruno Haible  <bruno@clisp.org>
51880
51881         Ensure O(n) worst-case complexity of strcasestr substitute.
51882         * lib/strcasestr.c: Include stdbool.h.
51883         (knuth_morris_pratt): New function.
51884         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51885         bookkeeping indicates that it's worth it.
51886         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51887
51888         * modules/strcasestr-tests: New file.
51889         * tests/test-strcasestr.c: New file.
51890
51891 2007-02-11  Bruno Haible  <bruno@clisp.org>
51892
51893         Ensure O(n) worst-case complexity of c_strcasestr.
51894         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51895         (knuth_morris_pratt): New function.
51896         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51897         the bookkeeping indicates that it's worth it.
51898         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51899
51900         * modules/c-strcasestr-tests: New file.
51901         * tests/test-c-strcasestr.c: New file.
51902
51903 2007-02-11  Bruno Haible  <bruno@clisp.org>
51904
51905         Ensure O(n) worst-case complexity of c_strstr.
51906         * lib/c-strstr.c: Include stdbool.h, string.h.
51907         (knuth_morris_pratt): New function.
51908         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51909         bookkeeping indicates that it's worth it.
51910         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51911
51912         * lib/c-strstr.c: Complete rewrite for maintainability.
51913
51914         * modules/c-strstr-tests: New file.
51915         * tests/test-c-strstr.c: New file.
51916
51917 2007-02-11  Bruno Haible  <bruno@clisp.org>
51918
51919         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51920         5.2.1 and earlier, whereby \055 was treated just like the range
51921         delimiter '-'.
51922         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51923
51924 2007-02-08  Bruno Haible  <bruno@clisp.org>
51925
51926         * modules/regex (Depends-on): Add stdbool.
51927         Reported by Dalibor Topic <robilad@kaffe.org>.
51928
51929 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51930
51931         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
51932         Prefer returning from main to exiting from it.
51933         Remove unnecessary parens after sizeof.
51934
51935 2007-02-05  Bruno Haible  <bruno@clisp.org>
51936
51937         New module mbssep.
51938         * modules/mbssep: New file.
51939         * lib/mbssep.c: New file.
51940         * lib/string_.h (strsep): Add a conditional link warning.
51941         (mbssep): New declaration.
51942         * m4/mbssep.m4: New file.
51943         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51944         GNULIB_MBSSEP.
51945         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
51946         * MODULES.html.sh (Internationalization functions): Add mbssep.
51947
51948 2007-02-05  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
51951         Optimize search in case of 1 delimiter.
51952
51953 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51954
51955         * lib/acl.h: Include sys/types.h before sys/acl.h.
51956
51957 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51958
51959         Merge upstream fix for glibc bugzilla #3957:
51960
51961         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
51962
51963         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
51964         bit for RE_HAT_LISTS_NOT_NEWLINE.
51965         (build_charclass_op): Remove bogus comment.
51966
51967 2007-02-05  Simon Josefsson  <simon@josefsson.org>
51968
51969         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
51970
51971 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51972
51973         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
51974         * lib/memmem.c [!defined _LIBC]: Include config.h.
51975
51976 2007-02-04  Bruno Haible  <bruno@clisp.org>
51977
51978         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
51979         warning message.
51980
51981 2007-02-04  Bruno Haible  <bruno@clisp.org>
51982
51983         New module mbstok_r.
51984         * modules/mbstok_r: New file.
51985         * lib/mbstok_r.c: New file.
51986         * lib/string_.h (strtok_r): Change argument names to match the
51987         comments. Add a conditional link warning.
51988         (mbstok_r): New declaration.
51989         * m4/mbstok_r.m4: New file.
51990         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51991         GNULIB_MBSTOK_R.
51992         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
51993         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
51994
51995 2007-02-04  Bruno Haible  <bruno@clisp.org>
51996
51997         New module mbsspn.
51998         * modules/mbsspn: New file.
51999         * lib/mbsspn.c: New file.
52000         * lib/string_.h (strspn): Add a conditional link warning.
52001         (mbsspn): New declaration.
52002         * m4/mbsspn.m4: New file.
52003         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52004         GNULIB_MBSSPN.
52005         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
52006         * MODULES.html.sh (Internationalization functions): Add mbsspn.
52007
52008 2007-02-04  Bruno Haible  <bruno@clisp.org>
52009
52010         New module mbspbrk.
52011         * modules/mbspbrk: New file.
52012         * lib/mbspbrk.c: New file.
52013         * lib/string_.h (strpbrk): Add a conditional link warning.
52014         (mbspbrk): New declaration.
52015         * m4/mbspbrk.m4: New file.
52016         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52017         GNULIB_MBSPBRK.
52018         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
52019         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
52020
52021 2007-02-04  Bruno Haible  <bruno@clisp.org>
52022
52023         New module mbscspn.
52024         * modules/mbscspn: New file.
52025         * lib/mbscspn.c: New file.
52026         * lib/string_.h (strcspn): Add a conditional link warning.
52027         (mbscspn): New declaration.
52028         * m4/mbscspn.m4: New file.
52029         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52030         GNULIB_MBSCSPN.
52031         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
52032         * MODULES.html.sh (Internationalization functions): Add mbscspn.
52033
52034 2007-02-04  Bruno Haible  <bruno@clisp.org>
52035
52036         New module mbscasestr, reduced goal of strcasestr.
52037         * modules/mbscasestr: New file.
52038         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
52039         (mbscasestr): Renamed from strcasestr.
52040         * lib/strcasestr.c: Don't include mbuiter.h.
52041         (strcasestr): Remove support for multibyte locales.
52042         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
52043         Change the conditional link warning.
52044         (mbscasestr): New declaration.
52045         * m4/mbscasestr.m4: New file.
52046         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
52047         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
52048         REPLACE_STRCASESTR.
52049         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
52050         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52051         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52052         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
52053         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
52054         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52055         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
52056         (Depends-on): Remove mbuiter.
52057         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
52058
52059 2007-02-04  Bruno Haible  <bruno@clisp.org>
52060
52061         Simplify handling of strncasecmp.
52062         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
52063         the conditional link warning.
52064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52065         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
52066         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
52067         * modules/strcase (configure.ac): Don't invoke
52068         gl_STRING_MODULE_INDICATOR.
52069         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
52070
52071 2007-02-04  Bruno Haible  <bruno@clisp.org>
52072
52073         New module mbscasecmp, reduced goal of strcasecmp.
52074         * modules/mbscasecmp: New file.
52075         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
52076         (mbscasecmp): Renamed from strcasecmp.
52077         * lib/strcasecmp.c: Don't include mbuiter.h.
52078         (strcasecmp): Remove support for multibyte locales.
52079         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
52080         Change the conditional link warning.
52081         (mbscasecmp): New declaration.
52082         * m4/mbscasecmp.m4: New file.
52083         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
52084         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
52085         REPLACE_STRCASECMP.
52086         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
52087         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52088         GNULIB_MBSCASECMP.
52089         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
52090         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
52091         * modules/strcase (Files): Remove m4/mbrtowc.m4.
52092         (Depends-on): Remove mbuiter.
52093         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
52094
52095 2007-02-04  Bruno Haible  <bruno@clisp.org>
52096
52097         New module mbsstr. Remove module strstr.
52098         * modules/mbsstr: New file.
52099         * modules/strstr: Remove file.
52100         * lib/mbsstr.c: Renamed from lib/strstr.c.
52101         (mbsstr): Renamed from strstr.
52102         * lib/string_.h (strstr): Remove declaration. Change the conditional
52103         link warning.
52104         (mbsstr): New declaration.
52105         * m4/mbsstr.m4: New file.
52106         * m4/strstr.m4: Remove file.
52107         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52108         REPLACE_STRSTR.
52109         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
52110         Don't initialize GNULIB_STRSTR.
52111         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
52112         substitute GNULIB_STRSTR and REPLACE_STRSTR.
52113         * MODULES.html.sh (Internationalization functions): Add mbsstr.
52114         (Support for systems lacking ANSI C 89): Remove strstr.
52115
52116 2007-02-04  Bruno Haible  <bruno@clisp.org>
52117
52118         New module mbsrchr.
52119         * modules/mbsrchr: New file.
52120         * lib/mbsrchr.c: New file.
52121         * lib/string_.h (strrchr): Add a conditional link warning.
52122         (mbsrchr): New declaration.
52123         * m4/mbsrchr.m4: New file.
52124         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52125         GNULIB_MBSRCHR.
52126         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
52127         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
52128
52129 2007-02-04  Bruno Haible  <bruno@clisp.org>
52130
52131         New module mbschr.
52132         * modules/mbschr: New file.
52133         * lib/mbschr.c: New file.
52134         * lib/string_.h (strchr): Add a conditional link warning.
52135         (mbschr): New declaration.
52136         * m4/mbschr.m4: New file.
52137         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52138         GNULIB_MBSCHR.
52139         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
52140         * MODULES.html.sh (Internationalization functions): Add mbschr.
52141
52142 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52143
52144         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
52145
52146         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
52147
52148 2007-02-04  Bruno Haible  <bruno@clisp.org>
52149
52150         New module description section 'configure.ac-early'.
52151         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
52152         (func_get_autoconf_early_snippet): New function.
52153         (func_import, func_create_testdir): Use it. Remove special cases for
52154         modules 'extensions' and 'lock'.
52155         * modules/extensions (configure.ac-early): Require
52156         gl_USE_SYSTEM_EXTENSIONS.
52157         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
52158
52159 2007-02-04  Bruno Haible  <bruno@clisp.org>
52160
52161         Make use of gcj-4.3's -fsource and -ftarget option.
52162         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
52163         and if so try the options -fsource and -ftarget.
52164         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
52165         source_version, ftarget_option, target_version arguments.
52166         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
52167         (is_envjavac_oldgcj_14_14_usable): Renamed from
52168         is_envjavac_gcj_14_14_usable.
52169         (is_envjavac_oldgcj_14_13_usable): Renamed from
52170         is_envjavac_gcj_14_13_usable.
52171         (is_gcj_present): Update.
52172         (is_gcj_43, is_gcj43_usable): New functions.
52173         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
52174         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
52175         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
52176         try the options -fsource and -ftarget.
52177
52178 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52179
52180         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
52181         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
52182         larger value.
52183
52184 2007-02-03  Jim Meyering  <jim@meyering.net>
52185
52186         Give tools a better chance to allocate space for very large buffers.
52187         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
52188
52189         Make pwd and readlink work also when run with an unreadable parent dir
52190         on systems with openat support.
52191         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
52192         provided getcwd function, even when we have openat support.
52193         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
52194
52195 2007-02-02  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52198         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
52199         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
52200         portability problems if one of these functions is only used on specific
52201         platforms.
52202         Reported by Paul Eggert.
52203
52204 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52205
52206         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
52207         is causing more trouble than it's curing.
52208         * lib/regex_internal.h (__mempcpy): Remove.
52209         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
52210         (and make the code a tad smaller to boot).
52211         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
52212
52213 2007-02-02  Jim Meyering  <jim@meyering.net>
52214
52215         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
52216         section, not in the Makefile.am: one.
52217
52218 2007-02-02  Eric Blake  <ebb9@byu.net>
52219
52220         * lib/strchrnul.c: Always include config.h first.
52221
52222         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
52223         gnulib strstr is not necessary here.
52224
52225 2007-02-02  Simon Josefsson  <simon@josefsson.org>
52226
52227         * m4/socklen.m4: Fix typo.
52228
52229 2007-02-02  Eric Blake  <ebb9@byu.net>
52230
52231         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
52232         * modules/netinet_in (Makefile.am): Likewise.
52233
52234 2007-02-01  Bruno Haible  <bruno@clisp.org>
52235
52236         * lib/string_.h (GL_LINK_WARNING): New macro.
52237         (strcasecmp, strstr, strcasestr): If provided by the system,
52238         conditionally define as a macro that leads to a warning instead of to
52239         an error.
52240         (strncasecmp): Conditionally define as a macro that leads to a warning.
52241
52242 2007-02-01  Karl Berry  <karl@gnu.org>
52243
52244         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
52245
52246 2007-02-01  Bruno Haible  <bruno@clisp.org>
52247
52248         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
52249         renamings.
52250
52251 2007-02-01  Eric Blake  <ebb9@byu.net>
52252
52253         * modules/regex (Depends-on): Revert dependence on mempcpy.
52254         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
52255         module's definition of mempcpy.
52256         Reported by Paul Eggert.
52257
52258 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52259
52260         * lib/string_.h: If the gnulib module XYZ is not present, undefine
52261         the symbol XYZ before redefining it.  This fixes a problem with
52262         programs that don't use XYZ, when compiled on systems that define
52263         XYZ to something else.
52264
52265 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52266
52267         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
52268         occurs when "mkdir -m foo" creates a setgid directory that is (1)
52269         writeable to group or other and (2) is intended to have a special
52270         mode bit that is set or cleared.  In such a case, the directory
52271         should be neither group- nor other-writeable until the special
52272         mode bits are right.
52273
52274 2007-01-31  Eric Blake  <ebb9@byu.net>
52275
52276         * modules/mountlist (Depends-on): Add strstr.
52277
52278         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
52279         bug.
52280         * modules/string (Makefile.am): Remove redundant replacement.
52281         * modules/regex (Depends-on): Add mempcpy.
52282
52283 2007-01-31  Bruno Haible  <bruno@clisp.org>
52284
52285         New module description field 'Link'.
52286         * gnulib-tool (func_usage): Document --extract-link-directive.
52287         (sed_extract_prog): Recognize 'Link' directive.
52288         (func_get_link_directive): New function.
52289         (func_import): Show summary of link directives.
52290         Handle --extract-link-directive option.
52291         * modules/acl (Link): New section.
52292         * modules/clock-time (Link): New section.
52293         * modules/euidaccess (Link): New section.
52294         * modules/gettext (Link): New section.
52295         * modules/iconv (Link): New section.
52296         * modules/lock (Link): New section.
52297         * modules/nanosleep (Link): New section.
52298         * modules/readline (Link): New section.
52299
52300 2007-01-27  Bruno Haible  <bruno@clisp.org>
52301
52302         Enforce the use of gnulib modules for unportable <string.h> functions.
52303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
52304         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
52305         (gl_HEADER_STRING_H_BODY): Require it.
52306         * lib/string_.h: If the gnulib module XYZ is not present, redefine
52307         the symbol XYZ to one that gives a link error.
52308         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
52309         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
52310         * modules/mempcpy (configure.ac): Likewise.
52311         * modules/memrchr (configure.ac): Likewise.
52312         * modules/stpcpy (configure.ac): Likewise.
52313         * modules/stpncpy (configure.ac): Likewise.
52314         * modules/strcase (configure.ac): Likewise.
52315         * modules/strcasestr (configure.ac): Likewise.
52316         * modules/strchrnul (configure.ac): Likewise.
52317         * modules/strdup (configure.ac): Likewise.
52318         * modules/strndup (configure.ac): Likewise.
52319         * modules/strnlen (configure.ac): Likewise.
52320         * modules/strpbrk (configure.ac): Likewise.
52321         * modules/strsep (configure.ac): Likewise.
52322         * modules/strstr (configure.ac): Likewise.
52323         * modules/strtok_r (configure.ac): Likewise.
52324
52325 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
52326
52327         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
52328
52329 2007-01-30  Jim Meyering  <jim@meyering.net>
52330
52331         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
52332
52333 2007-01-29  Bruno Haible  <bruno@clisp.org>
52334
52335         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
52336         * lib/execute.c: Likewise.
52337         * lib/pipe.c: Likewise.
52338         * lib/printf-args.h: Likewise.
52339         * lib/printf-args.c: Likewise.
52340         * lib/printf-parse.c: Likewise.
52341         * lib/vasnprintf.c: Likewise.
52342
52343 2007-01-29  Eric Blake  <ebb9@byu.net>
52344
52345         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
52346         declaration.
52347
52348 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
52349
52350         * lib/strptime.h (strptime): Use 'restrict' for args where
52351         POSIX requires this.
52352         * lib/strptime.c (strptime): Likewise.
52353         Change license notice from LGPL to GPL, since gnulib-tool will
52354         change this as needed.
52355         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
52356         defined.
52357         Include "strptime.h" first, to check interface.
52358         Do not #undef _LIBC and _NL_CURRENT.
52359         Do not include <stdlib.h>; no longer needed.
52360         Include "time_r.h" and declare ptime_locale_status
52361         only if _LIBC is not defined.
52362         (__P): Remove unused macro.
52363         (match_string): Bring back glibc version, but use it only if _LIBC
52364         is defined.
52365         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
52366         Remove unnecessary assertion and abort() call.
52367         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
52368         * m4/strptime.m4: Fix serial number comment.
52369         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
52370         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
52371         (Depends-on): Add time_r.
52372
52373 2007-01-29  Bruno Haible  <bruno@clisp.org>
52374
52375         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52376         strptime.
52377         * modules/strptime (Depends-on): Add stdbool.
52378         * lib/strptime.h: Include <time.h> always. Add comments.
52379
52380 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52381
52382         * modules/strptime: New file.
52383         * lib/strptime.h: New file.
52384         * lib/strptime.c: New file.
52385         * m4/strptime.m4: New file.
52386
52387 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
52388
52389         * MODULES.html.sh: New module mpsort.
52390         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
52391
52392         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
52393         a circularity problem with HP-UX ia64 reported by Bob Proulx in
52394         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
52395         All uses changed.
52396         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
52397         All uses changed.
52398         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
52399         to _Restrict_.
52400         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
52401         the parameter matches the prototype.
52402
52403 2007-01-28  Jim Meyering  <jim@meyering.net>
52404
52405         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
52406         sys/time.h here, reverting that part of the previous patch:
52407         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
52408
52409 2007-01-28  Bruno Haible  <bruno@clisp.org>
52410
52411         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
52412         value of $(SYS_TIME_H).
52413         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
52414         remove it conditionally, too. [added by Jim Meyering]
52415         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
52416         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52417         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
52418         GETTIMEOFDAY_REPLACEMENT to 1.
52419
52420 2007-01-28  Bruno Haible  <bruno@clisp.org>
52421
52422         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
52423         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
52424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
52425         Set UNISTD_H instead of UNISTD_H2.
52426         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
52427
52428 2007-01-28  Bruno Haible  <bruno@clisp.org>
52429
52430         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
52431         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
52432
52433 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52434
52435         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
52436         (func_create_testdir): Ensure C locale for `grep' and `tr'
52437         character ranges.
52438         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
52439         ACLOCAL_AMFLAGS parsing state machine.
52440
52441 2007-01-27  Bruno Haible  <bruno@clisp.org>
52442
52443         * modules/unistr/base: Update.
52444
52445 2007-01-27  Bruno Haible  <bruno@clisp.org>
52446
52447         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
52448         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
52449         * modules/unistr/u32-mbtouc-unsafe: Renamed from
52450         modules/unistr/u32-mbtouc.
52451         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
52452         * lib/unistr.h: Update.
52453         * lib/linebreak.c: Update.
52454         * modules/unistr/u32-mbtouc: Renamed from
52455         modules/unistr/u32-mbtouc-safe.
52456         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
52457         * lib/unistr.h: Update.
52458         * lib/unistr/u32-to-u8.c: Update.
52459         * lib/unistr/u32-to-u16.c: Update.
52460
52461 2007-01-27  Bruno Haible  <bruno@clisp.org>
52462
52463         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
52464         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
52465         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
52466         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
52467         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
52468         * modules/unistr/u16-mbtouc-unsafe: Renamed from
52469         modules/unistr/u16-mbtouc.
52470         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
52471         * lib/unistr.h: Update.
52472         * lib/linebreak.c: Update.
52473         * modules/linebreak: Update.
52474         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
52475         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
52476         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
52477         * modules/unistr/u16-mbtouc: Renamed from
52478         modules/unistr/u16-mbtouc-safe.
52479         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
52480         * lib/unistr.h: Update.
52481         * lib/unistr/u16-to-u8.c: Update.
52482         * modules/unistr/u16-to-u8: Update.
52483         * lib/unistr/u16-to-u32.c: Update.
52484         * modules/unistr/u16-to-u32: Update.
52485
52486 2007-01-27  Bruno Haible  <bruno@clisp.org>
52487
52488         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
52489         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
52490         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
52491         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
52492         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
52493         * modules/unistr/u8-mbtouc-unsafe: Renamed from
52494         modules/unistr/u8-mbtouc.
52495         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
52496         * lib/unistr.h: Update.
52497         * lib/striconveh.c: Update.
52498         * modules/striconveh: Update.
52499         * lib/linebreak.c: Update.
52500         * modules/linebreak: Update.
52501         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
52502         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
52503         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
52504         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
52505         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
52506         * lib/unistr.h: Update.
52507         * lib/striconveh.c: Update.
52508         * modules/striconveh: Update.
52509         * lib/unistr/u8-to-u16.c: Update.
52510         * modules/unistr/u8-to-u16: Update.
52511         * lib/unistr/u8-to-u32.c: Update.
52512         * modules/unistr/u8-to-u32: Update.
52513
52514 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52515
52516         Sync from Libtool.
52517         * lib/argz.c: Do not include strings.h nor memory.h, include
52518         string.h unconditionally.  Patch by Simon Josefsson.
52519
52520 2007-01-27  Bruno Haible  <bruno@clisp.org>
52521
52522         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
52523         from gl_HEADER_STRING_H_BODY.
52524         (gl_HEADER_STRING_H_BODY): Require it.
52525         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
52526         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52527         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52528         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52529         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52530         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
52531         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52532         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52533         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
52534         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52535         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52536         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
52537         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52538         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52539         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52540
52541 2007-01-27  Bruno Haible  <bruno@clisp.org>
52542
52543         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
52544         check_PROGRAMS into noinst_PROGRAMS.
52545         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
52546         check_PROGRAMS in this case.
52547         (func_import): Set for_test to false.
52548         (func_create_testdir): Set for_test to true.
52549
52550 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
52551             Bruno Haible  <bruno@clisp.org>
52552
52553         * modules/strcasestr (Files): Remove lib/strcasestr.h.
52554         (Depends-on): Add string.
52555         (Includes): Use <string.h> instead of strcasestr.h.
52556         * modules/string (Makefile.am): Also substitute the value of
52557         REPLACE_STRCASESTR.
52558         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
52559         assume strcasestr is declared in <string.h> not <strings.h>. Also
52560         set REPLACE_STRCASESTR.
52561         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
52562         REPLACE_STRCASESTR.
52563         * lib/strcasestr.h: Remove file.
52564         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
52565         * lib/string_.h (strcasestr): New declaration.
52566
52567 2007-01-27  Bruno Haible  <bruno@clisp.org>
52568
52569         * lib/string_.h: Use 'extern'.
52570
52571 2007-01-27  Jim Meyering  <jim@meyering.net>
52572
52573         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
52574         of set-but-not-used local, "q".
52575
52576         * lib/mempcpy.c: Include <config.h> before <string.h>.
52577         This fixes a compilation error on HP-UX, due to the system's
52578         "restrict"-using mempcpy prototype.
52579
52580 2007-01-26  Bruno Haible  <bruno@clisp.org>
52581
52582         Small optimization.
52583         * lib/javacomp.c: Include c-strstr.h.
52584          (is_envjavac_gcj): Use c_strstr instead of strstr.
52585         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
52586
52587 2007-01-26  Bruno Haible  <bruno@clisp.org>
52588
52589         * MODULES.html.sh (Unicode string functions): Add the new modules.
52590
52591         * modules/uniconv/u32-strconv-to-locale: New file.
52592         * lib/uniconv/u32-strconv-to-locale.c: New file.
52593
52594         * modules/uniconv/u16-strconv-to-locale: New file.
52595         * lib/uniconv/u16-strconv-to-locale.c: New file.
52596
52597         * modules/uniconv/u8-strconv-to-locale: New file.
52598         * lib/uniconv/u8-strconv-to-locale.c: New file.
52599
52600         * modules/uniconv/u32-strconv-from-locale: New file.
52601         * lib/uniconv/u32-strconv-from-locale.c: New file.
52602
52603         * modules/uniconv/u16-strconv-from-locale: New file.
52604         * lib/uniconv/u16-strconv-from-locale.c: New file.
52605
52606         * modules/uniconv/u8-strconv-from-locale: New file.
52607         * lib/uniconv/u8-strconv-from-locale.c: New file.
52608
52609         * modules/uniconv/u32-strconv-to-enc: New file.
52610         * lib/uniconv/u32-strconv-to-enc.c: New file.
52611         * modules/uniconv/u32-strconv-to-enc-tests: New file.
52612         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
52613
52614         * modules/uniconv/u16-strconv-to-enc: New file.
52615         * lib/uniconv/u16-strconv-to-enc.c: New file.
52616         * lib/uniconv/u-strconv-to-enc.h: New file.
52617         * modules/uniconv/u16-strconv-to-enc-tests: New file.
52618         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
52619
52620         * modules/uniconv/u8-strconv-to-enc: New file.
52621         * lib/uniconv/u8-strconv-to-enc.c: New file.
52622         * modules/uniconv/u8-strconv-to-enc-tests: New file.
52623         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
52624
52625         * modules/uniconv/u32-strconv-from-enc: New file.
52626         * lib/uniconv/u32-strconv-from-enc.c: New file.
52627         * modules/uniconv/u32-strconv-from-enc-tests: New file.
52628         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
52629
52630         * modules/uniconv/u16-strconv-from-enc: New file.
52631         * lib/uniconv/u16-strconv-from-enc.c: New file.
52632         * modules/uniconv/u16-strconv-from-enc-tests: New file.
52633         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
52634
52635         * modules/uniconv/u8-strconv-from-enc: New file.
52636         * lib/uniconv/u8-strconv-from-enc.c: New file.
52637         * lib/uniconv/u-strconv-from-enc.h: New file.
52638         * modules/uniconv/u8-strconv-from-enc-tests: New file.
52639         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
52640
52641         * modules/uniconv/u32-conv-from-enc: New file.
52642         * lib/uniconv/u32-conv-from-enc.c: New file.
52643         * modules/uniconv/u32-conv-from-enc-tests: New file.
52644         * tests/uniconv/test-u32-conv-from-enc.c: New file.
52645
52646         * modules/uniconv/u16-conv-from-enc: New file.
52647         * lib/uniconv/u16-conv-from-enc.c: New file.
52648         * lib/uniconv/u-conv-from-enc.h: New file.
52649         * modules/uniconv/u16-conv-from-enc-tests: New file.
52650         * tests/uniconv/test-u16-conv-from-enc.c: New file.
52651
52652         * modules/uniconv/u8-conv-from-enc: New file.
52653         * lib/uniconv/u8-conv-from-enc.c: New file.
52654         * modules/uniconv/u8-conv-from-enc-tests: New file.
52655         * tests/uniconv/test-u8-conv-from-enc.c: New file.
52656
52657         * modules/uniconv/base: New file.
52658         * lib/uniconv.h: New file.
52659
52660 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52661
52662         * doc/gnulib-tool.texi (Initial import): Update to match current
52663         behavior with strdup module.
52664         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
52665         * lib/memmem.h: Remove; all uses removed.  This is now done
52666         by <string.h>.
52667         * lib/mempcpy.h: Likewise.
52668         * lib/memrchr.h: Likewise.
52669         * lib/stpcpy.h: Likewise.
52670         * lib/stpncpy.h: Likewise.
52671         * lib/strcase.h: Likewise.
52672         * lib/strchrnul.h: Likewise.
52673         * lib/strdup.h: Likewise.
52674         * lib/strndup.h: Likewise.
52675         * lib/strnlen.h: Likewise.
52676         * lib/strpbrk.h: Likewise.
52677         * lib/strsep.h: Likewise.
52678         * lib/strstr.h: Likewise.
52679         * lib/strtok_r.h: Likewise.
52680         * lib/string_.h: New file.
52681         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
52682         Rely on <string.h> instead.
52683         * lib/canon-host.c: Likewise.
52684         * lib/chdir-long.c: Likewise.
52685         * lib/concatpath.c: Likewise.
52686         * lib/exclude.c: Likewise.
52687         * lib/fchdir.c: Likewise.
52688         * lib/getaddrinfo.c: Likewise.
52689         * lib/getcwd.c: Likewise.
52690         * lib/getsubopt.c: Likewise.
52691         * lib/glob.c: Likewise.
52692         * lib/hard-locale.c: Likewise.
52693         * lib/iconvme.c: Likewise.
52694         * lib/javacomp.c: Likewise.
52695         * lib/mempcpy.c: Likewise.
52696         * lib/memrchr.c: Likewise.
52697         * lib/regex_internal.h: Likewise.
52698         * lib/stpncpy.c: Likewise.
52699         * lib/strcasecmp.c: Likewise.
52700         * lib/strchrnul.c: Likewise.
52701         * lib/strdup.c: Likewise.
52702         * lib/striconv.c: Likewise.
52703         * lib/striconveh.c: Likewise.
52704         * lib/striconveha.c: Likewise.
52705         * lib/strncasecmp.c: Likewise.
52706         * lib/strndup.c: Likewise.
52707         * lib/strnlen.c: Likewise.
52708         * lib/strsep.c: Likewise.
52709         * lib/strstr.c: Likewise.
52710         * lib/strtok_r.c: Likewise.
52711         * lib/userspec.c: Likewise.
52712         * lib/w32spawn.h: Likewise.
52713         * lib/xstrndup.c: Likewise.
52714         * lib/mountlist.c (strstr): Remove decl.
52715         * m4/string_h.m4: New file.
52716         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52717         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52718         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52719         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52720         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52721         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52722         Set REPLACE_STRCASECMP if necessary.
52723         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52724         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52725         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52726         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52727         HAVE_DECL_STRDUP if necessary.
52728         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52729         since gl_FUNC_STRNDUP does that now.
52730         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52731         Check for decl here...
52732         (gl_PREREQ_STRNLEN): ... not here.
52733         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52734         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52735         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52736         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52737         necessary.
52738         * modules/string: New file.
52739         * modules/memmem (Files): Remove special-purpose include file.
52740         (Depends-on): Add string.
52741         (Include): Include <string.h>, not the removed file.
52742         * modules/mempcpy: Likewise.
52743         * modules/memrchr: Likewise.
52744         * modules/stpcpy: Likewise.
52745         * modules/stpncpy: Likewise.
52746         * modules/strcase: Likewise.
52747         * modules/strchrnul: Likewise.
52748         * modules/strdup: Likewise.
52749         * modules/strndup: Likewise.
52750         * modules/strnlen: Likewise.
52751         * modules/strpbrk: Likewise.
52752         * modules/strsep: Likewise.
52753         * modules/strstr: Likewise.
52754         * modules/strtok_r: Likewise.
52755         * tests/test-dirname.c: Don't include "strdup.h", since
52756         <string.h> now suffices.
52757         * tests/test-memmem.c: Don't include "memmem.h", since
52758         <string.h> now suffices.
52759
52760 2007-01-25  Bruno Haible  <bruno@clisp.org>
52761
52762         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52763         *resultp is 0.
52764
52765         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52766         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52767         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52768         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52769
52770         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52771         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52772         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52773         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52774         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52775         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52776
52777 2007-01-24  Bruno Haible  <bruno@clisp.org>
52778
52779         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52780         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52781         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52782         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52783         gl_FUNC_FTS_CORE.
52784         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52785         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52786         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52787         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52788         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52789         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52790         gl_FUNC_FCHOWNAT.
52791         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52792         gl_FUNC_STRFTIME.
52793         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52794         Reported by Ralf Wildenhues.
52795
52796 2007-01-24  Bruno Haible  <bruno@clisp.org>
52797
52798         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52799         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52800         gl_GETADDRINFO.
52801         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52802         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52803         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52804
52805 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52806
52807         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52808         Don't use 'exit'; just return from 'main'.
52809         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52810
52811         * lib/fnmatch_.h: Readjust white space and comments to match
52812         glibc, to avoid spurious diffs.
52813
52814 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52815
52816         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52817         2004-12-01 change by Jakub Jelinek, since this code won't compile
52818         if !LIBC.  Problem reported by Bob Proulx.
52819
52820 2007-01-23  Bruno Haible  <bruno@clisp.org>
52821
52822         * lib/striconveh.c: Include c-strcaseeq.h.
52823         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52824         * modules/striconveh (Depends-on): Add c-strcaseeq.
52825
52826 2007-01-23  Bruno Haible  <bruno@clisp.org>
52827
52828         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52829
52830         * modules/c-strcaseeq: New file.
52831         * lib/c-strcaseeq.h: New file.
52832
52833         * modules/streq: New file.
52834         * lib/streq.h: New file.
52835
52836 2007-01-23  Bruno Haible  <bruno@clisp.org>
52837
52838         * modules/striconveha-tests: New file.
52839         * tests/test-striconveha.c: New file.
52840
52841         * lib/striconveha.h: Include <stdbool.h>.
52842         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52843         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52844         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52845         (mem_iconveha): New function.
52846         (str_iconveha_notranslit): Renamed from str_iconveha.
52847         (str_iconveha): New function.
52848         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52849         c-strcase.
52850
52851 2007-01-23  Bruno Haible  <bruno@clisp.org>
52852
52853         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52854         encodings without forgiving before trying any encoding with handler.
52855         (str_iconveha): Try all encodings without forgiving before trying any
52856         encoding with handler.
52857
52858 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52859
52860         Import the following changes from libc.
52861
52862         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52863
52864         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52865
52866         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52867
52868         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52869         normal_bracket label.
52870
52871         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52872
52873         [BZ #361]
52874         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52875         to normal_bracket after fetching the next character.
52876
52877 2007-01-22  Bruno Haible  <bruno@clisp.org>
52878
52879         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52880         argument.
52881         * lib/striconveh.c (iconv_carefully_1): New function.
52882         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52883         argument.
52884         (str_cd_iconveh): Update.
52885         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52886         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52887         * tests/test-striconveh.c (MAGIC): New macro.
52888         (new_offsets): New function.
52889         (main): Test call with and without offsets.
52890
52891 2007-01-22  Bruno Haible  <bruno@clisp.org>
52892
52893         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52894         * modules/sys_select (Makefile.am): Likewise.
52895         * modules/sys_socket (Makefile.am): Likewise.
52896         * modules/sys_time (Makefile.am): Likewise.
52897
52898 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52899
52900         * modules/gettimeofday (License): Change from GPL to LGPL, since
52901         gettimeofday is a library function.
52902
52903 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52904
52905         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52906
52907 2007-01-21  Bruno Haible  <bruno@clisp.org>
52908
52909         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52910
52911 2007-01-21  Bruno Haible  <bruno@clisp.org>
52912
52913         * modules/striconveha: New file.
52914         * lib/striconveha.h: New file.
52915         * lib/striconveha.c: New file.
52916         * MODULES.html.sh (Internationalization functions): Add striconveha.
52917         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52918         string.
52919         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52920
52921 2007-01-21  Bruno Haible  <bruno@clisp.org>
52922
52923         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
52924         * lib/striconveh.c (str_iconveh): Likewise.
52925
52926 2007-01-21  Bruno Haible  <bruno@clisp.org>
52927
52928         * lib/striconveh.h (mem_iconveh): New declaration.
52929         * lib/striconveh.c (mem_iconveh): New function.
52930         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
52931
52932 2007-01-21  Bruno Haible  <bruno@clisp.org>
52933
52934         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
52935
52936         * lib/striconveh.h (mem_cd_iconveh): Change specification.
52937         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
52938         original result buffer.
52939         (str_cd_iconveh): Update.
52940         * tests/test-striconveh.c (main): Update.
52941
52942         * lib/striconv.h (mem_cd_iconv): Change specification.
52943         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
52944         result buffer.
52945         (str_cd_iconv): Update.
52946         * tests/test-striconv.c (main): Update.
52947
52948 2007-01-21  Bruno Haible  <bruno@clisp.org>
52949
52950         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
52951
52952 2007-01-20  Jim Meyering  <jim@meyering.net>
52953
52954         * lib/userspec.c (parse_with_separator): If a user or group string
52955         starts with "+", skip the corresponding name-to-ID look-up, since
52956         such a look-up must fail: user and group names may not include "+".
52957
52958 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
52959
52960         * lib/poll.c: Include sys/time.h and time.h unconditionally,
52961         since we now assume the sys_time module.
52962         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
52963         check for sys/time.h; no longer needed.
52964         * modules/poll (Depends-on): Depend on sys_time.
52965
52966 2007-01-18  Bruno Haible  <bruno@clisp.org>
52967
52968         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
52969         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52970
52971         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
52972         gettimeofday.
52973
52974         * tests/test-gettimeofday.c: Include <time.h>.
52975         (dummy): Remove variable.
52976
52977         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
52978         gl_HEADER_SYS_TIME_H.
52979         (gl_HEADER_SYS_TIME_H): New macro.
52980
52981         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
52982         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52983         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52984         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
52985         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52986         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
52987         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
52988         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52989         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
52990         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
52991         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52992
52993         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
52994         last change; it caused a compilation error when cross-compiling to
52995         Cygwin.
52996
52997 2007-01-18  Jim Meyering  <jim@meyering.net>
52998
52999         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
53000         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
53001         than the race-prone "test -d sys || mkdir sys".
53002         (configure.ac): Use AC_PROG_MKDIR_P.
53003         * modules/sys_select: Likewise.
53004         * modules/sys_socket: Likewise.
53005         * modules/sys_time: Likewise.
53006
53007 2007-01-18  Eric Blake  <ebb9@byu.net>
53008
53009         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
53010         replace gettimeofday.
53011         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
53012         name, to avoid infinite recursion.
53013
53014 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
53015
53016         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
53017         module sys_time.
53018         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
53019         assume timespec.h defines struct timeval.
53020         * lib/settime.c: Likewise.
53021         * lib/utimens.c: Likewise.
53022         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
53023         since we now assume the gettimeofday module.
53024         * lib/tempname.c (__gen_tempname): Likewise.
53025         * lib/gettimeofday.h: Remove.
53026         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
53027         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
53028         Include <time.h>, for 'time()'.
53029         (localtime_buffer_addr): Also use this workaround if
53030         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
53031         to simplify the uses.  All uses changed.
53032         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
53033         that #undef is inside {}, and 'const' follows type name consistently.
53034         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
53035         (gettimeofday): Do not use the maximum possible value for
53036         tv->tv_usec, since that might break usages other than ls.c.
53037         Instead, we'll leave ls.c alone.  This undoes today's patch
53038         by Bruno.  Add a compile-time warning for 1s-clock resolution;
53039         we've never observed the problem but might as well keep the
53040         canary.
53041         * lib/nanosleep.c: Include timespec.h first, for interface check.
53042         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
53043         now assume the sys_time module.
53044         * lib/tempname.c: Likewise.
53045         * lib/timespec.h: Likewise.
53046         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
53047         needed.
53048         * lib/strftime.c: Likewise.
53049         * lib/timespec.h: Likewise.
53050         * lib/posixtm.c: Include posixtm.h first, for interface check.
53051         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
53052         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
53053         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
53054         * lib/sys_time_.h: New file.
53055         * lib/timespec.h (struct timespec): Use long int, not long.
53056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53057         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
53058         Remove obsolescent call to AC_HEADER_TIME.
53059         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53061         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53062         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
53063         Likewise.
53064         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
53065         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
53066         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
53067         into the sys_time module.  Check for gettimeofday just once.
53068         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
53069         for gettimeofday signature to just check the signature.  Merely
53070         compile it, since linking doesn't test signature.  Improve test for
53071         whether gettimeofday.o is actually needed.
53072         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
53073         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
53074         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
53075         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53076         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
53077         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
53078         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
53079         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
53080         than worrying about sys/time.h.
53081         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53082         Don't bother worrying about TIME_WITH_SYS_TIME.
53083         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53084         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
53085         * m4/sys_time_h.m4: New file.
53086         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
53087         Don't include sys/time.h.  Return from main rather than exiting.
53088         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
53089         all uses changed.
53090         * modules/gethrxtime (Depends-on): Add sys_time.
53091         * modules/gettime (Depends-on): Likewise.
53092         * modules/gettimeofday (Depends-on): Likewise.
53093         * modules/nanosleep (Depends-on): Likewise.
53094         * modules/settime (Depends-on): Likewise.
53095         * modules/tempname (Depends-on): Likewise.
53096         * modules/utimens (Depends-on): Likewise.
53097         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
53098         (Include:) Change back to <sys/time.h>.
53099         (Maintainer:) Add self.
53100         * modules/sys_time: New file.
53101         * modules/tempname (Depends-on): Add gettimeofday.
53102         * tests/test-gettimeofday.c: Include <sys/time.h>
53103         rather than gettimeofday.h.
53104
53105 2007-01-17  Bruno Haible  <bruno@clisp.org>
53106
53107         * gnulib-tool (func_get_license): Revert last patch. Instead, let
53108         the license default to GPL.
53109         (func_create_testdir): Don't complain if a module is LGPL and its
53110         tests module depends on GPLed modules.
53111
53112 2007-01-17  Bruno Haible  <bruno@clisp.org>
53113
53114         * lib/gettimeofday.c (gettimeofday): Add code for the case
53115         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
53116         maximum possible value for tv->tv_usec, rather than the minimum one.
53117
53118 2005-10-08  Martin Lambers  <marlam@marlam.de>
53119 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53120 2007-01-16  Bruno Haible  <bruno@clisp.org>
53121
53122         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
53123         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
53124         gl_FUNC_GETTIMEOFDAY.
53125         (Include): Add gettimeofday.h.
53126         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
53127         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
53128         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
53129         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
53130         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
53131         * lib/gettimeofday.h: New file.
53132         * lib/gettimeofday.c: Include <sys/timeb.h>.
53133         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
53134         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53135         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
53136         fall back on time().
53137
53138         * tests/test-gettimeofday.c: New file.
53139         * modules/gettimeofday-tests: New file.
53140
53141 2007-01-16  Eric Blake  <ebb9@byu.net>
53142
53143         * modules/fnmatch (Depends-on): Depend on wchar.
53144         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
53145         * m4/fnmatch.m4: Likewise.
53146         * modules/mbchar (Makefile.am): Assume <wchar.h>.
53147         * m4/mbchar.m4: Likewise.
53148         * modules/mbswidth (Depends-on): Depend on wchar.
53149         * lib/mbswidth.c: Assume <wchar.h>.
53150         * m4/mbswidth.m4: Likewise.
53151         * modules/quotearg (Depends-on): Depend on wchar.
53152         * lib/quotearg.c: Assume <wchar.h>.
53153         * m4/quotearg.m4: Likewise.
53154         * modules/regex (Depends-on): Depend on wchar.
53155         * lib/regex_internal.h: Assume <wchar.h>.
53156         * m4/regex.m4: Likewise.
53157         * modules/stdint (Depends-on): Depend on wchar.
53158         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
53159         * m4/stdint.m4: Likewise.
53160         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
53161         * modules/strftime (Depends-on): Depend on wchar.
53162         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
53163         * modules/strtol (Depends-on): Depend on wchar.
53164         * lib/strtol.c: Assume <wchar.h>.
53165         * modules/wcwidth (Depends-on): Depend on wchar.
53166         * lib/wcwidth.h: Assume <wchar.h>.
53167         * m4/wcwidth.m4: Likewise.
53168
53169 2007-01-16  Bruno Haible  <bruno@clisp.org>
53170
53171         * modules/csharpexec-script: New, created from...
53172         * modules/csharpexec: ... this.
53173
53174 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53175
53176         * modules/javaexec-script: New, created from...
53177         * modules/javaexec: ... this.
53178
53179 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53180
53181         * modules/poll (Dependencies): Add sys_select.
53182
53183 2007-01-15  Jim Meyering  <jim@meyering.net>
53184
53185         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
53186         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
53187         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
53188         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
53189
53190 2007-01-15  Bruno Haible  <bruno@clisp.org>
53191
53192         * modules/striconveh: New file.
53193         * lib/striconveh.h: New file.
53194         * lib/striconveh.c: New file.
53195         * MODULES.html.sh (Internationalization functions): Add striconveh.
53196
53197         * modules/striconveh-tests: New file.
53198         * tests/test-striconveh.c: New file.
53199
53200 2007-01-15  Bruno Haible  <bruno@clisp.org>
53201
53202         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
53203         not from GNU libiconv or GNU libc.
53204
53205 2007-01-15  Bruno Haible  <bruno@clisp.org>
53206
53207         * doc/gnulib-intro.texi (Copyright): Explain the different license
53208         terms for module descriptions, autoconf macros, tests, documentation.
53209
53210 2007-01-14  Bruno Haible  <bruno@clisp.org>
53211
53212         * modules/striconv-tests: New file.
53213         * tests/test-striconv.c: New file.
53214
53215 2007-01-14  Bruno Haible  <bruno@clisp.org>
53216
53217         * modules/iconv-tests: New file.
53218         * tests/test-iconv.c: New file.
53219
53220 2007-01-14  Bruno Haible  <bruno@clisp.org>
53221
53222         * gnulib-tool (func_get_license): For test modules, use the license of
53223         the main module.
53224
53225 2007-01-14  Bruno Haible  <bruno@clisp.org>
53226
53227         * modules/iconv (Include): Clarify that <iconv.h> can only be included
53228         if iconv is found to exist.
53229
53230 2007-01-14  Bruno Haible  <bruno@clisp.org>
53231
53232         * modules/c-ctype-tests: New file.
53233         * tests/test-c-ctype.c: New file.
53234
53235 2007-01-14  Bruno Haible  <bruno@clisp.org>
53236
53237         * modules/binary-io-tests: New file.
53238         * tests/test-binary-io.sh: New file.
53239         * tests/test-binary-io.c: New file.
53240
53241 2007-01-14  Bruno Haible  <bruno@clisp.org>
53242
53243         * modules/array-oset-tests: New file.
53244         * tests/test-array_oset.c: New file.
53245
53246 2007-01-14  Bruno Haible  <bruno@clisp.org>
53247
53248         * modules/array-list-tests: New file.
53249         * tests/test-array_list.c: New file.
53250
53251 2007-01-14  Bruno Haible  <bruno@clisp.org>
53252
53253         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
53254         and make.
53255         Reported by Simon Josefsson in
53256         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
53257
53258 2007-01-14  Bruno Haible  <bruno@clisp.org>
53259
53260         * modules/allocsa-tests: New file.
53261         * tests/test-allocsa.c: New file.
53262
53263 2007-01-14  Bruno Haible  <bruno@clisp.org>
53264
53265         * modules/fchdir (Depends-on): Add absolute-header.
53266         * modules/unistd (Depends-on): Likewise.
53267
53268 2006-12-30  Bruno Haible  <bruno@clisp.org>
53269
53270         * modules/fchdir: New file.
53271         * modules/unistd (Files): Add lib/unistd_.h.
53272         (Makefile.am): Generate unistd.h from unistd_.h.
53273         * lib/fchdir.c: New file.
53274         * lib/dirent_.h: New file.
53275         * lib/unistd_.h: New file.
53276         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
53277         * m4/fchdir.m4: New file.
53278         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
53279         (gl_HEADER_UNISTD): Invoke it.
53280         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
53281         function.
53282         * lib/backupfile.c (opendir, closedir): Undefine.
53283         * lib/chown.c (open, close): Undefine.
53284         * lib/clean-temp.c (open, close): Undefine.
53285         * lib/copy-file.c (open, close): Undefine.
53286         * lib/execute.c (open, close): Undefine.
53287         * lib/fsusage.c (open, close): Undefine.
53288         * lib/gc-gnulib.c (open, close): Undefine.
53289         * lib/getcwd.c (opendir, closedir): Undefine.
53290         * lib/glob.c (opendir, closedir): Undefine.
53291         * lib/javacomp.c (open, close): Undefine.
53292         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
53293         * lib/openat-proc.c (open, close): Undefine.
53294         * lib/pagealign_alloc.c (open, close): Undefine.
53295         * lib/pipe.c (open, close): Undefine.
53296         * lib/progreloc.c (open, close): Undefine.
53297         * lib/savedir.c (opendir, closedir): Undefine.
53298         * lib/utime.c (open, close): Undefine.
53299         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
53300
53301 2007-01-10  Bruno Haible  <bruno@clisp.org>
53302
53303         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
53304
53305 2007-01-12  Eric Blake  <ebb9@byu.net>
53306
53307         Provide a robust <wchar.h>.  Further simplifications are now
53308         possible in other modules, but not included here.
53309         * modules/wchar: New module.
53310         * m4/wchar.m4: New file.
53311         * lib/wchar_.h: Likewise.
53312         * modules/mbchar (Depends-on): Depend on wchar, as the first use
53313         of the new module.
53314         * MODULES.html.sh (Extended multibyte and wide character utilities):
53315         New section.
53316
53317 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
53318
53319         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
53320         to a reasonable default for memory allocation.
53321         (xreadlink): Don't allocate a huge buffer, to work around a buggy
53322         file system that reports garbage st_size values for symlinks.
53323         Problem reported by Liyang Hu.
53324
53325 2007-01-11  Simon Josefsson  <simon@josefsson.org>
53326
53327         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
53328         Emacs .#* auto-save files).
53329
53330 2007-01-11  Bruno Haible  <bruno@clisp.org>
53331
53332         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
53333         directory.
53334
53335 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
53336
53337         Use @...@ consistently in lib/wctype_.h.
53338         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
53339         on it being set to 1 or 0.
53340         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
53341         go back to AC_SUBSTing it.
53342         * modules/wctype (Makefile.am): Undo previous change.
53343
53344 2007-01-10  Eric Blake  <ebb9@byu.net>
53345
53346         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
53347         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
53348         * modules/wctype (Makefile.am): Likewise.
53349         Reported by Chris McGuire.
53350
53351 2007-01-10  Jim Meyering  <jim@meyering.net>
53352
53353         fts.c: a small readability/maintainability improvement
53354         * lib/fts.c (fts_read): Make this code slightly more readable and
53355         maintainable by hoisting the "sp->fts_cur = p" assignments to
53356         immediately follow the statements that set P.  Derived from
53357         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
53358
53359 2007-01-10  Eric Blake  <ebb9@byu.net>
53360
53361         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
53362         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
53363         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53364         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53365         Reported by Chris McGuire.
53366
53367 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53368
53369         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
53370         in sed script.
53371
53372 2007-01-09  Bruno Haible  <bruno@clisp.org>
53373
53374         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
53375         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
53376         variables.
53377         (func_module): Use them.
53378
53379 2007-01-09  Bruno Haible  <bruno@clisp.org>
53380
53381         * modules/unistr/base: New file.
53382         * lib/unistr.h: New file.
53383
53384         * modules/unistr/u8-to-u16: New file.
53385         * lib/unistr/u8-to-u16.c: New file.
53386
53387         * modules/unistr/u8-to-u32: New file.
53388         * lib/unistr/u8-to-u32.c: New file.
53389
53390         * modules/unistr/u16-to-u8: New file.
53391         * lib/unistr/u16-to-u8.c: New file.
53392
53393         * modules/unistr/u16-to-u32: New file.
53394         * lib/unistr/u16-to-u32.c: New file.
53395
53396         * modules/unistr/u32-to-u8: New file.
53397         * lib/unistr/u32-to-u8.c: New file.
53398
53399         * modules/unistr/u32-to-u16: New file.
53400         * lib/unistr/u32-to-u16.c: New file.
53401
53402         * modules/unistr/u8-check: New file.
53403         * modules/unistr/u16-check: New file.
53404         * modules/unistr/u32-check: New file.
53405         * lib/unistr/u8-check.c: New file.
53406         * lib/unistr/u16-check.c: New file.
53407         * lib/unistr/u32-check.c: New file.
53408
53409         * modules/unistr/u8-chr: New file.
53410         * modules/unistr/u16-chr: New file.
53411         * modules/unistr/u32-chr: New file.
53412         * lib/unistr/u8-chr.c: New file.
53413         * lib/unistr/u16-chr.c: New file.
53414         * lib/unistr/u32-chr.c: New file.
53415
53416         * modules/unistr/u8-cmp: New file.
53417         * modules/unistr/u16-cmp: New file.
53418         * modules/unistr/u32-cmp: New file.
53419         * lib/unistr/u8-cmp.c: New file.
53420         * lib/unistr/u16-cmp.c: New file.
53421         * lib/unistr/u32-cmp.c: New file.
53422
53423         * modules/unistr/u8-cpy: New file.
53424         * modules/unistr/u16-cpy: New file.
53425         * modules/unistr/u32-cpy: New file.
53426         * lib/unistr/u8-cpy.c: New file.
53427         * lib/unistr/u16-cpy.c: New file.
53428         * lib/unistr/u32-cpy.c: New file.
53429         * lib/unistr/u-cpy.h: New file.
53430
53431         * modules/unistr/u8-cpy-alloc: New file.
53432         * modules/unistr/u16-cpy-alloc: New file.
53433         * modules/unistr/u32-cpy-alloc: New file.
53434         * lib/unistr/u8-cpy-alloc.c: New file.
53435         * lib/unistr/u16-cpy-alloc.c: New file.
53436         * lib/unistr/u32-cpy-alloc.c: New file.
53437         * lib/unistr/u-cpy-alloc.h: New file.
53438
53439         * modules/unistr/u8-endswith: New file.
53440         * modules/unistr/u16-endswith: New file.
53441         * modules/unistr/u32-endswith: New file.
53442         * lib/unistr/u8-endswith.c: New file.
53443         * lib/unistr/u16-endswith.c: New file.
53444         * lib/unistr/u32-endswith.c: New file.
53445         * lib/unistr/u-endswith.h: New file.
53446
53447         * modules/unistr/u8-mblen: New file.
53448         * modules/unistr/u16-mblen: New file.
53449         * modules/unistr/u32-mblen: New file.
53450         * lib/unistr/u8-mblen.c: New file.
53451         * lib/unistr/u16-mblen.c: New file.
53452         * lib/unistr/u32-mblen.c: New file.
53453
53454         * modules/unistr/u8-mbtouc: New file.
53455         * modules/unistr/u16-mbtouc: New file.
53456         * modules/unistr/u32-mbtouc: New file.
53457         * lib/unistr/u8-mbtouc.c: New file.
53458         * lib/unistr/u16-mbtouc.c: New file.
53459         * lib/unistr/u32-mbtouc.c: New file.
53460
53461         * modules/unistr/u8-mbtouc-safe: New file.
53462         * modules/unistr/u16-mbtouc-safe: New file.
53463         * modules/unistr/u32-mbtouc-safe: New file.
53464         * lib/unistr/u8-mbtouc-safe.c: New file.
53465         * lib/unistr/u16-mbtouc-safe.c: New file.
53466         * lib/unistr/u32-mbtouc-safe.c: New file.
53467
53468         * modules/unistr/u8-move: New file.
53469         * modules/unistr/u16-move: New file.
53470         * modules/unistr/u32-move: New file.
53471         * lib/unistr/u8-move.c: New file.
53472         * lib/unistr/u16-move.c: New file.
53473         * lib/unistr/u32-move.c: New file.
53474         * lib/unistr/u-move.h: New file.
53475
53476         * modules/unistr/u8-next: New file.
53477         * modules/unistr/u16-next: New file.
53478         * modules/unistr/u32-next: New file.
53479         * lib/unistr/u8-next.c: New file.
53480         * lib/unistr/u16-next.c: New file.
53481         * lib/unistr/u32-next.c: New file.
53482
53483         * modules/unistr/u8-prev: New file.
53484         * modules/unistr/u16-prev: New file.
53485         * modules/unistr/u32-prev: New file.
53486         * lib/unistr/u8-prev.c: New file.
53487         * lib/unistr/u16-prev.c: New file.
53488         * lib/unistr/u32-prev.c: New file.
53489
53490         * modules/unistr/u8-set: New file.
53491         * modules/unistr/u16-set: New file.
53492         * modules/unistr/u32-set: New file.
53493         * lib/unistr/u8-set.c: New file.
53494         * lib/unistr/u16-set.c: New file.
53495         * lib/unistr/u32-set.c: New file.
53496         * lib/unistr/u-set.h: New file.
53497
53498         * modules/unistr/u8-startswith: New file.
53499         * modules/unistr/u16-startswith: New file.
53500         * modules/unistr/u32-startswith: New file.
53501         * lib/unistr/u8-startswith.c: New file.
53502         * lib/unistr/u16-startswith.c: New file.
53503         * lib/unistr/u32-startswith.c: New file.
53504         * lib/unistr/u-startswith.h: New file.
53505
53506         * modules/unistr/u8-stpcpy: New file.
53507         * modules/unistr/u16-stpcpy: New file.
53508         * modules/unistr/u32-stpcpy: New file.
53509         * lib/unistr/u8-stpcpy.c: New file.
53510         * lib/unistr/u16-stpcpy.c: New file.
53511         * lib/unistr/u32-stpcpy.c: New file.
53512         * lib/unistr/u-stpcpy.h: New file.
53513
53514         * modules/unistr/u8-stpncpy: New file.
53515         * modules/unistr/u16-stpncpy: New file.
53516         * modules/unistr/u32-stpncpy: New file.
53517         * lib/unistr/u8-stpncpy.c: New file.
53518         * lib/unistr/u16-stpncpy.c: New file.
53519         * lib/unistr/u32-stpncpy.c: New file.
53520         * lib/unistr/u-stpncpy.h: New file.
53521
53522         * modules/unistr/u8-strcat: New file.
53523         * modules/unistr/u16-strcat: New file.
53524         * modules/unistr/u32-strcat: New file.
53525         * lib/unistr/u8-strcat.c: New file.
53526         * lib/unistr/u16-strcat.c: New file.
53527         * lib/unistr/u32-strcat.c: New file.
53528         * lib/unistr/u-strcat.h: New file.
53529
53530         * modules/unistr/u8-strchr: New file.
53531         * modules/unistr/u16-strchr: New file.
53532         * modules/unistr/u32-strchr: New file.
53533         * lib/unistr/u8-strchr.c: New file.
53534         * lib/unistr/u16-strchr.c: New file.
53535         * lib/unistr/u32-strchr.c: New file.
53536
53537         * modules/unistr/u8-strcmp: New file.
53538         * modules/unistr/u16-strcmp: New file.
53539         * modules/unistr/u32-strcmp: New file.
53540         * lib/unistr/u8-strcmp.c: New file.
53541         * lib/unistr/u16-strcmp.c: New file.
53542         * lib/unistr/u32-strcmp.c: New file.
53543
53544         * modules/unistr/u8-strcpy: New file.
53545         * modules/unistr/u16-strcpy: New file.
53546         * modules/unistr/u32-strcpy: New file.
53547         * lib/unistr/u8-strcpy.c: New file.
53548         * lib/unistr/u16-strcpy.c: New file.
53549         * lib/unistr/u32-strcpy.c: New file.
53550         * lib/unistr/u-strcpy.h: New file.
53551
53552         * modules/unistr/u8-strcspn: New file.
53553         * modules/unistr/u16-strcspn: New file.
53554         * modules/unistr/u32-strcspn: New file.
53555         * lib/unistr/u8-strcspn.c: New file.
53556         * lib/unistr/u16-strcspn.c: New file.
53557         * lib/unistr/u32-strcspn.c: New file.
53558         * lib/unistr/u-strcspn.h: New file.
53559
53560         * modules/unistr/u8-strdup: New file.
53561         * modules/unistr/u16-strdup: New file.
53562         * modules/unistr/u32-strdup: New file.
53563         * lib/unistr/u8-strdup.c: New file.
53564         * lib/unistr/u16-strdup.c: New file.
53565         * lib/unistr/u32-strdup.c: New file.
53566         * lib/unistr/u-strdup.h: New file.
53567
53568         * modules/unistr/u8-strlen: New file.
53569         * modules/unistr/u16-strlen: New file.
53570         * modules/unistr/u32-strlen: New file.
53571         * lib/unistr/u8-strlen.c: New file.
53572         * lib/unistr/u16-strlen.c: New file.
53573         * lib/unistr/u32-strlen.c: New file.
53574         * lib/unistr/u-strlen.h: New file.
53575
53576         * modules/unistr/u8-strmblen: New file.
53577         * modules/unistr/u16-strmblen: New file.
53578         * modules/unistr/u32-strmblen: New file.
53579         * lib/unistr/u8-strmblen.c: New file.
53580         * lib/unistr/u16-strmblen.c: New file.
53581         * lib/unistr/u32-strmblen.c: New file.
53582
53583         * modules/unistr/u8-strmbtouc: New file.
53584         * modules/unistr/u16-strmbtouc: New file.
53585         * modules/unistr/u32-strmbtouc: New file.
53586         * lib/unistr/u8-strmbtouc.c: New file.
53587         * lib/unistr/u16-strmbtouc.c: New file.
53588         * lib/unistr/u32-strmbtouc.c: New file.
53589
53590         * modules/unistr/u8-strncat: New file.
53591         * modules/unistr/u16-strncat: New file.
53592         * modules/unistr/u32-strncat: New file.
53593         * lib/unistr/u8-strncat.c: New file.
53594         * lib/unistr/u16-strncat.c: New file.
53595         * lib/unistr/u32-strncat.c: New file.
53596         * lib/unistr/u-strncat.h: New file.
53597
53598         * modules/unistr/u8-strncmp: New file.
53599         * modules/unistr/u16-strncmp: New file.
53600         * modules/unistr/u32-strncmp: New file.
53601         * lib/unistr/u8-strncmp.c: New file.
53602         * lib/unistr/u16-strncmp.c: New file.
53603         * lib/unistr/u32-strncmp.c: New file.
53604
53605         * modules/unistr/u8-strncpy: New file.
53606         * modules/unistr/u16-strncpy: New file.
53607         * modules/unistr/u32-strncpy: New file.
53608         * lib/unistr/u8-strncpy.c: New file.
53609         * lib/unistr/u16-strncpy.c: New file.
53610         * lib/unistr/u32-strncpy.c: New file.
53611         * lib/unistr/u-strncpy.h: New file.
53612
53613         * modules/unistr/u8-strnlen: New file.
53614         * modules/unistr/u16-strnlen: New file.
53615         * modules/unistr/u32-strnlen: New file.
53616         * lib/unistr/u8-strnlen.c: New file.
53617         * lib/unistr/u16-strnlen.c: New file.
53618         * lib/unistr/u32-strnlen.c: New file.
53619         * lib/unistr/u-strnlen.h: New file.
53620
53621         * modules/unistr/u8-strpbrk: New file.
53622         * modules/unistr/u16-strpbrk: New file.
53623         * modules/unistr/u32-strpbrk: New file.
53624         * lib/unistr/u8-strpbrk.c: New file.
53625         * lib/unistr/u16-strpbrk.c: New file.
53626         * lib/unistr/u32-strpbrk.c: New file.
53627         * lib/unistr/u-strpbrk.h: New file.
53628
53629         * modules/unistr/u8-strrchr: New file.
53630         * modules/unistr/u16-strrchr: New file.
53631         * modules/unistr/u32-strrchr: New file.
53632         * lib/unistr/u8-strrchr.c: New file.
53633         * lib/unistr/u16-strrchr.c: New file.
53634         * lib/unistr/u32-strrchr.c: New file.
53635
53636         * modules/unistr/u8-strspn: New file.
53637         * modules/unistr/u16-strspn: New file.
53638         * modules/unistr/u32-strspn: New file.
53639         * lib/unistr/u8-strspn.c: New file.
53640         * lib/unistr/u16-strspn.c: New file.
53641         * lib/unistr/u32-strspn.c: New file.
53642         * lib/unistr/u-strspn.h: New file.
53643
53644         * modules/unistr/u8-strstr: New file.
53645         * modules/unistr/u16-strstr: New file.
53646         * modules/unistr/u32-strstr: New file.
53647         * lib/unistr/u8-strstr.c: New file.
53648         * lib/unistr/u16-strstr.c: New file.
53649         * lib/unistr/u32-strstr.c: New file.
53650         * lib/unistr/u-strstr.h: New file.
53651
53652         * modules/unistr/u8-strtok: New file.
53653         * modules/unistr/u16-strtok: New file.
53654         * modules/unistr/u32-strtok: New file.
53655         * lib/unistr/u8-strtok.c: New file.
53656         * lib/unistr/u16-strtok.c: New file.
53657         * lib/unistr/u32-strtok.c: New file.
53658         * lib/unistr/u-strtok.h: New file.
53659
53660         * modules/unistr/u8-uctomb: New file.
53661         * modules/unistr/u16-uctomb: New file.
53662         * modules/unistr/u32-uctomb: New file.
53663         * lib/unistr/u8-uctomb.c: New file.
53664         * lib/unistr/u16-uctomb.c: New file.
53665         * lib/unistr/u32-uctomb.c: New file.
53666
53667         * MODULES.html.sh (Unicode string functions): Add the new modules.
53668
53669 2007-01-08  Bruno Haible  <bruno@clisp.org>
53670
53671         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
53672         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
53673         subdirectories.
53674
53675 2007-01-08  Karl Berry  <karl@gnu.org>
53676
53677         * doc/error.texi: mention that main() fns must set program_name
53678         when progname is used.
53679
53680 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
53681
53682         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
53683         WCTYPE_H is empty, for the benefit of builds from non-distclean
53684         directories.  Problem reported by Eric Blake in
53685         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53686
53687 2007-01-08  Bruno Haible  <bruno@clisp.org>
53688
53689         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53690         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53691         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53692         PROVIDE_CANONICALIZE_FILENAME_MODE.
53693         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53694
53695 2007-01-08  Bruno Haible  <bruno@clisp.org>
53696
53697         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53698         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53699         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53700         * lib/fts.c: Likewise.
53701         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53702
53703 2006-12-25  Bruno Haible  <bruno@clisp.org>
53704
53705         * modules/utf8-ucs4-safe: New file.
53706         * lib/utf8-ucs4-safe.h: New file.
53707         * lib/unistr/utf8-ucs4-safe.c: New file.
53708
53709         * modules/utf16-ucs4-safe: New file.
53710         * lib/utf16-ucs4-safe.h: New file.
53711         * lib/unistr/utf16-ucs4-safe.c: New file.
53712
53713         * MODULES.html.sh (Unicode string functions): Add the new modules.
53714
53715 2007-01-08  Bruno Haible  <bruno@clisp.org>
53716
53717         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53718         (Depends-on): Add unitypes.
53719         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53720         (u8_mbtouc_aux): Move out to separate file.
53721         (u8_mbtouc): Use ucs4_t, uint8_t types.
53722         * lib/unistr/utf8-ucs4.c: New file.
53723
53724         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53725         (Depends-on): Add unitypes.
53726         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53727         (u16_mbtouc_aux): Move out to separate file.
53728         (u16_mbtouc): Use ucs4_t, uint16_t types.
53729         * lib/unistr/utf16-ucs4.c: New file.
53730
53731         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53732         (Depends-on): Add unitypes.
53733         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53734         (u8_uctomb_aux): Move out to separate file.
53735         (u8_uctomb): Use ucs4_t, uint8_t types.
53736         * lib/unistr/ucs4-utf8.c: New file.
53737
53738         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53739         (Depends-on): Add unitypes.
53740         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53741         (u16_uctomb_aux): Move out to separate file.
53742         (u16_uctomb): Use ucs4_t, uint16_t types.
53743         * lib/unistr/ucs4-utf16.c: New file.
53744
53745 2006-12-25  Bruno Haible  <bruno@clisp.org>
53746
53747         * modules/unitypes: New file.
53748         * lib/unitypes.h: New file.
53749         * MODULES.html.sh (func_all_modules): New section "Unicode string
53750         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53751         this section. Add unitypes.
53752
53753 2007-01-08  Bruno Haible  <bruno@clisp.org>
53754
53755         Avoid variable names that conflict with those from libtool.
53756         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53757         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53758         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53759         library_names_spec to acl_library_names_spec, hardcode_* to
53760         acl_hardcode_*.
53761         Reported by Ralf Wildenhues.
53762
53763 2007-01-08  Bruno Haible  <bruno@clisp.org>
53764
53765         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53766         definition.
53767         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53768         definition.
53769         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53770         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53771         definition.
53772         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53773         definition.
53774         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53775         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53776         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53777         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53778         definition.
53779         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53780         definition.
53781         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53782         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53783         GC_USE_<algorithm>.
53784         * lib/gc-libgcrypt.c: Likewise.
53785         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53786         * modules/gc-arctwo (configure.ac): Likewise.
53787         * modules/gc-des (configure.ac): Likewise.
53788         * modules/gc-hmac-md5 (configure.ac): Likewise.
53789         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53790         * modules/gc-md2 (configure.ac): Likewise.
53791         * modules/gc-md4 (configure.ac): Likewise.
53792         * modules/gc-md5 (configure.ac): Likewise.
53793         * modules/gc-random (configure.ac): Likewise.
53794         * modules/gc-rijndael (configure.ac): Likewise.
53795         * modules/gc-sha1 (configure.ac): Likewise.
53796
53797 2007-01-08  Bruno Haible  <bruno@clisp.org>
53798
53799         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53800         macro definition.
53801         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53802         definition.
53803         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53804         definition.
53805         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53806         * modules/fcntl-safer (configure.ac): Likewise.
53807         * modules/fopen-safer (configure.ac): Likewise.
53808         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53809         GNULIB_FWRITEERROR macro definition.
53810
53811 2007-01-08  Bruno Haible  <bruno@clisp.org>
53812
53813         * m4/gnulib-common.m4: New file.
53814         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53815         (func_get_filelist): Add m4/gnulib-common.m4.
53816
53817 2007-01-08  Bruno Haible  <bruno@clisp.org>
53818
53819         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53820         command.
53821
53822 2007-01-08  Jim Meyering  <jim@meyering.net>
53823
53824         Use a more robust test for a "can't happen" condition.
53825         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53826         narrowed the st_size value.  Presuming the "can't happen" condition
53827         is true, that narrowing could conceivably convert an invalid st_size
53828         value into a valid one.  Instead, use a change based on Matthew
53829         Woehlke's original patch.
53830
53831         Slight readability improvement: use an assert-like macro
53832         in place of literal "abort ()" uses.
53833         * lib/fts.c (fts_assert): Define.
53834         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53835         Use this macro instead of a bare 'abort'.
53836
53837 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53838
53839         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53840         simply work around them.
53841         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53842         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53843         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53844         declaring.
53845         Don't bother to define as macros, since the standard doesn't require it.
53846         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53847         longer worry about IRIX 5.3.
53848         (HAVE_WCTYPE_CTMP_BUG): Remove.
53849
53850 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53851
53852         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53853         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53854         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53855         Problems reported by Georg Schwarz for IRIX 5.3.
53856
53857         * gnulib-tool (autoconf_minversion): Take the maximum version number
53858         found, not the minimum.  Problem reported by James Youngman.
53859
53860 2007-01-03  Karl Berry  <karl@gnu.org>
53861
53862         * doc/error.texi: new file, explaining interaction with progname.
53863         * doc/gnulib.texi: include it.  Update copyright.
53864
53865 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53866
53867         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53868         AC_CANONICAL_HOST, to improve autobuild outputs.
53869
53870 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53871             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53872
53873         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53874         sockets, server sockets, and other file descriptors.  Count errors
53875         to compute the return value.  Reorder the code a bit to be easier
53876         to follow.  Don't set event bits that were not requested (except
53877         POLLERR and POLLHUP).
53878
53879 2007-01-01  Bruno Haible  <bruno@clisp.org>
53880
53881         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53882
53883 2007-01-03  Jim Meyering  <jim@meyering.net>
53884
53885         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53886
53887 2007-01-02  Bruno Haible  <bruno@clisp.org>
53888
53889         * modules/settime (Include): Require timespec.h.
53890         * modules/nanosleep (Include): Likewise.
53891
53892 2007-01-01  Bruno Haible  <bruno@clisp.org>
53893
53894         * gnulib-tool (func_emit_copyright_notice): Bump year.
53895         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53896
53897 2007-01-01  Bruno Haible  <bruno@clisp.org>
53898
53899         Improve support for OpenBSD.
53900         * build-aux/config.rpath (libname_spec): Export.
53901         (library_names_spec): New variable. Export.
53902         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53903         library_names_spec from the config.rpath output. Locate shared library
53904         through the name pattern in library_names_spec.
53905
53906 2007-01-01  Eric Blake  <ebb9@byu.net>
53907
53908         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53909
53910 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53911
53912         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53913         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53914         assume the C locale, and avoid an "eval" that could cause trouble.
53915         Problem with SORT reported by Bob Proulx.
53916
53917         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53918         Define.  Trivial patch from Henning Nielsen Lund, originally
53919         sent to bug-grep@gnu.org today.
53920
53921 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53922
53923         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
53924         struct stat.  Problem reported by Henning Nielsen Lund.
53925         * lib/acl.c: Include acl.h first, to check interface.  Don't
53926         bother to include sys/types.h and sys/stat.h again.
53927
53928 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
53929
53930         Import the following change from libc; problem reported by
53931         Sven Verdoolaege.
53932
53933         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
53934
53935         [BZ #1373]
53936         * lib/argp.h: Remove __NTH for __argp_usage inline function.
53937
53938 2006-12-28  Jim Meyering  <jim@meyering.net>
53939
53940         * build-aux/announce-gen: Do not assume that the package
53941         builds any of tar.gz, tar.bz2, and .xdelta files.
53942         Suggestion from Simon Josefsson.
53943
53944 2006-12-28  Simon Josefsson  <simon@josefsson.org>
53945
53946         * modules/announce-gen: New file.
53947
53948 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
53949
53950         * lib/mbchar.h: Just include <wctype.h>; the wctype module
53951         handles its gotchas now.
53952         * lib/mbswidth.c: Likewise.
53953         * lib/wcwidth.h: Likewise.
53954         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
53955         and iswcntrl; the wctype module does this stuff now.
53956         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53957         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53958         * modules/mbchar (Depends-on): Add wctype.
53959         * modules/mbswidth (Depends-on): Likewise.
53960         * modules/wcwidth (Depends-on): Likewise.
53961
53962 2006-12-27  Eric Blake  <ebb9@byu.net>
53963
53964         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
53965         module uses more than what <wctype.h> is required to provide.
53966
53967 2006-12-26  Eric Blake  <ebb9@byu.net>
53968
53969         * gnulib-tool (sed_extract_prog): Avoid space-tab.
53970
53971 2006-12-26  Eric Blake  <ebb9@byu.net>
53972
53973         * modules/absolute-header: New module.
53974         * modules/fcntl (Depends-on): Depend on it.
53975         * modules/inttypes (Depends-on): Likewise.
53976         * modules/stdint (Depends-on): Likewise.
53977         * modules/sys_stat (Depends-on): Likewise.
53978         * modules/wctype (Depends-on): Likewise.
53979         * MODULES.html.sh (Support for building libraries and
53980         executables): Document it.
53981
53982 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53983
53984         * gnulib-tool (SED): Remove, undoing previous change.
53985         The problem was that it broke coreutils on Solaris, because
53986         "sed --posix" leaked into a makefile.
53987         (sed): New alias, if 'alias' and GNU sed.
53988
53989 2006-12-24  Jim Meyering  <jim@meyering.net>
53990
53991         Work around an fchownat bug in glibc-2.4:
53992         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
53993         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
53994         in spite of the -P option.
53995         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
53996         New macros.
53997         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
53998         * modules/openat (Files): Add lib/fchownat.c.
53999         * lib/openat.c (fchownat): Don't define here.  Move to...
54000         * lib/fchownat.c: ...this new file.
54001
54002 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54003
54004         Fix bug reported by Bruno Haible in
54005         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
54006         where quotearg.c didn't compile on Mac OS X 10.2 because it
54007         lacks <wchar.h> and wint_t.
54008         * lib/wctype_.h (__wctype_wint_t): New type.
54009         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
54010         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
54011         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
54012         Arg is now of type __wctype_wint_t, not wint_t.
54013         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
54014         substitute HAVE_WINT_T.
54015         * modules/wctype (Files): Add m4/wint_t.m4.
54016         (wctype.h): Substitute HAVE_WINT_T.
54017
54018 2006-12-23  Bruno Haible  <bruno@clisp.org>
54019
54020         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
54021
54022 2006-12-23  Bruno Haible  <bruno@clisp.org>
54023
54024         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
54025         S_ISLNK.
54026         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
54027         mingw.
54028
54029 2006-12-22  Bruno Haible  <bruno@clisp.org>
54030
54031         * lib/copy-file.c: Include acl.h.
54032         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
54033         Close the file descriptors only after being done with copy_acl.
54034         * modules/copy-file (Depends-on): Add acl.
54035
54036 2006-12-22  Bruno Haible  <bruno@clisp.org>
54037
54038         * gnulib-tool (SED): New variable.
54039         Use $SED instead of sed everywhere.
54040
54041 2006-12-22  Bruno Haible  <bruno@clisp.org>
54042
54043         * modules/no-c++: New file.
54044         * m4/no-c++.m4: New file.
54045         * MODULES.html.sh (Support for building libraries and executables):
54046         Add no-c++.
54047
54048 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
54049
54050         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54051         Include <limits.h>, and use its INT_MAX to rewrite the
54052         j loop so that it does not overflow 'int'.  Problem reported by
54053         Ralf Wildenhues in
54054         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54055         Play it safe by shifting left by 1 rather than multiplying by 2,
54056         as GCC is less likely to optimize this away when the value
54057         is signed (when it assumes overflow leads to undefined behavior).
54058         Also, don't assume time_t uses two's complement.
54059
54060 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
54061
54062         * MODULES.html.sh: New module wctype.
54063         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
54064         * lib/fnmatch.c: Don't bother to include <wchar.h> before
54065         <wctype.h>, since the new wctype module should fix this.
54066         * lib/quotearg.c: Include <wctype.h> unconditionally, since
54067         the wctype module should arrange for it.
54068         * lib/regex_internal.h: Likewise.
54069         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
54070         since the wctype module should handle this now.
54071         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
54072         * modules/fnmatch (Depends-on): Add wctype.
54073         * modules/quotearg (Depends-on): Likewise.
54074         * modules/regex (Depends-on): Likewise.
54075
54076 2006-12-19  Bruno Haible  <bruno@clisp.org>
54077
54078         * lib/strdup.h [C++]: Wrap definitions in extern "C".
54079         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
54080
54081 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54082
54083         * modules/savewd (Depends-on): Fix dependency on fcntl.
54084
54085 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54086
54087         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
54088         conforms to C99, rather than relying on the user's environment
54089         setting of STDINT_H.
54090
54091 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54092         and Eric Blake  <ebb9@byu.net>
54093
54094         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
54095         This is more consistent with the other defines here.
54096         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
54097         Port to z/OS.  Problem reported by Paul Gilmartin.
54098         Change local vars to use gl_ prefix rather than ac_.
54099         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
54100         with other defines.
54101         * modules/double-slash-root: New module.
54102         * modules/dirname (Files): Remove m4/double-slash-root.m4.
54103         (Depends-on): Add double-slash-root.
54104         * MODULES.html.sh (File system functions): Mention new module.
54105
54106 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
54107
54108         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
54109         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
54110         This is for the benefit of gzip, which doesn't do i18n.
54111
54112 2006-12-12  Jim Meyering  <jim@meyering.net>
54113
54114         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
54115         Reported by Andreas Schwab <schwab@suse.de>.
54116
54117 2006-12-12  Bruno Haible  <bruno@clisp.org>
54118
54119         Merge these changes.
54120         2006-09-05  Bruno Haible  <bruno@clisp.org>
54121         * lib/iconvme.c (iconv_string): No need to save and restore errno when
54122         iconv_alloc succeeded.
54123         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
54124         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
54125         test for " && dest " at the end - dest is always != NULL there. Call
54126         iconv with 4xNULL arguments initially, to reset the state. Call iconv
54127         with 2xNULL arguments, also to flush the state storage. Handle the
54128         IRIX iconv behaviour. Realloc the final result, to throw away unused
54129         memory.
54130
54131 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
54132
54133         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
54134         and fchmodat unconditionally, since glibc 2.4 has them.
54135         Problem reported by Arkadiusz Miskiewicz.
54136
54137 2006-12-10  Bruno Haible  <bruno@clisp.org>
54138
54139         * gnulib-tool (func_import): Show the include files only for those
54140         modules that are copied and specified.
54141         Reported by Karl Berry.
54142
54143 2006-12-08  Jim Meyering  <jim@meyering.net>
54144
54145         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
54146         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
54147
54148         * build-aux/announce-gen: Add two new options, both optional:
54149         --bootstrap-tools=TOOL_LIST
54150               a comma-separated list of tools, e.g.,
54151               autoconf,automake,bison,gnulib
54152         --gnulib-snapshot-date=DATE
54153               if gnulib is in the bootstrap tool list,
54154               then report this as the snapshot date.
54155               If not specified, use the current date/time.
54156               If you specify a date here, be sure it's UTC.
54157
54158 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54159
54160         * tests/test-argp-2.sh: Fix test to match actual output.
54161         (func_compare): Fix sed script to be portable.
54162
54163 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
54164
54165         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
54166         workaround for this case.  It is not autoconfigured now; offhand
54167         it's hard to see how to autoconfigure it.
54168
54169 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54170
54171         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
54172         a directory that is about to be chowned.  Such a directory's
54173         initial file permissions should permit the owner only and this
54174         should not be changed until after the chown, since the group and
54175         other bits would be incorrect if they granted permission before
54176         the chown.
54177
54178         Fix porting problem for iswctype reported by Georg Schwarz in:
54179         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
54180         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
54181         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
54182         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
54183         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54184
54185 2006-12-03  Jim Meyering  <jim@meyering.net>
54186
54187         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
54188         p->fts_statp may not yet be defined.
54189         (fts_read): Instead, set it in the caller, once p->fts_statp is
54190         sure to be defined, and corresponds to a top-level directory.
54191         This bug made du -x fail.  Here's the coreutils test case:
54192         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
54193         Reported by Mike Frysinger.
54194
54195 2006-12-01  Jim Meyering  <jim@meyering.net>
54196
54197         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
54198         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
54199         Reported by Simon Josefsson.
54200
54201 2006-11-30  Jim Meyering  <jim@meyering.net>
54202
54203         * m4/warning.m4: Use the all-permissive copyright notice
54204         recommended by RMS (rather than LGPL).
54205         * m4/vararrays.m4: Likewise.
54206         * m4/flexmember.m4: Likewise.
54207
54208 2006-11-29  Bruno Haible  <bruno@clisp.org>
54209
54210         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54211         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
54212         using +=.
54213         Reported by Simon Josefsson <simon@josefsson.org>.
54214
54215 2006-11-28  James Youngman <jay@gnu.org>
54216
54217         * README: Advise users that they might find the bug-gnulib@gnu.org
54218         and autotools-announce@gnu.org mailing lists useful.
54219
54220 2006-11-28  Bruno Haible  <bruno@clisp.org>
54221
54222         * m4/ptrdiff_max.m4: Remove file.
54223
54224 2006-11-21  Bruno Haible  <bruno@clisp.org>
54225
54226         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
54227         _AC_COMPUTE_INT.
54228         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54229         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
54230         _AC_COMPUTE_INT.
54231         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54232         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
54233         _AC_COMPUTE_INT.
54234         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54235
54236 2006-11-28  Jim Meyering  <jim@meyering.net>
54237
54238         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
54239         warning from "gcc -Wshadow" about shadowing the builtin.
54240
54241 2006-11-27  Bruno Haible  <bruno@clisp.org>
54242
54243         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
54244         _AC_COMPUTE_INT.
54245         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54246
54247 2006-11-27  Bruno Haible  <bruno@clisp.org>
54248             Paul Eggert  <eggert@cs.ucla.edu>
54249
54250         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
54251
54252 2006-11-26  Bruno Haible  <bruno@clisp.org>
54253
54254         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54255         noinst_LTLIBRARIES.
54256
54257 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54258             Bruno Haible  <bruno@clisp.org>
54259
54260         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
54261         if compiling with "gcc -ansi".
54262
54263 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54264
54265         Fix some incompatibilities with gcc -ansi -pedantic.
54266         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
54267         if compiling pedantically with GCC, unless it's C99 or later.
54268         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
54269         it mishandles gcc -ansi -pedantic as well.
54270         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
54271         if gcc -pedantic.
54272         * lib/regexec.c (check_node_accept_bytes): Don't use auto
54273         initializers for struct if -pedantic, unless it's C99 or later.
54274
54275 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
54276
54277         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
54278         Don't close an fd more than once. Identical atimes indicate
54279         success, not failure.
54280
54281 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
54282
54283         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
54284
54285 2006-11-23  Jim Meyering  <jim@meyering.net>
54286
54287         * build-aux/announce-gen: New file.  From coreutils.
54288
54289 2006-11-22  Jim Meyering  <jim@meyering.net>
54290
54291         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
54292         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
54293         (fts_read): Use a temporary to narrow the overused st_size member
54294         before using it in a switch statement.  Reported by Matthew Woehlke.
54295
54296         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
54297         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
54298
54299 2006-11-20  Bruno Haible  <bruno@clisp.org>
54300
54301         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
54302         changequote instead of pairs of brackets.
54303         Reported by Andreas Schwab <schwab@suse.de>.
54304
54305 2006-11-21  Jim Meyering  <jim@meyering.net>
54306
54307         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
54308         so as to remain compatible with older compilers.
54309         Patch from Michael Deutschmann.
54310
54311 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54312
54313         * MODULES.html.sh (File system functions): Add openat.
54314
54315         * lib/openat.h (rpl_fstatat): New macro, if
54316         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
54317         (fstatat): Define to rpl_fstatat under the same conditions,
54318         unless COMPILING_FSTATAT.
54319         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
54320         seems to have the bug.
54321         * lib/fstatat.c: New file.
54322         * modules/openat (Files): Add it.
54323
54324 2006-11-20  Bruno Haible  <bruno@clisp.org>
54325
54326         * Makefile: New file.
54327
54328 2006-11-20  Jim Meyering  <jim@meyering.net>
54329
54330         The beginnings of syntax-related checks for gnulib.
54331         * lib/Makefile: New file.
54332         * lib/t-idcache: New script.  Ensure that the two halves of
54333         idcache.c stay in sync.
54334
54335         * lib/idcache.c: Adjust comments in user- and group- portions to
54336         be more accurate, and to be consistent with one another.
54337
54338 2006-11-20  Jim Meyering  <jim@meyering.net>
54339
54340         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
54341         continue using the flexible array member (thus, this module performs
54342         half as many malloc calls), with the addition that...
54343         (getgroup, getuser): Consistently record a non-match via an empty
54344         "name" string, and map an empty string match to a NULL return value.
54345         * modules/idcache (Depends-on): Re-add flexmember.
54346
54347         * lib/idcache.c (getuser): Remove all uses of the register keyword.
54348         (getuidbyname, getgroup, getgidbyname): Likewise.
54349
54350         Use cleaner syntax: NULL rather than 0.
54351         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
54352
54353 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54354
54355         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
54356         It mishandled the case where the group was missing.
54357         Problem reported by Greg Schafer.
54358         * modules/idcache: Likewise.
54359
54360 2006-11-18  Jim Meyering  <jim@meyering.net>
54361
54362         * check-module (%exempt_header): Add exception for some
54363         conditionally-included headers.
54364
54365         * modules/i-ring (Depends-on): Add verify.
54366         (License): Change to LGPL.
54367
54368 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54369
54370         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
54371         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
54372         and inttostr.h.  Use snprintf rather than uinttostr, so that
54373         LGPLed code doesn't depend on GPLed.
54374
54375 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54376
54377         * modules/inline (License): Change from GPL to LGPL.
54378
54379 2006-11-17  Jim Meyering  <jim@meyering.net>
54380
54381         * modules/d-type (License): Switch to LGPL.
54382
54383 2006-11-15  Bruno Haible  <bruno@clisp.org>
54384
54385         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
54386
54387 2006-11-15  Eric Blake  <ebb9@byu.net>
54388
54389         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
54390         the module dependency.
54391
54392 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54393             Bruno Haible  <bruno@clisp.org>
54394
54395         * gnulib-tool (func_create_testdir): Add license consistency check.
54396
54397 2006-11-15  Eric Blake  <ebb9@byu.net>
54398
54399         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
54400         random "(cached)" in configure output.
54401
54402 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54403
54404         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
54405         test for conforming inttypes.h is both announced and cached.
54406
54407         * MODULES.html.sh (seen_modules, seen_files): New variables.
54408         (func_module): Rewrite to use a few less gnulib-tool and sed
54409         invocations.  Avoid a couple of quadratic algorithms for ...
54410         (missed_modules, missed_files): ... these, with ...
54411         (func_append, func_tmpdir): ... these new functions, from
54412         gnulib-tool.  Analogously, install traps for cleanup.
54413
54414         * tests/test-gc.c (main): Remove unused variables.
54415         * tests/test-read-file.c: Include stdlib.h, for 'free'.
54416
54417 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
54418
54419         * modules/inttostr (License): Change to LGPL.
54420
54421 2006-11-14  Eric Blake  <ebb9@byu.net>
54422
54423         * modules/tempname (License): Change to LGPL.
54424
54425 2006-11-14  Eric Blake  <ebb9@byu.net>
54426
54427         * doc/functions.texi (Function Portability): *printf functions on
54428         Cygwin now understand all POSIX size specifiers.
54429
54430 2006-11-14  Bruno Haible  <bruno@clisp.org>
54431
54432         * modules/c-ctype (License): Change to LGPL.
54433
54434 2006-11-12  Bruno Haible  <bruno@clisp.org>
54435
54436         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54437         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
54438         for GNOME libraries, for which the include files are installed in
54439         subdirectories of $prefix/include.
54440
54441 2006-11-12  Bruno Haible  <bruno@clisp.org>
54442
54443         * m4/lib-link.m4: Require at least autoconf-2.54.
54444         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
54445         name to underscores for the --with option.
54446
54447 2006-11-13  Bruno Haible  <bruno@clisp.org>
54448
54449         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
54450         the tests directory.
54451         Reported by Ralf Wildenhues.
54452
54453 2006-11-13  Bruno Haible  <bruno@clisp.org>
54454
54455         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
54456         (func_emit_initmacro_end): Undo the override here.
54457         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
54458         Works around the famous automake error in coreutils.
54459
54460 2006-11-13  Eric Blake  <ebb9@byu.net>
54461
54462         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
54463         element, not its node.
54464
54465 2006-11-12  Bruno Haible  <bruno@clisp.org>
54466
54467         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
54468         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
54469
54470 2006-11-12  Bruno Haible  <bruno@clisp.org>
54471
54472         * gnulib-tool: New option --local-symlink.
54473         (func_usage): Document it.
54474         (lsymbolic): New variable.
54475         (func_import, func_create_testdir): If --symlink was not specified,
54476         test whether --local-symlink was specified and the file comes from
54477         the local_gnulib_dir.
54478
54479 2006-11-12  Bruno Haible  <bruno@clisp.org>
54480
54481         * gnulib-tool (func_ln): New function.
54482         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
54483
54484 2006-11-12  Bruno Haible  <bruno@clisp.org>
54485
54486         Finish support for source files in subdirectories.
54487         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
54488         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
54489         AUTOMAKE_OPTIONS.
54490         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
54491
54492 2006-11-12  Bruno Haible  <bruno@clisp.org>
54493
54494         * gnulib-tool (func_get_automake_snippet): Synthesize also an
54495         EXTRA_lib_SOURCES augmentation.
54496         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
54497
54498 2006-11-12  Jim Meyering  <jim@meyering.net>
54499
54500         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
54501         file descriptors.  This also averts a failure on systems with
54502         native openat support when a traversed directory lacks "x" access.
54503         * lib/fts_.h: Include "i-ring.h"
54504         (struct FTS) [fts_fd_ring]: New member.
54505         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
54506         (FCHDIR): Add parentheses.
54507         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
54508         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
54509         When descending, rather than simply closing the previous
54510         fts_cwd_fd value, push that file descriptor onto the ring.
54511         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
54512         (fts_open): Initialize the new fd_ring member.
54513         (fts_close): Clear the ring.
54514         (fts_safe_changedir): When possible, use our new fd_ring to skip
54515         the diropen and fstat and dev/ino comparison that would normally
54516         accompany a virtual `chdir ("..")'.
54517
54518         * modules/fts (Depends-on): Add i-ring.
54519         * modules/i-ring: New module.
54520         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
54521         * m4/i-ring.m4: New file.
54522
54523 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54524
54525         * gnulib-tool (func_create_testdir): Fix replacement of
54526         `build-aux' in configure.ac.  Run autotools in gltests
54527         subdirectory.
54528         (func_create_testdir, func_create_megatestdir, test): There is
54529         no need for '--force' in most autotool invocations in a new
54530         tree.  Actually fail the whole test if any of the tools, or the
54531         configure or make stages fail.
54532
54533         Sync from Automake.
54534         * build-aux/gnupload: Revert last change.  Add pointer to upload
54535         instructions of the GNU Maintenance Instructions.
54536         Suggestion by Karl Berry.
54537
54538 2006-11-10  Jim Meyering  <jim@meyering.net>
54539
54540         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
54541
54542 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54543
54544         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
54545         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
54546         (bind_textdomain_codeset) [! ENABLE_NLS]:
54547         Evaluate all the arguments.  That way, callers get compatible behavior
54548         if the arguments have side effects.  Also, it avoids some GCC
54549         diagnostics in some cases; Joel E. Denny reported problems when Bison
54550         was configured with --enable-gcc-warnigs.
54551
54552 2006-11-10  Jim Meyering  <jim@meyering.net>
54553
54554         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
54555         relevant options in CFLAGS (like -O, -fno-inline) are taken into
54556         account.
54557
54558 2006-11-10  Jim Meyering  <jim@meyering.net>
54559
54560         * modules/inline: New file/module.
54561         * modules/xalloc (Files): Remove m4/inline.m4.
54562         (Depends-on): Add inline, instead.
54563         * modules/oset: Likewise.
54564         * modules/list: Likewise.
54565
54566 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54567
54568         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
54569         Problem reported by Matthew Woehlke.
54570
54571 2006-11-09  Bruno Haible  <bruno@clisp.org>
54572
54573         * lib/tempname.c (gen_tempname): Remove variant that invokes
54574         __gen_tempname.
54575         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
54576         __gen_tempname.
54577
54578 2006-11-08  Bruno Haible  <bruno@clisp.org>
54579
54580         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
54581         to 'yes' instead of 'cross-compiling'.
54582
54583 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
54584
54585         * lib/quotearg.h (quotearg_free): New decl.
54586         * lib/quotearg.c (quotearg_free): New function.
54587         (slot0, nslots, slotvec0, slotvec):
54588         Now file-scope so that quotearg_free can get at them.
54589
54590 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54591
54592         Sync from Automake.
54593         * build-aux/gnupload: Add missing 'gnu' to example URL.
54594         Report by Karl Berry.
54595
54596 2006-11-08  Bruno Haible  <bruno@clisp.org>
54597
54598         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
54599         Suggested by Paul Eggert.
54600
54601 2006-11-08  Jim Meyering  <jim@meyering.net>
54602
54603         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
54604         It's already included if !_LIBC.
54605         (fts_safe_changedir): Add a comment.
54606
54607 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54608
54609         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
54610         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
54611         Matthew Woehlke.
54612
54613         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
54614         definitions up, to avoid colliding with change below.
54615         (static_inline) [HAVE_INLINE]: New macro.
54616         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
54617         Provide extern decls when !HAVE_INLINE.  Do not define unless
54618         static_inline is defined, either by us or by xmalloc.c.  Use
54619         static_inline rather than static inline.
54620         (XCALLOC): Optimize sizeof(T) = 1 case.
54621         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
54622
54623 2006-11-07  Bruno Haible  <bruno@clisp.org>
54624
54625         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
54626         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
54627         AC_C_INLINE.
54628         * modules/xalloc (Files): Add m4/inline.m4.
54629
54630 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54631
54632         * README: Fix typo.
54633         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
54634         (Miscellanous Notes): ...from this.
54635
54636 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54637
54638         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
54639         Mention that offsetof should be used instead of sizeof.
54640         From Bruno Haible.
54641
54642 2006-11-07  Bruno Haible  <bruno@clisp.org>
54643
54644         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
54645
54646 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54647
54648         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54649         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
54650         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54651         (gl_tree_add_before, gl_tree_add_after):
54652         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
54653         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
54654         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54655         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
54656         (gl_linked_add_after, gl_linked_add_at): Likewise.
54657         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
54658         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54659         (gl_tree_add_before, gl_tree_add_after): Likewise.
54660         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
54661         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
54662         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
54663
54664 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54665
54666         * lib/gl_oset.h: Use C comment style, not C++ comment style.
54667
54668 2006-11-06  Bruno Haible  <bruno@clisp.org>
54669
54670         * m4/inline.m4: New file.
54671         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
54672         * modules/list (Files): Add m4/inline.m4.
54673         * modules/oset (Files): Likewise.
54674
54675 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54676
54677         * lib/idcache.c: Include <stddef.h>, for offsetof.
54678         (struct userid.name): Change from char * to a flexible array member.
54679         All uses changed.
54680         * modules/idcache (Depends-on): Add flexmember.
54681
54682         * MODULES.html.sh (Core language properties): New module flexmember.
54683         * modules/flexmember, m4/flexmember.m4: New files.
54684
54685         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54686         inline functions that are identical with the old xnmalloc_inline,
54687         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54688         that we can avoid some unnecessary integer multiplications and
54689         divisions in the common case where the element size is known at
54690         compile time.
54691         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54692         needed.
54693         (xnboundedmalloc): Remove.
54694         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54695         arguments, for consistency with rest of this header.
54696         (xcharalloc): Rewrite using XNMALLOC.
54697         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54698         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54699         versions have been moved to lib/xalloc.h and renamed to be the
54700         non-*_inline versions.
54701         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54702         and xnrealloc functions, since those functions are now inline and
54703         now call us.
54704         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54705         renaming described above.
54706         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54707         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54708         captures the dependency in AC_C_INLINE.
54709
54710         New module canonicalize-lgpl, proposed by Charles Wilson in
54711         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54712         with a few small changes afterwards.
54713         * MODULES.html.sh (File system functions): New module
54714         canonicalize-lgpl.
54715         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54716         and canonicalize_file_name.
54717         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54718         * modules/canonicalize-lgpl: New files.
54719
54720 2006-11-05  Bruno Haible  <bruno@clisp.org>
54721
54722         * gnulib-tool (func_import, func_create_testdir): Create directories
54723         also for files in subdirectories of lib/.
54724
54725 2006-11-05  Bruno Haible  <bruno@clisp.org>
54726
54727         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54728         ANSI C compliant.
54729
54730 2006-11-03  Bruno Haible  <bruno@clisp.org>
54731
54732         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54733         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54734         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54735         (xnboundedmalloc): New inline function.
54736         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54737         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54738         xmalloc.
54739         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54740         xmalloc.
54741         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54742         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54743         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54744         xmalloc.
54745         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54746         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54747         xmalloc.
54748         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54749         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54750         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54751         xmalloc.
54752         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54753         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54754         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54755         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54756         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54757         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54758         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54759
54760 2006-11-03  Bruno Haible  <bruno@clisp.org>
54761
54762         * lib/c-ctype.h [C++]: Define functions without name mangling.
54763         * lib/fwriteerror.h [C++]: Likewise.
54764         * lib/gcd.h [C++]: Likewise.
54765         * lib/linebreak.h [C++]: Likewise.
54766
54767 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54768
54769         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54770         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54771         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54772         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54773         Check for functions and headers just once.
54774         Check for declaration of canonicalize_file_name.
54775         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54776
54777 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54778
54779         * gnulib-tool (func_import): Fix typo in actioncmd.
54780
54781 2006-11-02  Bruno Haible  <bruno@clisp.org>
54782
54783         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54784         newline sequence in the Makefile.am snippet as a space, like "make"
54785         does.
54786         Reported by Roger Persson <perrog@gmail.com>.
54787
54788 2006-11-01  Bruno Haible  <bruno@clisp.org>
54789
54790         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54791         already declared in <string.h>.
54792         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54793
54794 2006-11-01  Bruno Haible  <bruno@clisp.org>
54795
54796         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54797         * lib/strcase.h: Include <string.h>.
54798         (strcasecmp): Define to rpl_strcasecmp here.
54799
54800 2006-11-01  Bruno Haible  <bruno@clisp.org>
54801
54802         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54803
54804 2006-11-01  Eric Blake  <ebb9@byu.net>
54805
54806         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54807
54808         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54809
54810 2006-10-29  Bruno Haible  <bruno@clisp.org>
54811
54812         Make it compile in C++ mode.
54813         * lib/full-write.c (full_rw): Add a cast.
54814
54815 2006-11-01  Bruno Haible  <bruno@clisp.org>
54816
54817         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54818         be POSIX compliant.
54819         Reported by Roger Persson <perrog@gmail.com>.
54820
54821 2006-11-01  Eric Blake  <ebb9@byu.net>
54822
54823         * lib/getopt_.h: Fix comments.
54824
54825 2006-10-31  Eric Blake  <ebb9@byu.net>
54826
54827         * modules/tmpdir (Depends-on): Add sys_stat.
54828         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54829         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54830         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54831         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54832         tempname.
54833
54834 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54835
54836         Avoid some C++ diagnostics reported by Bruno Haible.
54837         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54838         xmalloc.
54839         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54840         (struct slotvec): Move to top level.
54841         (quotearg_n_options): Rewrite to avoid xmalloc.
54842         * lib/xalloc.h (xcharalloc): New function.
54843         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54844         [defined __cplusplus]: Add function template that provides result
54845         type propagation.  This part of the change is from Bruno Haible.
54846
54847 2006-10-29  Bruno Haible  <bruno@clisp.org>
54848
54849         Make it compile in C++ mode.
54850         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54851         * lib/strnlen1.c (strnlen1): Cast memchr result.
54852         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54853         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54854         (create_temp_dir): Rename local variable 'template'.
54855         (compile_csharp_using_sscli): Add cast.
54856         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54857         * lib/findprog.c (find_in_path): Likewise.
54858         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54859         * lib/wait-process.c (register_slave_subprocess): Likewise.
54860
54861 2006-10-22  Bruno Haible  <bruno@clisp.org>
54862
54863         * modules/tsearch: New file.
54864         * lib/tsearch.h: New file.
54865         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54866         * m4/tsearch.m4: New file.
54867         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54868
54869 2006-10-29  Eric Blake  <ebb9@byu.net>
54870
54871         * lib/arcfour.c: Assume config.h.
54872         * lib/arctwo.c: Likewise.
54873         * lib/base64.c: Likewise.
54874         * lib/check-version.c: Likewise.
54875         * lib/crc.c: Likewise.
54876         * lib/des.c: Likewise.
54877         * lib/gc-gnulib.c: Likewise.
54878         * lib/gc-libgcrypt.c: Likewise.
54879         * lib/gc-pbkdf2-sha1.c: Likewise.
54880         * lib/getaddrinfo.c: Likewise.
54881         * lib/getdelim.c: Likewise.
54882         * lib/getline.c: Likewise.
54883         * lib/hmac-md5.c: Likewise.
54884         * lib/hmac-sha1.c: Likewise.
54885         * lib/iconvme.c: Likewise.
54886         * lib/md2.c: Likewise.
54887         * lib/md4.c: Likewise.
54888         * lib/memxor.c: Likewise.
54889         * lib/read-file.c: Likewise.
54890         * lib/readline.c: Likewise.
54891         * lib/rijndael-alg-fst.c: Likewise.
54892         * lib/rijndael-api-fst.c: Likewise.
54893         * lib/xgetdomainname.c: Likewise.
54894
54895 2006-10-28  Eric Blake  <ebb9@byu.net>
54896
54897         * lib/xstrndup.c: Assume config.h.
54898
54899 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54900
54901         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54902         stat-macros.h is now for our own macros, whereas stat_h is for
54903         macros in the <sys/stat.h> name space.
54904         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54905         (STAT_MACROS_H): Remove.
54906         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54907         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54908         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54909         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54910         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54911         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54912         Move these macros to ...
54913         * lib/stat_.h: here.  Don't include stat-macros.h.
54914         * lib/canonicalize.c: Don't include stat-macros.h.
54915         * lib/chown.c: Likewise.
54916         * lib/euidaccess.c: Likewise.
54917         * lib/file-type.c: Likewise.
54918         * lib/filemode.c: Likewise.
54919         * lib/glob.c: Likewise.
54920         * lib/isapipe.c: Likewise.
54921         * lib/lchown.c: Likewise.
54922         * lib/lstat.c: Likewise.
54923         * lib/mkdir-p.c: Likewise.
54924         * lib/rmdir.c: Likewise.
54925         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
54926         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
54927         unless mkdir isn't declared, to speed up 'configure'.
54928         Always create sys/stat.h, since it's unlikely any real sys/stat.h
54929         would define all the S_* symbols.
54930         * modules/canonicalize (Depends-on):
54931         Depend on sys_stat, not stat-macros.
54932         * modules/chown: Likewise.
54933         * modules/euidaccess: Likewise.
54934         * modules/filemode: Likewise.
54935         * modules/file-type: Likewise.
54936         * modules/glob: Likewise.
54937         * modules/isapipe: Likewise.
54938         * modules/lchown: Likewise.
54939         * modules/lstat: Likewise.
54940         * modules/mkancesdirs: Likewise.
54941         * modules/rmdir: Likewise.
54942         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
54943         * modules/modechange: Likewise.
54944         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
54945         (configure.ac): Remove gl_STAT_MACROS.
54946         * modules/sys_stat (Depends-on): Remove stat-macros.
54947
54948 2006-10-27  Bruno Haible  <bruno@clisp.org>
54949
54950         * m4/signed.m4: Remove file.
54951         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
54952         invocation.
54953         * modules/vasnprintf (Files): Remove m4/signed.m4.
54954
54955 2006-10-27  Bruno Haible  <bruno@clisp.org>
54956
54957         Update to GNU gettext 0.16.
54958         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
54959         m4/inttypes-h.m4, m4/signed.m4.
54960         * m4/gettext.m4: Update to GNU gettext 0.16.
54961         * m4/intl.m4: New file, from GNU gettext.
54962         * m4/intldir.m4: New file, from GNU gettext.
54963         * config/srclist.txt: Update
54964
54965 2006-10-27  Eric Blake  <ebb9@byu.net>
54966
54967         * MODULES.html.sh: Document tempname.
54968         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
54969         dependencies.
54970         (Files): Move lib/tempname.c...
54971         * modules/tempname: ...to this new module.
54972         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
54973         (gl_PREREQ_TEMPNAME): Move...
54974         * m4/tempname.m4: ...to this new file.
54975         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
54976         * modules/sys_stat (Depends-on): Add stat-macros.
54977         * lib/stat_.h (includes): Pick up stat macros.
54978         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
54979         if stat macros are broken.
54980         * lib/tempname.c (includes): No need to include "stat-macros.h".
54981         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
54982         (direxists, __path_search) [!_LIBC]: Don't compile these in
54983         gnulib; the tmpdir module covers that.
54984         * lib/tempname.h: New file.
54985
54986 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54987
54988         * COPYING: Explain how gnulib-tool converts licence headers.
54989         Almost all wording by Eric Blake.
54990
54991 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
54992
54993         * lib/mbchar.h (is_basic_table): Make read-only.
54994         * lib/mbchar.c (is_basic_table): Likewise.
54995         Reported by John Darrington.
54996
54997 2006-10-25  Bruno Haible  <bruno@clisp.org>
54998
54999         * lib/progname.h (set_program_name): Undefine before defining.
55000
55001 2006-10-25  Bruno Haible  <bruno@clisp.org>
55002
55003         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
55004         false for non-gcc C++ compilers.
55005         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55006
55007 2006-10-24  Bruno Haible  <bruno@clisp.org>
55008
55009         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
55010         iconv implementations like Irix iconv.
55011
55012 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55013
55014         * modules/vararrays: New file.
55015         * m4/vararrays.m4: New file, taken from diffutils.
55016         * MODULES.html.sh: New module vararrays.
55017
55018 2006-10-24  Karl Berry  <karl@gnu.org>
55019
55020         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
55021         Don't call GNU Unix.
55022
55023 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55024
55025         * users.txt: Add Libtool.
55026
55027         Sync from Libtool:
55028
55029         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55030
55031         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
55032         to gnulib's policy of including config.h unconditionally.
55033
55034 2006-10-24  Bruno Haible  <bruno@clisp.org>
55035
55036         * modules/wcwidth (Files): Add m4/wint_t.m4.
55037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
55038         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
55039
55040 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55041
55042         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
55043         to pacify GCC with some -W flags enabled.  Problem reported by
55044         Bruno Haible.
55045
55046 2006-10-24  Jim Meyering  <jim@meyering.net>
55047
55048         * MODULES.html.sh: Remove uinttostr.  It's not a module.
55049         Reported by Karl Berry.
55050
55051 2006-10-23  Bruno Haible  <bruno@clisp.org>
55052
55053         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
55054
55055 2006-10-24  Bruno Haible  <bruno@clisp.org>
55056
55057         * lib/gl_list.h: Use C comment style, not C++ comment style.
55058
55059 2006-10-23  Eric Blake  <ebb9@byu.net>
55060
55061         * lib/getaddrinfo.c (includes): Add missing include.
55062
55063 2006-10-23  Bruno Haible  <bruno@clisp.org>
55064             Paul Eggert  <eggert@cs.ucla.edu>
55065
55066         Ability to rename obstack_free.
55067         * lib/obstack.h (__obstack_free): New macro. Declare instead of
55068         obstack_free.
55069         (obstack_free): Invoke the __obstack_free macro.
55070         * lib/obstack.c (obstack_free): Use __obstack_free macro.
55071
55072 2006-10-23  Bruno Haible  <bruno@clisp.org>
55073             Paul Eggert  <eggert@cs.ucla.edu>
55074
55075         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
55076         __argc, __argv from the declaration. (They are defined as macros on
55077         mingw.)
55078
55079 2006-10-22  Bruno Haible  <bruno@clisp.org>
55080
55081         * doc/gnulib-intro.texi: New file.
55082         * doc/gnulib.texi: Include it.
55083
55084 2006-10-21  Bruno Haible  <bruno@clisp.org>
55085
55086         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
55087         "Introduction", "Miscellanous Notes", "Particular Modules".
55088
55089 2006-10-21  Bruno Haible  <bruno@clisp.org>
55090
55091         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55092         Change mostlyclean-local rule to avoid sh syntax error from bash
55093         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
55094
55095 2006-10-23  Jim Meyering  <jim@meyering.net>
55096
55097         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
55098         in place of snprintf.
55099
55100         * modules/inttostr (Files): Add lib/uinttostr.c.
55101         * lib/uinttostr.c (inttostr): New file/function.
55102         * lib/inttostr.h (uinttostr): Declare.
55103         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
55104         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55105         Add uinttostr.
55106         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
55107
55108 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55109
55110         * lib/canonicalize.c (ELOOP): Define if not already defined.
55111         Problem reported by Bruno Haible in
55112         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
55113
55114 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55115
55116         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
55117         Problem reported by Perry Smith and Ville Laurikari.
55118
55119         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
55120         uses.
55121
55122 2006-10-19  Bruno Haible  <bruno@clisp.org>
55123
55124         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
55125         for mingw.
55126
55127 2006-10-19  Bruno Haible  <bruno@clisp.org>
55128
55129         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
55130         Needed for mingw.
55131
55132 2006-10-19  Bruno Haible  <bruno@clisp.org>
55133
55134         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
55135
55136 2006-10-19  Bruno Haible  <bruno@clisp.org>
55137
55138         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
55139         it.
55140
55141 2006-10-19  Bruno Haible  <bruno@clisp.org>
55142
55143         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
55144         invocation.
55145
55146 2006-10-19  Bruno Haible  <bruno@clisp.org>
55147
55148         * gnulib-tool (func_create_testdir): Don't include ftruncate and
55149         mountlist by default.
55150
55151 2006-10-16  Bruno Haible  <bruno@clisp.org>
55152
55153         * lib/c-strstr.c: Include c-strstr.h.
55154
55155 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55156
55157         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
55158         in a slash.
55159
55160 2006-10-18  Bruno Haible  <bruno@clisp.org>
55161
55162         * lib/lock.h [C++]: Wrap definitions in extern "C".
55163
55164 2006-10-18  Bruno Haible  <bruno@clisp.org>
55165
55166         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
55167         gl_LIBOBJS list.
55168
55169 2006-10-18  Bruno Haible  <bruno@clisp.org>
55170
55171         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
55172
55173 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55174
55175         * lib/xstrtol.h: Include gettext.h.
55176         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
55177         Problem reported by Eric Blake.
55178         * modules/xstrtol (Depends-on): Add gettext-h.
55179
55180 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
55181
55182         * lib/strftime.c (advance): New macro.
55183         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
55184         incomplete type, so you can't add 0 to it.  Problem and patch
55185         reported by Eelco Dolstra for dietlibc.
55186
55187 2006-10-18  Jim Meyering  <jim@meyering.net>
55188
55189         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
55190         type for a local, and rename it: s/up/user_proc/.
55191
55192 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55193
55194         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
55195         READ_UTMP_USER_PROCESS.
55196         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
55197
55198 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55199
55200         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
55201         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
55202
55203 2006-10-17  Eric Blake  <ebb9@byu.net>
55204
55205         * lib/sigprocmask.c (sigprocmask): Fix typo.
55206
55207         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
55208
55209         * modules/clean-temp (Makefile.am): Don't add to make output...
55210         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
55211         config.h.
55212
55213 2006-10-17  Bruno Haible  <bruno@clisp.org>
55214
55215         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
55216         differently if DEFAULT_TEXT_DOMAIN is set.
55217
55218 2006-10-16  Bruno Haible  <bruno@clisp.org>
55219
55220         * lib/clean-temp.c: Include fwriteerror.h.
55221
55222 2006-10-16  Bruno Haible  <bruno@clisp.org>
55223
55224         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
55225
55226 2006-10-16  Bruno Haible  <bruno@clisp.org>
55227
55228         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
55229         * lib/sigprocmask.h: Include <sys/types.h>.
55230         (sigset_t): Use the system's definition if present.
55231
55232 2006-10-17  Eric Blake  <ebb9@byu.net>
55233
55234         * lib/xvasprintf.c (includes): Assume config.h.
55235         * lib/xasprintf.c (includes): Likewise.
55236
55237 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55238
55239         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
55240         at least as wide as intmax_t.
55241
55242 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
55243
55244         (Imported from Automake.)
55245         * build-aux/gnupload: Update to version 1.1 of directive file.
55246
55247 2006-10-16  Eric Blake  <ebb9@byu.net>
55248
55249         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
55250         match Automake 1.10a.
55251
55252 2006-10-14  Bruno Haible  <bruno@clisp.org>
55253
55254         * modules/sigprocmask: New file.
55255         * lib/sigprocmask.h: New file.
55256         * lib/sigprocmask.c: New file.
55257         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
55258         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
55259         request sigprocmask.o.
55260         (gl_PREREQ_SIGPROCMASK): New macro.
55261         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
55262         (Depends-on): Add sigprocmask.
55263         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
55264         gt_SIGNALBLOCKING. Test for 'raise' only once.
55265         * lib/fatal-signal.c: Include sigprocmask.h.
55266         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
55267         unblock_fatal_signals): Define always.
55268         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55269         sigprocmask.
55270
55271 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55272
55273         Sync from Automake.
55274         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
55275         which incorrectly sets the mode of an existing destination
55276         directory.  In some cases the unpatched install-sh could do the
55277         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
55278         system.  We hope this is rare in practice, but it's clearly worth
55279         fixing.  Problem reported by Alex Unleashed in
55280         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
55281         Also, don't bother to check for -m bugs unless we're using -m;
55282         suggested by Stepan Kasal.
55283
55284 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55285
55286         Sync from Automake.
55287         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
55288         `-c' flag, so they appear at the same position as in %FASTDEP%
55289         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
55290         which ignores unknown options only after the first non-option.
55291         Bug report against M4 by Nelson H. F. Beebe.
55292
55293 2006-10-13  Jim Meyering  <jim@meyering.net>
55294
55295         Fix a bug in yesterday's change.
55296         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
55297         p->fts_statp->st_dev would be used uninitialized.
55298         Ensures that we always call fts_stat on the very first entry.
55299         Miklos Szeredi reported that find -xdev stopped working.
55300
55301 2006-10-12  Bruno Haible  <bruno@clisp.org>
55302
55303         * gnulib-tool (func_get_automake_snippet): Append an automatically
55304         computed EXTRA_DIST augmentation.
55305         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
55306         * modules/alloca-opt (Makefile.am): Likewise.
55307         * modules/allocsa (Makefile.am): Likewise.
55308         * modules/arcfour (Makefile.am): Likewise.
55309         * modules/arctwo (Makefile.am): Likewise.
55310         * modules/argmatch (Makefile.am): Likewise.
55311         * modules/argz (Makefile.am): Likewise.
55312         * modules/atexit (Makefile.am): Likewise.
55313         * modules/backupfile (Makefile.am): Likewise.
55314         * modules/byteswap (Makefile.am): Likewise.
55315         * modules/c-strtod (Makefile.am): Likewise.
55316         * modules/c-strtold (Makefile.am): Likewise.
55317         * modules/calloc (Makefile.am): Likewise.
55318         * modules/canon-host (Makefile.am): Likewise.
55319         * modules/canonicalize (Makefile.am): Likewise.
55320         * modules/chdir-long (Makefile.am): Likewise.
55321         * modules/chdir-safer (Makefile.am): Likewise.
55322         * modules/check-version (Makefile.am): Likewise.
55323         * modules/chown (Makefile.am): Likewise.
55324         * modules/cloexec (Makefile.am): Likewise.
55325         * modules/close-stream (Makefile.am): Likewise.
55326         * modules/closeout (Makefile.am): Likewise.
55327         * modules/crc (Makefile.am): Likewise.
55328         * modules/csharpexec (Makefile.am): Likewise.
55329         * modules/cycle-check (Makefile.am): Likewise.
55330         * modules/des (Makefile.am): Likewise.
55331         * modules/dev-ino (Makefile.am): Likewise.
55332         * modules/dirfd (Makefile.am): Likewise.
55333         * modules/dirname (Makefile.am): Likewise.
55334         * modules/dup2 (Makefile.am): Likewise.
55335         * modules/eealloc (Makefile.am): Likewise.
55336         * modules/error (Makefile.am): Likewise.
55337         * modules/euidaccess (Makefile.am): Likewise.
55338         * modules/exclude (Makefile.am): Likewise.
55339         * modules/exitfail (Makefile.am): Likewise.
55340         * modules/fcntl-safer (Makefile.am): Likewise.
55341         * modules/fcntl (Makefile.am): Likewise.
55342         * modules/file-type (Makefile.am): Likewise.
55343         * modules/fileblocks (Makefile.am): Likewise.
55344         * modules/filemode (Makefile.am): Likewise.
55345         * modules/filenamecat (Makefile.am): Likewise.
55346         * modules/fnmatch (Makefile.am): Likewise.
55347         * modules/fopen-safer (Makefile.am): Likewise.
55348         * modules/fpending (Makefile.am): Likewise.
55349         * modules/fprintftime (Makefile.am): Likewise.
55350         * modules/free (Makefile.am): Likewise.
55351         * modules/fsusage (Makefile.am): Likewise.
55352         * modules/ftruncate (Makefile.am): Likewise.
55353         * modules/fts (Makefile.am): Likewise.
55354         * modules/gc-arcfour (Makefile.am): Likewise.
55355         * modules/gc-des (Makefile.am): Likewise.
55356         * modules/gc-hmac-md5 (Makefile.am): Likewise.
55357         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
55358         * modules/gc-md4 (Makefile.am): Likewise.
55359         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55360         * modules/gc-sha1 (Makefile.am): Likewise.
55361         * modules/gc (Makefile.am): Likewise.
55362         * modules/getaddrinfo (Makefile.am): Likewise.
55363         * modules/getcwd (Makefile.am): Likewise.
55364         * modules/getdelim (Makefile.am): Likewise.
55365         * modules/getdomainname (Makefile.am): Likewise.
55366         * modules/getgroups (Makefile.am): Likewise.
55367         * modules/gethostname (Makefile.am): Likewise.
55368         * modules/gethrxtime (Makefile.am): Likewise.
55369         * modules/getline (Makefile.am): Likewise.
55370         * modules/getloadavg (Makefile.am): Likewise.
55371         * modules/getlogin_r (Makefile.am): Likewise.
55372         * modules/getndelim2 (Makefile.am): Likewise.
55373         * modules/getopt (Makefile.am): Likewise.
55374         * modules/getpagesize (Makefile.am): Likewise.
55375         * modules/getpass-gnu (Makefile.am): Likewise.
55376         * modules/getpass (Makefile.am): Likewise.
55377         * modules/getsubopt (Makefile.am): Likewise.
55378         * modules/gettime (Makefile.am): Likewise.
55379         * modules/gettimeofday (Makefile.am): Likewise.
55380         * modules/getugroups (Makefile.am): Likewise.
55381         * modules/getusershell (Makefile.am): Likewise.
55382         * modules/glob (Makefile.am): Likewise.
55383         * modules/group-member (Makefile.am): Likewise.
55384         * modules/hard-locale (Makefile.am): Likewise.
55385         * modules/hash (Makefile.am): Likewise.
55386         * modules/hmac-md5 (Makefile.am): Likewise.
55387         * modules/hmac-sha1 (Makefile.am): Likewise.
55388         * modules/human (Makefile.am): Likewise.
55389         * modules/idcache (Makefile.am): Likewise.
55390         * modules/imaxabs (Makefile.am): Likewise.
55391         * modules/imaxdiv (Makefile.am): Likewise.
55392         * modules/inet_ntop (Makefile.am): Likewise.
55393         * modules/inet_pton (Makefile.am): Likewise.
55394         * modules/intprops (Makefile.am): Likewise.
55395         * modules/inttostr (Makefile.am): Likewise.
55396         * modules/inttypes (Makefile.am): Likewise.
55397         * modules/isapipe (Makefile.am): Likewise.
55398         * modules/javaversion (Makefile.am): Likewise.
55399         * modules/lchmod (Makefile.am): Likewise.
55400         * modules/lchown (Makefile.am): Likewise.
55401         * modules/localcharset (Makefile.am): Likewise.
55402         * modules/long-options (Makefile.am): Likewise.
55403         * modules/lstat (Makefile.am): Likewise.
55404         * modules/malloc (Makefile.am): Likewise.
55405         * modules/mathl (Makefile.am): Likewise.
55406         * modules/mbchar (Makefile.am): Likewise.
55407         * modules/md2 (Makefile.am): Likewise.
55408         * modules/md4 (Makefile.am): Likewise.
55409         * modules/md5 (Makefile.am): Likewise.
55410         * modules/memcasecmp (Makefile.am): Likewise.
55411         * modules/memchr (Makefile.am): Likewise.
55412         * modules/memcmp (Makefile.am): Likewise.
55413         * modules/memcoll (Makefile.am): Likewise.
55414         * modules/memcpy (Makefile.am): Likewise.
55415         * modules/memmem (Makefile.am): Likewise.
55416         * modules/memmove (Makefile.am): Likewise.
55417         * modules/mempcpy (Makefile.am): Likewise.
55418         * modules/memrchr (Makefile.am): Likewise.
55419         * modules/memset (Makefile.am): Likewise.
55420         * modules/memxor (Makefile.am): Likewise.
55421         * modules/mkancesdirs (Makefile.am): Likewise.
55422         * modules/mkdir-p (Makefile.am): Likewise.
55423         * modules/mkdir (Makefile.am): Likewise.
55424         * modules/mkdtemp (Makefile.am): Likewise.
55425         * modules/mkstemp (Makefile.am): Likewise.
55426         * modules/mktime (Makefile.am): Likewise.
55427         * modules/modechange (Makefile.am): Likewise.
55428         * modules/mountlist (Makefile.am): Likewise.
55429         * modules/nanosleep (Makefile.am): Likewise.
55430         * modules/obstack (Makefile.am): Likewise.
55431         * modules/openat (Makefile.am): Likewise.
55432         * modules/pagealign_alloc (Makefile.am): Likewise.
55433         * modules/pathmax (Makefile.am): Likewise.
55434         * modules/physmem (Makefile.am): Likewise.
55435         * modules/poll (Makefile.am): Likewise.
55436         * modules/posixtm (Makefile.am): Likewise.
55437         * modules/posixver (Makefile.am): Likewise.
55438         * modules/putenv (Makefile.am): Likewise.
55439         * modules/quote (Makefile.am): Likewise.
55440         * modules/quotearg (Makefile.am): Likewise.
55441         * modules/raise (Makefile.am): Likewise.
55442         * modules/read-file (Makefile.am): Likewise.
55443         * modules/readline (Makefile.am): Likewise.
55444         * modules/readlink (Makefile.am): Likewise.
55445         * modules/readtokens (Makefile.am): Likewise.
55446         * modules/readutmp (Makefile.am): Likewise.
55447         * modules/realloc (Makefile.am): Likewise.
55448         * modules/regex (Makefile.am): Likewise.
55449         * modules/rename-dest-slash (Makefile.am): Likewise.
55450         * modules/rename (Makefile.am): Likewise.
55451         * modules/rijndael (Makefile.am): Likewise.
55452         * modules/rmdir (Makefile.am): Likewise.
55453         * modules/rpmatch (Makefile.am): Likewise.
55454         * modules/safe-read (Makefile.am): Likewise.
55455         * modules/safe-write (Makefile.am): Likewise.
55456         * modules/same-inode (Makefile.am): Likewise.
55457         * modules/same (Makefile.am): Likewise.
55458         * modules/save-cwd (Makefile.am): Likewise.
55459         * modules/savedir (Makefile.am): Likewise.
55460         * modules/setenv (Makefile.am): Likewise.
55461         * modules/settime (Makefile.am): Likewise.
55462         * modules/sha1 (Makefile.am): Likewise.
55463         * modules/sig2str (Makefile.am): Likewise.
55464         * modules/snprintf (Makefile.am): Likewise.
55465         * modules/stat-macros (Makefile.am): Likewise.
55466         * modules/stat-time (Makefile.am): Likewise.
55467         * modules/stdbool (Makefile.am): Likewise.
55468         * modules/stdint (Makefile.am): Likewise.
55469         * modules/stdlib-safer (Makefile.am): Likewise.
55470         * modules/stpcpy (Makefile.am): Likewise.
55471         * modules/stpncpy (Makefile.am): Likewise.
55472         * modules/strcase (Makefile.am): Likewise.
55473         * modules/strcasestr (Makefile.am): Likewise.
55474         * modules/strchrnul (Makefile.am): Likewise.
55475         * modules/strcspn (Makefile.am): Likewise.
55476         * modules/strdup (Makefile.am): Likewise.
55477         * modules/strerror (Makefile.am): Likewise.
55478         * modules/strftime (Makefile.am): Likewise.
55479         * modules/strndup (Makefile.am): Likewise.
55480         * modules/strnlen (Makefile.am): Likewise.
55481         * modules/strpbrk (Makefile.am): Likewise.
55482         * modules/strsep (Makefile.am): Likewise.
55483         * modules/strstr (Makefile.am): Likewise.
55484         * modules/strtod (Makefile.am): Likewise.
55485         * modules/strtoimax (Makefile.am): Likewise.
55486         * modules/strtok_r (Makefile.am): Likewise.
55487         * modules/strtol (Makefile.am): Likewise.
55488         * modules/strtoll (Makefile.am): Likewise.
55489         * modules/strtoul (Makefile.am): Likewise.
55490         * modules/strtoull (Makefile.am): Likewise.
55491         * modules/strtoumax (Makefile.am): Likewise.
55492         * modules/strverscmp (Makefile.am): Likewise.
55493         * modules/sys_socket (Makefile.am): Likewise.
55494         * modules/sys_stat (Makefile.am): Likewise.
55495         * modules/sysexits (Makefile.am): Likewise.
55496         * modules/time_r (Makefile.am): Likewise.
55497         * modules/timegm (Makefile.am): Likewise.
55498         * modules/timespec (Makefile.am): Likewise.
55499         * modules/tmpfile-safer (Makefile.am): Likewise.
55500         * modules/trim (Makefile.am): Likewise.
55501         * modules/unistd-safer (Makefile.am): Likewise.
55502         * modules/unlinkdir (Makefile.am): Likewise.
55503         * modules/unlocked-io (Makefile.am): Likewise.
55504         * modules/userspec (Makefile.am): Likewise.
55505         * modules/utime (Makefile.am): Likewise.
55506         * modules/utimecmp (Makefile.am): Likewise.
55507         * modules/utimens (Makefile.am): Likewise.
55508         * modules/vasnprintf (Makefile.am): Likewise.
55509         * modules/vasprintf (Makefile.am): Likewise.
55510         * modules/vsnprintf (Makefile.am): Likewise.
55511         * modules/xalloc (Makefile.am): Likewise.
55512         * modules/xgetcwd (Makefile.am): Likewise.
55513         * modules/xnanosleep (Makefile.am): Likewise.
55514         * modules/xreadlink (Makefile.am): Likewise.
55515         * modules/xstrtod (Makefile.am): Likewise.
55516         * modules/xstrtol (Makefile.am): Likewise.
55517         * modules/xstrtold (Makefile.am): Likewise.
55518         * modules/yesno (Makefile.am): Likewise.
55519         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
55520
55521 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55522
55523         * modules/error (Makefile.am): Distribute files through
55524         EXTRA_DIST, not lib_SOURCES.
55525
55526 2006-10-12  Eric Blake  <ebb9@byu.net>
55527
55528         * modules/error (Makefile.am): Distribute files in /lib.
55529         * modules/obstack (Makefile.am): Likewise.
55530
55531 2006-10-12  Bruno Haible  <bruno@clisp.org>
55532
55533         * modules/acl (Makefile.am): Distribute all files in lib/ through
55534         EXTRA_DIST.
55535         * modules/arcfour (Makefile.am): Likewise.
55536         * modules/arctwo (Makefile.am): Likewise.
55537         * modules/argmatch (Makefile.am): Likewise.
55538         * modules/argz (Makefile.am): Likewise.
55539         * modules/atexit (Makefile.am): Likewise.
55540         * modules/backupfile (Makefile.am): Likewise.
55541         * modules/c-strtod (Makefile.am): Likewise.
55542         * modules/c-strtold (Makefile.am): Likewise.
55543         * modules/calloc (Makefile.am): Likewise.
55544         * modules/canon-host (Makefile.am): Likewise.
55545         * modules/canonicalize (Makefile.am): Likewise.
55546         * modules/chdir-long (Makefile.am): Likewise.
55547         * modules/chdir-safer (Makefile.am): Likewise.
55548         * modules/check-version (Makefile.am): Likewise.
55549         * modules/chown (Makefile.am): Likewise.
55550         * modules/cloexec (Makefile.am): Likewise.
55551         * modules/close-stream (Makefile.am): Likewise.
55552         * modules/closeout (Makefile.am): Likewise.
55553         * modules/crc (Makefile.am): Likewise.
55554         * modules/cycle-check (Makefile.am): Likewise.
55555         * modules/des (Makefile.am): Likewise.
55556         * modules/dirfd (Makefile.am): Likewise.
55557         * modules/dirname (Makefile.am): Likewise.
55558         * modules/dup2 (Makefile.am): Likewise.
55559         * modules/euidaccess (Makefile.am): Likewise.
55560         * modules/exclude (Makefile.am): Likewise.
55561         * modules/exitfail (Makefile.am): Likewise.
55562         * modules/fcntl-safer (Makefile.am): Likewise.
55563         * modules/file-type (Makefile.am): Likewise.
55564         * modules/fileblocks (Makefile.am): Likewise.
55565         * modules/filemode (Makefile.am): Likewise.
55566         * modules/filenamecat (Makefile.am): Likewise.
55567         * modules/fnmatch (Makefile.am): Likewise.
55568         * modules/fopen-safer (Makefile.am): Likewise.
55569         * modules/fpending (Makefile.am): Likewise.
55570         * modules/fprintftime (Makefile.am): Likewise.
55571         * modules/free (Makefile.am): Likewise.
55572         * modules/fsusage (Makefile.am): Likewise.
55573         * modules/ftruncate (Makefile.am): Likewise.
55574         * modules/fts (Makefile.am): Likewise.
55575         * modules/gc (Makefile.am): Likewise.
55576         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55577         * modules/getaddrinfo (Makefile.am): Likewise.
55578         * modules/getcwd (Makefile.am): Likewise.
55579         * modules/getdelim (Makefile.am): Likewise.
55580         * modules/getdomainname (Makefile.am): Likewise.
55581         * modules/getgroups (Makefile.am): Likewise.
55582         * modules/gethostname (Makefile.am): Likewise.
55583         * modules/gethrxtime (Makefile.am): Likewise.
55584         * modules/getline (Makefile.am): Likewise.
55585         * modules/getloadavg (Makefile.am): Likewise.
55586         * modules/getlogin_r (Makefile.am): Likewise.
55587         * modules/getopt (Makefile.am): Likewise.
55588         * modules/getpass (Makefile.am): Likewise.
55589         * modules/getpass-gnu (Makefile.am): Likewise.
55590         * modules/getsubopt (Makefile.am): Likewise.
55591         * modules/gettime (Makefile.am): Likewise.
55592         * modules/gettimeofday (Makefile.am): Likewise.
55593         * modules/getugroups (Makefile.am): Likewise.
55594         * modules/getusershell (Makefile.am): Likewise.
55595         * modules/glob (Makefile.am): Likewise.
55596         * modules/group-member (Makefile.am): Likewise.
55597         * modules/hard-locale (Makefile.am): Likewise.
55598         * modules/hash (Makefile.am): Likewise.
55599         * modules/hmac-md5 (Makefile.am): Likewise.
55600         * modules/hmac-sha1 (Makefile.am): Likewise.
55601         * modules/human (Makefile.am): Likewise.
55602         * modules/idcache (Makefile.am): Likewise.
55603         * modules/imaxabs (Makefile.am): Likewise.
55604         * modules/imaxdiv (Makefile.am): Likewise.
55605         * modules/inet_ntop (Makefile.am): Likewise.
55606         * modules/inet_pton (Makefile.am): Likewise.
55607         * modules/inttostr (Makefile.am): Likewise.
55608         * modules/isapipe (Makefile.am): Likewise.
55609         * modules/lchown (Makefile.am): Likewise.
55610         * modules/long-options (Makefile.am): Likewise.
55611         * modules/lstat (Makefile.am): Likewise.
55612         * modules/malloc (Makefile.am): Likewise.
55613         * modules/mathl (Makefile.am): Likewise.
55614         * modules/mbchar (Makefile.am): Likewise.
55615         * modules/md2 (Makefile.am): Likewise.
55616         * modules/md4 (Makefile.am): Likewise.
55617         * modules/md5 (Makefile.am): Likewise.
55618         * modules/memcasecmp (Makefile.am): Likewise.
55619         * modules/memchr (Makefile.am): Likewise.
55620         * modules/memcmp (Makefile.am): Likewise.
55621         * modules/memcoll (Makefile.am): Likewise.
55622         * modules/memcpy (Makefile.am): Likewise.
55623         * modules/memmem (Makefile.am): Likewise.
55624         * modules/memmove (Makefile.am): Likewise.
55625         * modules/mempcpy (Makefile.am): Likewise.
55626         * modules/memrchr (Makefile.am): Likewise.
55627         * modules/memset (Makefile.am): Likewise.
55628         * modules/memxor (Makefile.am): Likewise.
55629         * modules/mkancesdirs (Makefile.am): Likewise.
55630         * modules/mkdir (Makefile.am): Likewise.
55631         * modules/mkdir-p (Makefile.am): Likewise.
55632         * modules/mkdtemp (Makefile.am): Likewise.
55633         * modules/mkstemp (Makefile.am): Likewise.
55634         * modules/mktime (Makefile.am): Likewise.
55635         * modules/modechange (Makefile.am): Likewise.
55636         * modules/mountlist (Makefile.am): Likewise.
55637         * modules/nanosleep (Makefile.am): Likewise.
55638         * modules/openat (Makefile.am): Likewise.
55639         * modules/pagealign_alloc (Makefile.am): Likewise.
55640         * modules/physmem (Makefile.am): Likewise.
55641         * modules/poll (Makefile.am): Likewise.
55642         * modules/posixtm (Makefile.am): Likewise.
55643         * modules/posixver (Makefile.am): Likewise.
55644         * modules/putenv (Makefile.am): Likewise.
55645         * modules/quote (Makefile.am): Likewise.
55646         * modules/quotearg (Makefile.am): Likewise.
55647         * modules/raise (Makefile.am): Likewise.
55648         * modules/read-file (Makefile.am): Likewise.
55649         * modules/readline (Makefile.am): Likewise.
55650         * modules/readlink (Makefile.am): Likewise.
55651         * modules/readtokens (Makefile.am): Likewise.
55652         * modules/readutmp (Makefile.am): Likewise.
55653         * modules/realloc (Makefile.am): Likewise.
55654         * modules/regex (Makefile.am): Likewise.
55655         * modules/rename (Makefile.am): Likewise.
55656         * modules/rename-dest-slash (Makefile.am): Likewise.
55657         * modules/rijndael (Makefile.am): Likewise.
55658         * modules/rmdir (Makefile.am): Likewise.
55659         * modules/rpmatch (Makefile.am): Likewise.
55660         * modules/safe-read (Makefile.am): Likewise.
55661         * modules/safe-write (Makefile.am): Likewise.
55662         * modules/same (Makefile.am): Likewise.
55663         * modules/save-cwd (Makefile.am): Likewise.
55664         * modules/savedir (Makefile.am): Likewise.
55665         * modules/setenv (Makefile.am): Likewise.
55666         * modules/settime (Makefile.am): Likewise.
55667         * modules/sha1 (Makefile.am): Likewise.
55668         * modules/sig2str (Makefile.am): Likewise.
55669         * modules/snprintf (Makefile.am): Likewise.
55670         * modules/stdlib-safer (Makefile.am): Likewise.
55671         * modules/stpcpy (Makefile.am): Likewise.
55672         * modules/stpncpy (Makefile.am): Likewise.
55673         * modules/strcase (Makefile.am): Likewise.
55674         * modules/strcasestr (Makefile.am): Likewise.
55675         * modules/strchrnul (Makefile.am): Likewise.
55676         * modules/strcspn (Makefile.am): Likewise.
55677         * modules/strdup (Makefile.am): Likewise.
55678         * modules/strerror (Makefile.am): Likewise.
55679         * modules/strftime (Makefile.am): Likewise.
55680         * modules/strndup (Makefile.am): Likewise.
55681         * modules/strnlen (Makefile.am): Likewise.
55682         * modules/strpbrk (Makefile.am): Likewise.
55683         * modules/strsep (Makefile.am): Likewise.
55684         * modules/strstr (Makefile.am): Likewise.
55685         * modules/strtod (Makefile.am): Likewise.
55686         * modules/strtoimax (Makefile.am): Likewise.
55687         * modules/strtok_r (Makefile.am): Likewise.
55688         * modules/strtol (Makefile.am): Likewise.
55689         * modules/strtoll (Makefile.am): Likewise.
55690         * modules/strtoul (Makefile.am): Likewise.
55691         * modules/strtoull (Makefile.am): Likewise.
55692         * modules/strtoumax (Makefile.am): Likewise.
55693         * modules/strverscmp (Makefile.am): Likewise.
55694         * modules/time_r (Makefile.am): Likewise.
55695         * modules/timegm (Makefile.am): Likewise.
55696         * modules/tmpfile-safer (Makefile.am): Likewise.
55697         * modules/unistd-safer (Makefile.am): Likewise.
55698         * modules/unlinkdir (Makefile.am): Likewise.
55699         * modules/userspec (Makefile.am): Likewise.
55700         * modules/utime (Makefile.am): Likewise.
55701         * modules/utimecmp (Makefile.am): Likewise.
55702         * modules/utimens (Makefile.am): Likewise.
55703         * modules/vasnprintf (Makefile.am): Likewise.
55704         * modules/vasprintf (Makefile.am): Likewise.
55705         * modules/vsnprintf (Makefile.am): Likewise.
55706         * modules/xalloc (Makefile.am): Likewise.
55707         * modules/xgetcwd (Makefile.am): Likewise.
55708         * modules/xnanosleep (Makefile.am): Likewise.
55709         * modules/xreadlink (Makefile.am): Likewise.
55710         * modules/xstrtod (Makefile.am): Likewise.
55711         * modules/xstrtol (Makefile.am): Likewise.
55712         * modules/xstrtold (Makefile.am): Likewise.
55713         * modules/yesno (Makefile.am): Likewise.
55714
55715 2006-10-12  Jim Meyering  <jim@meyering.net>
55716
55717         * m4/getloadavg.m4: Revert the change below.
55718
55719         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55720         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55721         fail with a symlink, which is what coreutils' ./bootstrap now
55722         creates by default.
55723
55724 2006-10-12  Bruno Haible  <bruno@clisp.org>
55725
55726         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55727         mingw.
55728         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55729         MSVC and mingw explicitly.
55730
55731 2006-10-11  Simon Josefsson  <jas@extundo.com>
55732             Bruno Haible  <bruno@clisp.org>
55733
55734         Add support for multiple gnulib-tool invocations in the scope of a
55735         single configure.ac file.
55736         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55737         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55738         with the same contents as the _LIBADD variable.
55739         (func_emit_initmacro_start, func_emit_initmacro_end,
55740         func_emit_initmacro_done): New functions.
55741         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55742         gl_LIBOBJS and gl_LTLIBOBJS.
55743
55744 2006-10-11  Bruno Haible  <bruno@clisp.org>
55745
55746         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55747         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55748         autoreconf. Instead, invoke autopoint explicitly but move back the
55749         *.m4 files from gnulib.
55750
55751 2006-10-11  Bruno Haible  <bruno@clisp.org>
55752
55753         * gnulib-tool (func_usage): Make module names after --create-testdir
55754         optional.
55755         (func_create_testdir): If no module was specified, use nearly all
55756         modules.
55757
55758 2006-10-12  Jim Meyering  <jim@meyering.net>
55759
55760         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55761         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55762         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55763         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55764         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55765         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55766         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55767         (fts_set_stat_required): New function.
55768         (fts_open): Defer the calls to fts_stat, if possible or requested.
55769         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55770         into fts_stat itself.
55771         (fts_read): Perform any required (deferred) fts_stat call.
55772         (fts_build): Likewise, for the directory we're about to open and read.
55773         In the readdir loop, carefully decide whether each entry will require
55774         an eventual call to fts_stat, using dirent.d_type info if available.
55775         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55776         a command line argument into this function.  Update all callers.
55777         Map a return value of FTS_DOT to FTS_D for a command line argument.
55778         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55779         Thanks to Miklos Szeredi for his tenacity and for the initial
55780         bug report about "find" failing on a FUSE-based file system.
55781
55782         * lib/fts.c (fts_open): Use consistent indentation.
55783
55784 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55785
55786         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55787         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55788         reported by Jim Meyering.  All uses of cache variables renamed
55789         to match Autoconf's.
55790         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55791         the other one.
55792
55793         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55794         Fix misspelling in diagnostic.
55795
55796 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55797
55798         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55799         defined.  Problem reported by Matthew Woehlke.
55800
55801         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55802         Add support for Tandem NonStop R series.
55803         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55804         Use new macro.
55805
55806         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55807         (has_trailing_slash): Omit size arg; all callers changed.
55808         Omit 'inline', since it doesn't help performance and we'd
55809         need to configure it.
55810         Don't count //, ///, etc. as having a trailing slash.
55811         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55812         (rpl_rename_dest_slash): On failure, use rename's errno rather
55813         than (in some cases) an incorrect or junk errno.
55814         Simplify code by removing need to compute length; this does
55815         cause it to make two passes instead of one over the file name,
55816         but it's worth it.
55817
55818         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55819         change, since Autoconf's version may no longer be appropriate now
55820         that we are using CVS Autoconf's version.  Add support for Tandem.
55821
55822 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55823             Bruno Haible  <bruno@clisp.org>
55824
55825         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55826         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55827         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55828         gl_AC_TYPE_LONG_LONG.
55829
55830         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55831         instead of HAVE_LONG_LONG.
55832         * lib/printf-args.c (printf_fetchargs): Likewise.
55833         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55834         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55835         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55836         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55837         gl_AC_TYPE_LONG_LONG.
55838
55839 2006-10-11  Bruno Haible  <bruno@clisp.org>
55840
55841         * m4/longlong.m4: Add comments.
55842         * m4/ulonglong.m4: Likewise.
55843
55844 2006-10-10  Bruno Haible  <bruno@clisp.org>
55845
55846         Make it possible to #define stpcpy, strdup to aliases.
55847         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55848         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55849
55850 2006-10-10  Bruno Haible  <bruno@clisp.org>
55851
55852         Make it possible to #define gcd to an alias.
55853         * lib/gcd.c: Include config.h.
55854
55855 2006-10-10  Bruno Haible  <bruno@clisp.org>
55856
55857         Make it possible to #define c_isascii to an alias.
55858         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55859         defined. Undefine the macros before defining them, to avoid gcc
55860         warnings.
55861         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55862         define NO_C_CTYPE_MACROS early.
55863
55864 2006-10-10  Bruno Haible  <bruno@clisp.org>
55865
55866         Make it possible to #define set_program_name to an alias.
55867         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55868         ENABLE_RELOCATABLE early.
55869
55870 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55871
55872         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55873         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55874         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55875         More generally, don't assume that 64-bit signed int is available
55876         if unsigned int is, and vice versa.
55877         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55878         unsigned symbols, not on their signed counterparts.
55879         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55880         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55881         (UINT64_C, UINTMAX_C):
55882         Likewise.
55883         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55884         unsigned counterparts.
55885         (Have_long_long, Unsigned): New macros.
55886         (Int): Renamed from INT.
55887         (strtoimax): Use the new macros.
55888         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55889         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55890         * modules/inttypes (inttypes.h): Substitute
55891         HAVE_UNSIGNED_LONG_LONG_INT.
55892         * modules/stdint (stdint.h): Likewise.
55893         (Files): Add m4/ulonglong.m4.
55894
55895 2006-10-10  Bruno Haible  <bruno@clisp.org>
55896
55897         Fix a gcc -Wshadow warning.
55898         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55899         to 'bucket'.
55900         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55901         gl_linked_indexof_from_to): Likewise.
55902         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55903         Likewise.
55904         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55905         Likewise.
55906         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55907         Reported by Eric Blake.
55908
55909 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55910
55911         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55912         for NetBSD.  Problem reported by Bruno Haible.
55913
55914 2006-10-09  Jim Meyering  <jim@meyering.net>
55915
55916         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55917         Patch from Bruno Haible.
55918
55919 2006-10-09  Jim Meyering  <jim@meyering.net>
55920
55921         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
55922         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
55923         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
55924
55925 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55926
55927         Don't include <config.h> twice; this doesn't work in some cases,
55928         e.g., when config.h has "#define intmax_t long long int" and
55929         we include <config.h>, <inttypes.h>, <config.h> in that order.
55930         Problem reported by Matthew Woehlke in:
55931         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
55932         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
55933         * lib/fts-cycle.c: Don't include config.h.
55934         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
55935         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
55936         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
55937         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
55938         inttypes.h.
55939         * lib/xstrtoumax.c: Likewise.
55940         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
55941         __strtol and the like, so that this module is more like its siblings.
55942         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
55943         Remove; no longer needed now that we assume gnulib inttypes.h.
55944
55945 2006-10-08  Bruno Haible  <bruno@clisp.org>
55946
55947         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
55948         option.
55949
55950 2006-10-07  Jim Meyering  <jim@meyering.net>
55951
55952         * modules/inttypes (inttypes.h): Revert what seems to have been
55953         an inadvertent part of today's change: use "|", not "/" in the
55954         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
55955
55956 2006-10-07  Bruno Haible  <bruno@clisp.org>
55957
55958         * modules/sublist: New file.
55959
55960 2006-10-07  Bruno Haible  <bruno@clisp.org>
55961
55962         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
55963         * modules/argz (argz.h): Likewise.
55964         * modules/arpa_inet (arpa/inet.h): Likewise.
55965         * modules/byteswap (byteswap.h): Likewise.
55966         * modules/configmake (configmake.h): Likewise.
55967         * modules/fcntl (fcntl.h): Likewise.
55968         * modules/fnmatch (fnmatch.h): Likewise.
55969         * modules/getopt (getopt.h): Likewise.
55970         * modules/glob (glob.h): Likewise.
55971         * modules/inttypes (inttypes.h): Likewise.
55972         * modules/netinet_in (netinet/in.h): Likewise.
55973         * modules/poll (poll.h): Likewise.
55974         * modules/stdbool (stdbool.h): Likewise.
55975         * modules/stdint (stdint.h): Likewise.
55976         * modules/sys_select (sys/select.h): Likewise.
55977         * modules/sys_socket (sys/socket.h): Likewise.
55978         * modules/sys_stat (sys/stat.h): Likewise.
55979         * modules/sysexits (sysexits.h): Likewise.
55980         * modules/unistd (unistd.h): Likewise.
55981         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55982         Add a "DO NOT EDIT" comment to the generated file.
55983         (func_import): Likewise for gnulib-comp.m4.
55984
55985 2006-10-07  Bruno Haible  <bruno@clisp.org>
55986
55987         * lib/gl_sublist.h: New file.
55988         * lib/gl_sublist.c: New file.
55989
55990 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55991
55992         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
55993         name (relative to the original working directory) and the file
55994         name component (relative to the temporary working directory).  All
55995         callers changed.
55996         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
55997         * lib/mkdir-p.c (make_dir_parents): Likewise.
55998         * lib/mkdir-p.h (make_dir_parents): Likewise.
55999
56000 2006-10-06  Eric Blake  <ebb9@byu.net>
56001
56002         Define several macros for use by the clean-temp module.
56003         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
56004         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
56005         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
56006
56007         * lib/clean-temp.h (close_stream_temp): New declaration.
56008         * lib/clean-temp.c (includes): Pull in headers according to what
56009         other modules are in use.
56010         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
56011
56012 2006-10-06  Bruno Haible  <bruno@clisp.org>
56013
56014         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
56015         instead of fopen, fwriteerror.
56016
56017 2006-10-06  Bruno Haible  <bruno@clisp.org>
56018
56019         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
56020         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
56021         int.
56022         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
56023         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
56024         Return an error indicator.
56025         Suggested by Eric Blake.
56026
56027 2006-10-06  Bruno Haible  <bruno@clisp.org>
56028
56029         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
56030         Reported by Eric Blake.
56031
56032 2006-10-06  Bruno Haible  <bruno@clisp.org>
56033
56034         * modules/closeout (Description): Mention stderr too.
56035
56036 2006-10-06  Bruno Haible  <bruno@clisp.org>
56037         and Paul Eggert  <eggert@cs.ucla.edu>
56038
56039         * lib/closeout.c (close_stdout): Also close stderr.
56040         * lib/closeout.h: Update comment.
56041
56042 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
56043
56044         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
56045         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
56046         * lib/dirchownmod.c: Include lchown.h.
56047         * lib/lchown.c: Don't include files that lchown.h now includes.
56048         Don't declare chown, since lchown.h now does that.
56049         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
56050         (lchown): Define to rpl_chown if lchown is declared but
56051         does not exist.  Declare using a prototype if lchown is not
56052         declared.  Add a copyright notice.
56053         * lib/mkstemp.h: Include <unistd.h>.
56054         * lib/openat.c: Include lchown.h.
56055
56056         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
56057         we now test for that separately.
56058         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
56059         rather than O_NOFOLLOW, when testing whether it's possible to
56060         avoid a race condition reliably.
56061         * lib/savewd.c (savewd_chdir): Likewise.
56062
56063         Remove macros that are no longer needed now that stdint.h is
56064         reliable.
56065         * lib/fsusage.c (UINTMAX_MAX): Remove.
56066         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
56067         * lib/utimecmp.c (SIZE_MAX): Remove.
56068
56069         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
56070
56071         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
56072         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
56073         O_NOATIME works.
56074
56075 2006-10-05  Bruno Haible  <bruno@clisp.org>
56076
56077         * lib/gl_list.h (gl_sortedlist_search_from_to,
56078         gl_sortedlist_indexof_from_to): New declarations.
56079         (gl_list_implementation): New fields sortedlist_search_from_to,
56080         sortedlist_indexof_from_to.
56081         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
56082         inline functions.
56083         * lib/gl_list.c (gl_sortedlist_search_from_to,
56084         gl_sortedlist_indexof_from_to): New functions.
56085         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
56086         function.
56087         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
56088         (gl_array_sortedlist_search_from_to): New function.
56089         (gl_array_list_implementation): Update.
56090         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
56091         function.
56092         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
56093         (gl_carray_sortedlist_search_from_to): New function.
56094         (gl_carray_list_implementation): Update.
56095         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
56096         gl_linked_sortedlist_indexof_from_to): New functions.
56097         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56098         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56099         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
56100         gl_tree_sortedlist_indexof_from_to): New functions.
56101         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56102         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56103         Update.
56104         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56105         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
56106         Update.
56107
56108 2006-10-05  Bruno Haible  <bruno@clisp.org>
56109
56110         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
56111         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
56112         (struct gl_list_implementation): Add fields search_from_to,
56113         indexof_from_to. Remove fields search, indexof.
56114         (gl_list_search): Use the search_from_to method.
56115         (gl_list_search_from, gl_list_search_from_to): New functions.
56116         (gl_list_indexof): Use the indexof_from_to method.
56117         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56118         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
56119         (gl_list_search_from, gl_list_search_from_to): New functions.
56120         (gl_list_indexof): Use the indexof_from_to method.
56121         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56122         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
56123         gl_array_indexof. Add start_index, end_index arguments.
56124         (gl_array_search_from_to): Renamed from gl_array_search. Add
56125         start_index, end_index arguments.
56126         (gl_array_remove, gl_array_list_implementation): Update.
56127         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
56128         gl_carray_indexof. Add start_index, end_index arguments.
56129         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
56130         start_index, end_index arguments.
56131         (gl_carray_remove, gl_carray_list_implementation): Update.
56132         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
56133         gl_linked_search. Add start_index, end_index arguments.
56134         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
56135         start_index, end_index arguments.
56136         (gl_linked_remove): Update.
56137         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56138         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56139         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
56140         field to 'size_t'.
56141         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
56142         gl_tree_search. Add start_index, end_index arguments.
56143         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56144         start_index, end_index arguments.
56145         (gl_tree_remove): Update.
56146         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56147         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56148         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
56149         function.
56150         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
56151         gl_tree_search. Add start_index, end_index arguments.
56152         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56153         start_index, end_index arguments.
56154         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56155         Update.
56156         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56157
56158 2006-10-05  Bruno Haible  <bruno@clisp.org>
56159
56160         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
56161
56162         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
56163         fwriteerror_temp): New declarations.
56164         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
56165         (descriptors): New variable.
56166         (cleanup): First, close the descriptors.
56167         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
56168         fclose_temp, fwriteerror_temp): New functions.
56169
56170 2006-10-04  Jim Meyering  <jim@meyering.net>
56171
56172         * lib/fts.c (fts_open): Tiny comment change.
56173
56174 2006-10-04  Bruno Haible  <bruno@clisp.org>
56175
56176         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
56177         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
56178         gl_LOCK_BODY.
56179         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
56180         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
56181         gl_LOCK_EARLY_BODY.
56182         (gl_LOCK): Require gl_LOCK_BODY.
56183
56184 2006-10-04  Bruno Haible  <bruno@clisp.org>
56185
56186         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
56187         (gl_oset_search_atleast): New declaration.
56188         (struct gl_oset_implementation): Add field 'search_atleast'.
56189         (gl_oset_search_atleast): New inline function.
56190         * lib/gl_oset.c (gl_oset_search_atleast): New function.
56191         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
56192         (gl_array_oset_implementation): Update.
56193         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
56194         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
56195         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
56196
56197 2006-10-04  Bruno Haible  <bruno@clisp.org>
56198
56199         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
56200
56201 2006-10-03  Bruno Haible  <bruno@clisp.org>
56202
56203         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
56204         from gl_avltreehash_list_implementation.
56205
56206 2006-10-03  Bruno Haible  <bruno@clisp.org>
56207
56208         * lib/gl_oset.c (gl_oset_add): Fix return type.
56209
56210 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
56211
56212         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
56213
56214 2006-10-02  Eric Blake  <ebb9@byu.net>
56215
56216         * modules/strnlen (Depends-on): Add extensions.
56217
56218 2006-10-02  Eric Blake  <ebb9@byu.net>
56219
56220         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
56221         definition in 2.60+.
56222
56223 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
56224
56225         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
56226         checks.
56227
56228 2006-10-02  Bruno Haible  <bruno@clisp.org>
56229
56230         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
56231         to the AUTOMAKE_OPTIONS.
56232         Reported by Jim Meyering.
56233
56234 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
56235
56236         Work around bug in Solaris 10 /proc file system:
56237         /proc/self/fd/NNN/.. isn't the parent directory of
56238         the directory whose file descriptor is NNN.  This needs to
56239         be worked around at run time, not compile time, since a
56240         program might be built on Solaris 8, where things work, and
56241         run on Solaris 10.
56242         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
56243         to use the following interface instead:
56244         (OPENAT_BUFFER_SIZE): New macro.
56245         (openat_proc_name): New function.
56246         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
56247         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
56248         Likewise.
56249         * lib/openat-proc.c: New file.
56250         * modules/openat (Files): Add lib/openat-proc.c.
56251         (Depends-on): Add same-inode, stdbool.
56252         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
56253
56254 2006-09-29  Bruno Haible  <bruno@clisp.org>
56255
56256         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
56257         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
56258         argument. Set stdout_closed before testing for ferror, not after.
56259         (fwriteerror, fwriteerror_no_ebadf): New functions.
56260
56261 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56262
56263         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
56264
56265 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
56266
56267         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
56268         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
56269
56270 2006-09-28  Jim Meyering  <jim@meyering.net>
56271
56272         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
56273         Include <unistd.h>.
56274
56275 2006-09-28  Bruno Haible  <bruno@clisp.org>
56276
56277         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
56278         * modules/linkedhash-list (Depends-on): Likewise.
56279         * modules/rbtreehash-list (Depends-on): Likewise.
56280
56281 2006-09-28  Bruno Haible  <bruno@clisp.org>
56282
56283         * lib/strndup.h: Simplify the redefinition of strndup.
56284         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
56285         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
56286
56287 2006-09-28  Bruno Haible  <bruno@clisp.org>
56288
56289         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
56290         * lib/gl_linkedhash_list.c: Likewise.
56291         * lib/gl_rbtreehash_list.c: Likewise.
56292
56293 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56294
56295         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
56296         getaddrinfo.
56297
56298         * lib/__fpending.h: Don't include <stdio_ext.h> unless
56299         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
56300         it causes <stdio_ext.h> to cause a compile-time error.
56301         Problem reported by Nelson H. F. Beebe.
56302         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
56303         of HAVE_DECL___PENDING.
56304
56305         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
56306         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
56307         declaration.
56308
56309 2006-09-27  Jim Meyering  <jim@meyering.net>
56310
56311         This file could end up with a definition for a function
56312         named __strndup, rather than rpl_strndup on a system with
56313         incomplete weak_alias support.
56314         * lib/strndup.c (strndup): Rename from __strndup.
56315         Remove #defines that used to map __strndup to strndup.
56316         Don't use K&R prototypes.
56317         Remove LIBC-related code, since this file is not sync'd with glibc.
56318         * lib/strndup.h: Revamp, accordingly.
56319         * m4/strndup.m4: Modernize.
56320
56321 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
56322
56323         * modules/savewd (Depends-on): Add 'raise'.
56324         * lib/savewd.c: Include <signal.h>, for 'raise'.
56325
56326 2006-09-26  Jim Meyering  <jim@meyering.net>
56327
56328         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
56329         when we detect Darwin 8.7.0's acl_get_file bug.
56330         Rearrange to perform the new (below) run-test while $LIBS
56331         contains any acl-related library.  Set USE_ACL at the end.
56332         (gl_ACL_GET_FILE): New function.
56333
56334 2006-09-26  Eric Blake  <ebb9@byu.net>
56335
56336         * lib/verror.c: Include <config.h> unconditionally.
56337
56338 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
56339
56340         * modules/clock-time (Maintainer): Add self.
56341         * modules/getlogin_r (Depends-on): Add extensions.
56342
56343 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56344
56345         * modules/clock-time: New module.
56346         * modules/nanosleep (Depends-on): Add clock-time.
56347         * modules/gethrxtime (Depends-on): Likewise.
56348         * modules/gettime (Depends-on): Likewise.
56349         * modules/settime (Depends-on): Likewise.
56350
56351         * modules/fts-lgpl: Depend on openat.
56352         * modules/mkancesdirs: Depend on savewd.
56353         * modules/mkdir-p: Likewise.
56354
56355 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56356
56357         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
56358
56359         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
56360         `gl_have_arbitrary_file_name_length_limit' to
56361         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
56362         actually works between configure runs.
56363
56364 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56365             Bruno Haible  <bruno@clisp.org>
56366
56367         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
56368
56369 2006-09-25  Jim Meyering  <jim@meyering.net>
56370
56371         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
56372         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
56373
56374 2006-09-25  Eric Blake  <ebb9@byu.net>
56375
56376         * gnulib-tool (func_import, func_create_testdir): Fix typos in
56377         exec's in 2006-09-18 patch when shuffling fds.
56378
56379 2006-09-25  Bruno Haible  <bruno@clisp.org>
56380
56381         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
56382         Reported by Jim Meyering.
56383
56384 2006-09-24  Jim Meyering  <jim@meyering.net>
56385
56386         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
56387         compare a pointer against a literal "0".  That caused failures with
56388         at least HP-UX's hpcc.
56389
56390 2006-09-22  Simon Josefsson  <jas@extundo.com>
56391
56392         * modules/gc-sha1:
56393         * modules/gc-md4:
56394         * modules/gc-hmac-sha1:
56395         * modules/gc-hmac-md5:
56396         * modules/gc-des:
56397         * modules/gc-arcfour: Distribute more files.
56398
56399 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56400
56401         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
56402         (gl_linked_iterator_from_to): Initialize struct completely.
56403         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
56404         (gl_tree_iterator_from_to): Likewise
56405         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
56406         * lib/gl_array_list.c [lint] (gl_array_iterator)
56407         (gl_array_iterator_from_to): Likewise.
56408         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
56409         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
56410         (gl_carray_iterator_from_to): Likewise.
56411
56412         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
56413         * lib/md4.c (md4_process_block): Remove unused variable.
56414         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
56415         parentheses for clarity.
56416
56417 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56418
56419         * modules/bison-i18n (Depends-on): Add gettext.
56420
56421 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56422
56423         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
56424         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
56425         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
56426         also add missing comma that caused broken test.
56427         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
56428         stdlib.h, for `abort'.
56429         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
56430         variables.
56431         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
56432         include unistd.h if present, for `rmdir'.
56433         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
56434         variables.
56435         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
56436         in the process include standard headers for prototypes.
56437         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
56438         gets declared on GNU/Linux.
56439         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
56440         unistd.h, for `rmdir'.
56441         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
56442
56443         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
56444         always true.
56445         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
56446
56447         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
56448
56449 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56450
56451         * gnulib-tool (func_version): Create output all at once.  This
56452         may help avoid triggering unnecessary SIGPIPEs, and at any
56453         rate it doesn't hurt.
56454
56455 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56456             Bruno Haible  <bruno@clisp.org>
56457
56458         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
56459         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56460         * m4/signed.m4 (bh_C_SIGNED): Likewise.
56461
56462         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
56463         (gl_FUNC_VASPRINTF): Invoke it.
56464
56465 2006-09-22  Bruno Haible  <bruno@clisp.org>
56466
56467         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
56468         getloadavg.c as first argument.
56469
56470 2006-09-22  Bruno Haible  <bruno@clisp.org>
56471
56472         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
56473         at the beginning of the gl_INIT macro.
56474         * modules/getloadavg (configure.ac): Pass $gl_source_base to
56475         gl_GETLOADAVG.
56476
56477 2006-09-22  Bruno Haible  <bruno@clisp.org>
56478
56479         * gnulib-tool (func_create_megatestdir): Don't include the config-h
56480         module.
56481         Suggested by Ralf Wildenhues.
56482
56483 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56484
56485         Import this patch from libc:
56486
56487         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
56488
56489         * lib/regex_internal.c (re_string_reconstruct): Handle
56490         offset < pstr->valid_raw_len && pstr->offsets_needed case.
56491         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
56492         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
56493         re_string_context_at.
56494
56495         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
56496         now requires it.
56497         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
56498         gl_REGEX now does it for us.
56499         (gl_REGEX): Add test taken from
56500         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
56501
56502         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
56503         Check that large offsets work.  Modernize Autoconf usages.
56504         Prefer "yes" to mean a good thing rather than a bad.
56505         Don't put "#define mkstemp" in config.h, as this might interfere
56506         with standard system headers that "#define mkstemp mkstemp64".
56507
56508         * modules/mkstemp (Depends-on): Add extensions, so that
56509         mkstemp is visible on some platforms.
56510         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
56511         (Include): Change to "mkstemp.h" from <stdlib.h>.
56512         (Files): Add mkstemp.h.
56513
56514         * lib/mkstemp.h: New file, since some standard headers
56515         #define mkstemp.
56516         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
56517         Include "mkstemp.h".
56518         Make the _LIBC code resemble glibc original more,
56519         e.g., use K&R style.
56520         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
56521         (mkstemp): Remove, since mkstemp.h does this for us.
56522         * lib/stdlib--.h: Include mkstemp.h.
56523
56524         Import this patch from libc:
56525
56526         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56527
56528         * lib/tempname.c (__gen_tempname): Change attempts_min
56529         into a macro.  Use preprocessor to decide how to initialize
56530         attempts [Coverity CID 67].
56531
56532 2006-09-20  Bruno Haible  <bruno@clisp.org>
56533
56534         * lib/mkdtemp.c: Import from libc.
56535         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56536                 * sysdeps/posix/tempname.c (__gen_tempname): Change
56537                 attempts_min into a macro.  Use preprocessor to decide how to
56538                 initialize attempts [Coverity CID 67].
56539         2001-11-27  Paul Eggert  <eggert@twinsun.com>
56540                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
56541                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
56542
56543 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56544
56545         * gnulib-tool (func_exit): New function, to allow to pass the
56546         exit status portably through the trap.  Use everywhere.
56547         (--help, --version): Signal a write error.
56548         (trap): catch SIGPIPE, for write errors.
56549         Exit at the end of the trap, with the correct exit status.
56550
56551 2006-09-19  Karl Berry  <karl@gnu.org>
56552
56553         * doc/gnulib.texi: note about the license texinfo files.
56554
56555 2006-09-19  Eric Blake  <ebb9@byu.net>
56556
56557         * gnulib-tool: Avoid space-tab.
56558
56559 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56560
56561         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
56562         that prevented coreutils 6.1 from building.  Problem reported
56563         by Petter Reinholdtsen.
56564
56565 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56566
56567         * gnulib-tool (avoidlist): Fix typo that broke options like
56568         --avoid=lock that are used by coreutils bootstrap.
56569
56570 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
56571
56572         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
56573         more systematically.
56574
56575 2006-09-18  Jim Meyering  <jim@meyering.net>
56576
56577         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
56578
56579 2006-09-18  Bruno Haible  <bruno@clisp.org>
56580
56581         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
56582
56583 2006-09-18  Bruno Haible  <bruno@clisp.org>
56584
56585         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
56586         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
56587         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
56588         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
56589         * m4/gettext.m4: Require autoconf >= 2.52.
56590         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
56591         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
56592         of gl_cv_header_inttypes_h.
56593
56594 2006-09-18  Bruno Haible  <bruno@clisp.org>
56595
56596         * lib/javaversion.c: Include configmake.h.
56597
56598 2006-09-18  Bruno Haible  <bruno@clisp.org>
56599
56600         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
56601         avoid that the while loops be executed in a subshell.
56602
56603 2006-09-18  Bruno Haible  <bruno@clisp.org>
56604
56605         * MODULES.html.sh (func_module): Break long lines.
56606         Suggested by Bruce Korb <bkorb@gnu.org>.
56607
56608 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56609
56610         Speed up by a factor of 1.12.
56611         * gnulib-tool (nl): New variable.
56612         (func_import): Rewrite include directive extraction to only read each
56613         directive once.
56614
56615 2006-09-17  Bruno Haible  <bruno@clisp.org>
56616
56617         * modules/javaversion (Makefile.am): Remove DEFS setting.
56618         (Depends-on): Add configmake, for PKGDATADIR definition.
56619
56620 2006-09-17  Bruno Haible  <bruno@clisp.org>
56621
56622         * gnulib-tool (func_create_testdir): Rewrite all files at once.
56623
56624 2006-09-17  Bruno Haible  <bruno@clisp.org>
56625
56626         * gnulib-tool (func_append): New function, stolen from libtool.m4.
56627         (func_modules_transitive_closure, func_modules_add_dummy,
56628         func_modules_to_filelist, func_import, func_create_testdir,
56629         func_create_megatestdir, ...): Use it wherever possible.
56630         Suggested by Ralf Wildenhues.
56631
56632 2006-09-16  Karl Berry  <karl@gnu.org>
56633
56634         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
56635         to avoid sectioning errors.
56636         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
56637         [ifinfo]: blank line after @center-ed titles.
56638         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
56639         Spell FSF address consistently with others.
56640         (These changes approved by rms.)
56641
56642 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56643
56644         Speed up by a factor of 1.61.
56645         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
56646         already checked module names again.
56647
56648 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56649
56650         Speed up by a factor of 1.13.
56651         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
56652         for new_files, and the input to func_add_or_update.
56653
56654 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56655
56656         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
56657         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
56658
56659 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56660
56661         * modules/mkancesdirs (Depends-on): Add fcntl.
56662         * modules/savewd: New file.
56663         * MODULES.html.sh (File system functions): Add savewd.
56664
56665         * modules/configmake (Makefile.am): Add support for the
56666         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
56667
56668 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56669
56670         * m4/savewd.m4: New file.
56671
56672 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56673
56674         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
56675         (dirchownmod): New arg FD.  All callers changed.
56676         Use FD rather than opening the directory ourself, as opening is
56677         now the caller's responsibility.
56678         * lib/dirchownmod.h: Likewise.
56679         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
56680         hosts that require <sys/types.h> before <sys/stat.h>.  Include
56681         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
56682         (test_dir): Remove.
56683         (mkancesdirs): Return length of prefix of FILE that has already
56684         been made, or -2 if there is a child doing the work.  Redo
56685         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56686         ".", and treat ".." specially since it might stray back into
56687         already-created areas.  Use a subprocess if necessary.  New arg
56688         WD; all users changed.  MAKE_DIR function should now return 1
56689         if it creates a directory that is not readable.  Return -2 if
56690         a child process is spun off.
56691         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56692         Adjust signature to match code.
56693         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56694         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56695         all users changed.
56696         * lib/savewd.c, lib/savewd.h: New files.
56697
56698 2006-09-15  Jim Meyering  <jim@meyering.net>
56699
56700         * modules/rename-dest-slash: New module.
56701         * MODULES.html.sh (posix_compat): Add it here.
56702
56703         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56704
56705 2006-09-15  Jim Meyering  <jim@meyering.net>
56706
56707         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56708         file.
56709
56710         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56711
56712 2006-09-15  Jim Meyering  <jim@meyering.net>
56713
56714         * lib/rename-dest-slash.c (has_trailing_slash): Use
56715         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56716         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56717         test before testing whether SRC is a directory.
56718         Suggestions from Bruno Haible.
56719
56720         Avoid a warning about an unused variable.
56721         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56722         into the #ifdef block where it's used.
56723
56724         * lib/rename-dest-slash.c: New file.
56725
56726 2006-09-14  Bruno Haible  <bruno@clisp.org>
56727
56728         * lib/allocsa.c: Include <config.h> unconditionally.
56729         * lib/asnprintf.c: Likewise.
56730         * lib/asprintf.c: Likewise.
56731         * lib/c-strcasecmp.c: Likewise.
56732         * lib/c-strcasestr.c: Likewise.
56733         * lib/c-strncasecmp.c: Likewise.
56734         * lib/c-strstr.c: Likewise.
56735         * lib/classpath.c: Likewise.
56736         * lib/clean-temp.c: Likewise.
56737         * lib/concatpath.c: Likewise.
56738         * lib/copy-file.c: Likewise.
56739         * lib/csharpcomp.c: Likewise.
56740         * lib/csharpexec.c: Likewise.
56741         * lib/execute.c: Likewise.
56742         * lib/fatal-signal.c: Likewise.
56743         * lib/findprog.c: Likewise.
56744         * lib/fwriteerror.c: Likewise.
56745         * lib/gl_array_list.c: Likewise.
56746         * lib/gl_array_oset.c: Likewise.
56747         * lib/gl_avltree_list.c: Likewise.
56748         * lib/gl_avltree_oset.c: Likewise.
56749         * lib/gl_avltreehash_list.c: Likewise.
56750         * lib/gl_carray_list.c: Likewise.
56751         * lib/gl_linked_list.c: Likewise.
56752         * lib/gl_linkedhash_list.c: Likewise.
56753         * lib/gl_list.c: Likewise.
56754         * lib/gl_oset.c: Likewise.
56755         * lib/gl_rbtree_list.c: Likewise.
56756         * lib/gl_rbtree_oset.c: Likewise.
56757         * lib/gl_rbtreehash_list.c: Likewise.
56758         * lib/imaxabs.c: Likewise.
56759         * lib/imaxdiv.c: Likewise.
56760         * lib/javacomp.c: Likewise.
56761         * lib/javaexec.c: Likewise.
56762         * lib/javaversion.c: Likewise.
56763         * lib/linebreak.c: Likewise.
56764         * lib/localcharset.c: Likewise.
56765         * lib/lock.c: Likewise.
56766         * lib/mbchar.c: Likewise.
56767         * lib/mbswidth.c: Likewise.
56768         * lib/mkdtemp.c: Likewise.
56769         * lib/pipe.c: Likewise.
56770         * lib/printf-args.c: Likewise.
56771         * lib/printf-parse.c: Likewise.
56772         * lib/progname.c: Likewise.
56773         * lib/progreloc.c: Likewise.
56774         * lib/readlink.c: Likewise.
56775         * lib/sh-quote.c: Likewise.
56776         * lib/stpcpy.c: Likewise.
56777         * lib/stpncpy.c: Likewise.
56778         * lib/strcasecmp.c: Likewise.
56779         * lib/strcasestr.c: Likewise.
56780         * lib/strcspn.c: Likewise.
56781         * lib/striconv.c: Likewise.
56782         * lib/strncasecmp.c: Likewise.
56783         * lib/strnlen1.c: Likewise.
56784         * lib/strstr.c: Likewise.
56785         * lib/strtok_r.c: Likewise.
56786         * lib/tls.c: Likewise.
56787         * lib/tmpdir.c: Likewise.
56788         * lib/unicodeio.c: Likewise.
56789         * lib/unsetenv.c: Likewise.
56790         * lib/vasnprintf.c: Likewise.
56791         * lib/vasprintf.c: Likewise.
56792         * lib/wait-process.c: Likewise.
56793         * lib/xallocsa.c: Likewise.
56794         * lib/xsetenv.c: Likewise.
56795         * lib/xstriconv.c: Likewise.
56796
56797 2006-09-13  Simon Josefsson  <jas@extundo.com>
56798
56799         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56800         that internally, suggested by Ralf Wildenhues
56801         <Ralf.Wildenhues@gmx.de>.
56802
56803 2006-09-13  Simon Josefsson  <jas@extundo.com>
56804
56805         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56806         @LIBOBJS@.
56807         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56808
56809 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56810
56811         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56812         longer worry about uses that don't define HAVE_CONFIG_H.
56813         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56814         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56815         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56816         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56817         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56818         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56819         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56820         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56821         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56822         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56823         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56824         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56825         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56826         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56827         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56828         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56829         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56830         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56831         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56832         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56833         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56834         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56835         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56836         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56837         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56838         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56839         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56840         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56841         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56842         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56843         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56844         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56845         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56846         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56847         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56848         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56849         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56850         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56851         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56852         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56853         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56854         Likewise.
56855
56856 2006-09-13  Eric Blake  <ebb9@byu.net>
56857
56858         * lib/getopt.c: Fix typo in last commit.
56859
56860 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56861
56862         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56863         dgettext.
56864
56865 2006-09-12  Jim Meyering  <jim@meyering.net>
56866
56867         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56868         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56869         Reported by Nelson H. F. Beebe.
56870
56871 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56872
56873         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56874         program_invocation_name and program_invocation_short_name are
56875         initialized.
56876         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56877         and program_invocation_short_name to argp.h, so they are visible
56878         to user programs.
56879         * lib/argp.h: Likewise
56880
56881 2006-09-10  Bruno Haible  <bruno@clisp.org>
56882
56883         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56884         m4/inttypes_h.m4, m4/uintmax_t.m4.
56885
56886 2006-09-10  Bruno Haible  <bruno@clisp.org>
56887
56888         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56889         gl_AC_TYPE_UINTMAX_T.
56890
56891 2006-09-10  Bruno Haible  <bruno@clisp.org>
56892
56893         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56894
56895 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56896
56897         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56898         convention.  Text proposed by Bruno Haible.
56899         (struct argp_option): Document the use of N_() wrappers.
56900
56901         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56902         '\v', and translate the two parts separately, instead of feeding
56903         the whole string to gettext.  This allows to exclude
56904         '\v' from the strings visible to the translator by writing doc
56905         strings as N_("..") "\v" N_("..").
56906
56907 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56908
56909         * config/srclist.txt: Undo latest change; the bug was fixed.
56910
56911 2006-09-09  Bruno Haible  <bruno@clisp.org>
56912
56913         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56914         assignments if building a library without libtool.
56915         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56916         in func_emit_lib_Makefile_am.
56917         (func_import): When building a static library libfoo.a, arrange to
56918         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56919         (func_create_testdir): Likewise.
56920         * modules/gc (configure.ac, Makefile.am): If building statically,
56921         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
56922         * modules/iconvme (configure.ac, Makefile.am): Likewise.
56923         * modules/striconv (configure.ac, Makefile.am): Likewise.
56924         Based on a suggestion by Ralf Wildenhues.
56925
56926 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56927
56928         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56929         Check for unistd.h too, since Autoconf doesn't assume POSIX.
56930         Also:
56931
56932         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56933         Add year_2050_test to catch glibc bug 2821
56934         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56935
56936         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56937         Prefer #ifdef to #if.
56938
56939         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
56940         Return from 'main' instead of calling 'exit'.
56941
56942 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56943
56944         * lib/mktime.c (guess_time_tm): Fix bug where mktime
56945         returned the maximum time_t value rather than (time_t) -1.
56946         Problem originally reported by William Bardwell
56947         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56948
56949         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56950         Moved to here ...
56951         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56952         ... from here.
56953
56954 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56955
56956         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
56957         2821 is fixed.
56958
56959 2006-09-08  Jim Meyering  <jim@meyering.net>
56960
56961         Don't make generated files read-only.  That would bother too many
56962         people.  However, do retain the ability to work when targets are
56963         read-only: remove the destination and temporary files before writing
56964         them (when generated via sed or echo), or by using the -f option for
56965         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
56966         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56967         * modules/byteswap, modules/configmake, modules/fcntl:
56968         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56969         * modules/localcharset, modules/netinet_in, modules/poll:
56970         * modules/stdbool, modules/stdint, modules/sys_select:
56971         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56972
56973 2006-09-08  Jim Meyering  <jim@meyering.net>
56974
56975         Avoid new build failure on FreeBSD 6.0.
56976         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
56977         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
56978         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
56979
56980 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56981
56982         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
56983
56984 2006-09-07  Jim Meyering  <jim@meyering.net>
56985
56986         Fix global typo in last change: use chmod u-w, not chmod u-x.
56987         Spotted by Paul Eggert and Bruce Korb.
56988         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56989         * modules/byteswap, modules/configmake, modules/fcntl:
56990         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56991         * modules/localcharset, modules/netinet_in, modules/poll:
56992         * modules/stdbool, modules/stdint, modules/sys_select:
56993         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56994
56995 2006-09-06  Jim Meyering  <jim@meyering.net>
56996
56997         Make generated files be read-only.
56998         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
56999         Ensure that each generated file is now read-only.
57000         * modules/argz: Likewise.
57001         * modules/arpa_inet: Likewise.
57002         * modules/byteswap: Likewise.
57003         * modules/configmake: Likewise.
57004         * modules/fcntl: Likewise.
57005         * modules/fnmatch: Likewise.
57006         * modules/getopt: Likewise.
57007         * modules/glob: Likewise.
57008         * modules/inttypes: Likewise.
57009         * modules/netinet_in: Likewise.
57010         * modules/poll: Likewise.
57011         * modules/stdbool: Likewise.
57012         * modules/stdint: Likewise.
57013         * modules/sys_select: Likewise.
57014         * modules/sys_socket: Likewise.
57015         * modules/sys_stat: Likewise.
57016         * modules/sysexits: Likewise.
57017         * modules/localcharset: Same as above, but continue using temporary
57018         file named "t-$@" (why different?) rather than the "$@-t" used
57019         everywhere else.
57020
57021         * modules/sysexits (Makefile.am): Replace literal occurrences
57022         of "sysexit.h" more readable, and more consistent, "$@".
57023
57024 2006-09-06  Bruno Haible  <bruno@clisp.org>
57025
57026         * modules/striconv: New file.
57027         * modules/xstriconv: New file.
57028         * MODULES.html.sh (Internationalization functions): Add striconv,
57029         xstriconv.
57030
57031 2006-09-06  Bruno Haible  <bruno@clisp.org>
57032
57033         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
57034         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
57035         not using libtool correctly.
57036
57037 2006-09-06  Bruno Haible  <bruno@clisp.org>
57038
57039         * lib/striconv.h: New file.
57040         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
57041         iconvstring.c.
57042         * lib/xstriconv.h: New file.
57043         * lib/xstriconv.c: New file.
57044
57045 2006-09-06  Bruno Haible  <bruno@clisp.org>
57046
57047         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57048         lib_..._LDFLAGS.
57049
57050 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57051
57052         * lib/argz_.h: Sync from Libtool.
57053
57054         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
57055                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57056
57057         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
57058
57059 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57060
57061         * modules/trim: New file.
57062
57063 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57064
57065         * lib/trim.h: New file.
57066         * lib/trim.c: New file.
57067
57068 2006-09-05  Bruno Haible  <bruno@clisp.org>
57069
57070         * MODULES.html.sh (String handling): Add trim.
57071
57072 2006-09-04  Karl Berry  <karl@gnu.org>
57073
57074         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
57075         until next release.
57076
57077 2006-09-03  Bruno Haible  <bruno@clisp.org>
57078
57079         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
57080         correctly.
57081
57082 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57083
57084         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
57085         not gl_GETLOADAVG.  Omit unneeded semicolons.
57086         Problems reported by Ralf Wildenhues in
57087         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57088         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
57089         at the end, which is the usual gnulib style.
57090
57091         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
57092         of doing all the work ourselves.
57093         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
57094         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
57095
57096 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57097
57098         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
57099         Problem reported by Ralf Wildenhues in
57100         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57101
57102         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
57103         HAVE_STRUCT_STATFS_F_FSTYPENAME.
57104
57105 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57106
57107         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
57108         yesterday's patch by changing test -n to test -z.
57109
57110 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57111
57112         * modules/getloadavg (Files): Add m4/getloadavg.m4.
57113         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
57114         the former is now obsolescent.
57115
57116         * modules/chdir-long (Depends-on): Add fcntl.
57117
57118 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57119
57120         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
57121         obsolescent, and programs should use gnulib instead.
57122         * m4/getloadavg.m4: New file, with contents taken from Autoconf
57123         but with prefixes changed.
57124
57125 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57126
57127         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
57128         or stdbool.h, because they might not exist while configuring.
57129
57130         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
57131         Don't include unistd.h or limits.h; not needed, since chdir-long.h
57132         does that for us.
57133         (O_DIRECTORY): Remove.
57134
57135 2006-08-31  Eric Blake  <ebb9@byu.net>
57136
57137         * gnulib-tool: Don't let emacs change spaces to TAB.
57138
57139 2006-08-31  Bruno Haible  <bruno@clisp.org>
57140
57141         * gnulib-tool: When calling func_import more than once, do it in a
57142         subshell.
57143         Reported by Eric Blake <ebb9@byu.net>.
57144
57145 2006-08-31  Bruno Haible  <bruno@clisp.org>
57146
57147         * gnulib-tool (nl): Remove variable.
57148         (sed_transform_lib_file): Use more robust test for config-h module.
57149         (func_import): Fix typo in 2006-08-25 patch.
57150
57151 2006-08-31  Bruno Haible  <bruno@clisp.org>
57152
57153         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
57154         specified, augment Makefile.am variables instead of assigning them.
57155
57156 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57157
57158         Work around a bug in both the Linux and SunOS 64-bit kernels:
57159         nanosleep mishandles sleeps for longer than 2**31 seconds.
57160         Problem reported by Frank v Waveren in
57161         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57162         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
57163         Check for nanosleep bug.
57164         (LIB_NANOSLEEP): Append clock_gettime library if needed.
57165
57166 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57167
57168         Work around a bug in both the Linux and SunOS 64-bit kernels:
57169         nanosleep mishandles sleeps for longer than 2**31 seconds.
57170         Problem reported by Frank v Waveren in
57171         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57172         * lib/nanosleep.c (BILLION): New constant.
57173         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
57174         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
57175         implementation.
57176
57177 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57178
57179         * modules/nanosleep (Depends-on): Add gettime.
57180
57181 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57182         and Simon Josefsson  <jas@extundo.com>
57183         and Oskar Liljeblad  <oskar@osk.mine.nu>
57184
57185         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
57186         * gnulib-tool (func_import): New license type 'unmodifiable license
57187         text'.
57188         * modules/fdl: Use it.  Longer description.
57189         * module/gpl, module/lgpl: New files.
57190
57191 2006-08-30  Jim Meyering  <jim@meyering.net>
57192
57193         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
57194         shadowing the parameter.
57195
57196 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57197
57198         Sync from Libtool:
57199
57200         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57201
57202         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
57203         sharing with gnulib.  Report by Eric Blake.
57204
57205 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57206
57207         * modules/isapipe: New file.
57208         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
57209
57210 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57211
57212         * modules/configmake (Makefile.am): Add a comment, and omit
57213         the CONFIGMAKE_ prefix from generated macro names.  Suggested
57214         by Bruno Haible.
57215
57216 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57217
57218         * m4/isapipe.m4: New file.
57219
57220 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57221
57222         * lib/isapipe.c, lib/isapipe.h: New files.
57223
57224 2006-08-29  Jim Meyering  <jim@meyering.net>
57225
57226         * modules/configmake (Makefile.am): Make configmake.h depend on
57227         Makefile.  Otherwise, a stale configmake.h could hang around.
57228
57229 2006-08-29  Eric Blake  <ebb9@byu.net>
57230
57231         * lib/error.c (error_at_line, print_errno_message): Match libc, after
57232         resolution of upstream bug 3044.
57233
57234 2006-08-29  Bruno Haible  <bruno@clisp.org>
57235
57236         * modules/localcharset (Depends-on): Add configmake.
57237         (Makefile.am): Remove setting of LIBDIR through DEFS.
57238
57239 2006-08-29  Bruno Haible  <bruno@clisp.org>
57240
57241         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
57242         defined.
57243
57244 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57245
57246         * modules/fcntl: New file.
57247         * modules/chdir-safer (Depends-on): Add fcntl.
57248         * modules/fts: Likewise.
57249         * modules/mkdir-p: Likewise.
57250
57251         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
57252         This undoes the most recent change, since we're now addressing the
57253         problem in a different way.
57254
57255         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
57256         into output, since the output might be called Makefile.am even
57257         if $makefile_name is something different.
57258         (func_import): Use $makefile_am rather than
57259         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
57260         empty.
57261
57262         * modules/inttypes (Files): Add m4/inttypes-h.m4.
57263
57264 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57265
57266         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
57267         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
57268         recent change to stdint.m4, since we're now addressing the problem in a
57269         different way.
57270
57271 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57272
57273         * m4/fcntl_h.m4: New file.
57274
57275 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57276
57277         * lib/fcntl_.h: New file.
57278         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
57279         the fcntl module.
57280         * lib/dirchownmod.c: Likewise.
57281         * lib/fts.c: Likewise.
57282
57283         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
57284         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
57285         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
57286         just before including <inttypes.h>, to avoid circular inclusion.
57287
57288 2006-08-28  Jim Meyering  <jim@meyering.net>
57289
57290         * doc/visibility.texi: Actually read and correct the grammar of the
57291         sentence affected by yesterday's change.
57292
57293 2006-08-28  Eric Blake  <ebb9@byu.net>
57294
57295         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
57296         needs wrapper.
57297
57298 2006-08-28  Eric Blake  <ebb9@byu.net>
57299
57300         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
57301
57302 2006-08-28  Eric Blake  <ebb9@byu.net>
57303
57304         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
57305
57306 2006-08-28  Bruno Haible  <bruno@clisp.org>
57307
57308         * modules/c-strstr: New file, from GNU gettext.
57309         * MODULES.html.sh (String handling): Add c-strstr.
57310
57311 2006-08-28  Bruno Haible  <bruno@clisp.org>
57312
57313         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
57314         macros.
57315         Reported by Eric Blake.
57316
57317 2006-08-28  Bruno Haible  <bruno@clisp.org>
57318
57319         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
57320         (VASNPRINTF): Return a string of length > INT_MAX without failing.
57321         * lib/vasprintf.c: Include errno.h, limits.h.
57322         (EOVERFLOW): New fallback definition.
57323         (vasprintf): Test here whether the string length is > INT_MAX.
57324         * lib/vsnprintf.c: Include errno.h, limits.h.
57325         (EOVERFLOW): New fallback definition.
57326         (vsnprintf): Fix bug when generated string was too long for the buffer.
57327         Test here whether the string length is > INT_MAX.
57328
57329 2006-08-28  Bruno Haible  <bruno@clisp.org>
57330
57331         * lib/inttypes_.h (SCNX*): Remove definitions.
57332         Reported by Eric Blake.
57333
57334 2006-08-28  Bruno Haible  <bruno@clisp.org>
57335
57336         * lib/c-strstr.h: New file, from GNU gettext.
57337         * lib/c-strstr.c: New file, from GNU gettext.
57338
57339 2006-08-28  Bruno Haible  <bruno@clisp.org>
57340
57341         * gnulib-tool: Reorder some statements.
57342
57343 2006-08-28  Bruno Haible  <bruno@clisp.org>
57344
57345         * gnulib-tool: New option --makefile-name.
57346         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
57347         $makefile_name.
57348         (func_import): Write $makefile_name to the cache file, and read it from
57349         there unless explicitly specified. Use $makefile_name as file name
57350         instead of Makefile.am. Adjust the recommendations accordingly.
57351
57352 2006-08-28  Bruno Haible  <bruno@clisp.org>
57353
57354         * gnulib-tool (func_verify_module): Check against misapplying patch.
57355
57356 2006-08-28  Bruno Haible  <bruno@clisp.org>
57357
57358         * gnulib-tool (func_relativize, func_relconcat): New functions.
57359         Give an error if --local-dir is given with --update.
57360         Remove trailing slashes from $local_gnulib_dir.
57361         (func_import): Store the relativized $local_gnulib_dir in
57362         gnulib-cache.m4, and read it from there if not specified explicitly.
57363
57364 2006-08-28  Bruno Haible  <bruno@clisp.org>
57365
57366         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
57367         is the current directory. Respect also $local_gnulib_dir.
57368
57369 2006-08-28  Bruno Haible  <bruno@clisp.org>
57370             Simon Josefsson  <jas@extundo.com>
57371
57372         BeOS portability.
57373         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
57374
57375 2006-08-27  Jim Meyering  <jim@meyering.net>
57376
57377         * doc/visibility.texi: Remove duplicate word: "pointer".
57378
57379 2006-08-26  Bruno Haible  <bruno@clisp.org>
57380
57381         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
57382         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
57383         (Makefile.am): Create inttypes.h from inttypes_.h.
57384         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
57385
57386         * modules/imaxabs: New file.
57387
57388         * modules/imaxdiv: New file.
57389
57390 2006-08-26  Bruno Haible  <bruno@clisp.org>
57391
57392         * m4/inttypes.m4: New file.
57393         * m4/_inttypes_h.m4: Remove file.
57394         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
57395         PRI_MACROS_BROKEN.
57396         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
57397
57398         * m4/imaxabs.m4: New file.
57399
57400         * m4/imaxdiv.m4: New file.
57401
57402 2006-08-26  Bruno Haible  <bruno@clisp.org>
57403
57404         * lib/inttypes_.h: New file.
57405         * lib/inttypes.h: Remove file.
57406         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
57407
57408         * lib/imaxabs.c: New file.
57409
57410         * lib/imaxdiv.c: New file.
57411
57412 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57413
57414         New config-h module, so that "make" output needn't be cluttered
57415         by -DHAVE_CONFIG_H.
57416         * MODULES.html.sh (Support for building libraries and executables):
57417         Add config-h.
57418         * modules/config-h: New file.
57419         * gnulib-tool (nl, sed_transform_lib_file): New vars.
57420         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
57421         the config-h module is used.
57422
57423         New configmake module, so that "make" output needn't be cluttered
57424         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
57425         * MODULES.html.sh (Support for building libraries and executables):
57426         Add configmake.
57427         * modules/configmake: New file.
57428
57429 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57430
57431         * m4/config-h.m4: New file.
57432
57433 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57434
57435         * config/srclist.txt: Add elisp-comp.
57436
57437 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57438
57439         * MODULES.html.sh (Support for building libraries and executables):
57440         Add elisp-comp.
57441         * build-aux/elisp-comp: New file.
57442         * modules/elisp-comp: New file.
57443
57444 2006-08-24  Bruno Haible  <bruno@clisp.org>
57445
57446         * gnulib-tool (func_create_testdir): Use non-default values of
57447         sourcebase and m4base.
57448
57449 2006-08-24  Bruno Haible  <bruno@clisp.org>
57450
57451         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
57452         HTML structure.
57453
57454 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57455
57456         * modules/openat (Depends-on): Add lchown.
57457
57458 2006-08-23  Bruno Haible  <bruno@clisp.org>
57459
57460         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
57461         of gl_LOCK_EARLY instead of gl_LOCK.
57462
57463 2006-08-23  Bruno Haible  <bruno@clisp.org>
57464
57465         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
57466         on OSF/1 to no.
57467         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
57468
57469 2006-08-23  Bruno Haible  <bruno@clisp.org>
57470
57471         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
57472         as unusable.
57473
57474         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
57475         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
57476         (gl_LOCK): New macro.
57477
57478 2006-08-22  Simon Josefsson  <jas@extundo.com>
57479
57480         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
57481         to md5 module.
57482
57483 2006-08-22  Simon Josefsson  <jas@extundo.com>
57484
57485         * MODULES.html.sh: Add "Support for maintaining and release
57486         projects".
57487
57488         * build-aux/gnupload: New file, from coreutils.
57489
57490 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57491
57492         Avoid the need for AC_LIBSOURCES in m4 macros.
57493         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
57494         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
57495         * modules/check-version (EXTRA_DIST): Add check-version.h.
57496         * modules/crc (EXTRA_DIST): Add crc.h.
57497         * modules/des (EXTRA_DIST): Add des.h.
57498         * modules/gc (EXTRA_DIST): Add gc.h.
57499         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
57500         * modules/getline (EXTRA_DIST): Add getline.h.
57501         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
57502         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
57503         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
57504         * modules/md2 (EXTRA_DIST): Add md2.h.
57505         * modules/md4 (EXTRA_DIST): Add md4.h.
57506         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
57507         * modules/read-file (EXTRA_DIST): Add read-file.h.
57508         * modules/readline (EXTRA_DIST): Add readline.h.
57509         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
57510         rijndael-api-fst.h.
57511
57512 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57513
57514         * m4/rijndael.m4 (gl_ARCFOUR):
57515         * m4/arctwo.m4 (gl_ARCTWO):
57516         * m4/check-version.m4 (gl_CHECK_VERSION):
57517         * m4/crc.m4 (gl_CRC):
57518         * m4/des.m4 (gl_DES):
57519         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
57520         * m4/gc.m4 (gl_GC):
57521         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
57522         * m4/getline.m4 (gl_FUNC_GETLINE):
57523         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
57524         * m4/hmac-md5.m4 (gl_HMAC_MD5):
57525         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
57526         * m4/md2.m4 (gl_MD2):
57527         * m4/md4.m4 (gl_MD4):
57528         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
57529         * m4/read-file.m4 (gl_FUNC_READ_FILE):
57530         * m4/readline.m4 (gl_FUNC_READLINE):
57531         * m4/rijndael.m4 (gl_RIJNDAEL):
57532         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57533         to get the necessary .h files and whatnot.
57534
57535 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57536
57537         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
57538         gnulib rather than the other way around.
57539         * config/srclistvars.sh (COREUTILS): Remove.
57540
57541 2006-08-22  Jim Meyering  <jim@meyering.net>
57542
57543         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
57544
57545         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
57546
57547 2006-08-22  Eric Blake  <ebb9@byu.net>
57548
57549         * modules/regexprops-generic: New file.
57550         * MODULES.html.sh (Support for building documentation): List it.
57551
57552 2006-08-22  Eric Blake  <ebb9@byu.net>
57553
57554         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
57555         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
57556         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
57557         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
57558
57559 2006-08-22  Bruno Haible  <bruno@clisp.org>
57560
57561         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
57562         and lib_LTLIBRARIES like the other lib_* variables.
57563
57564 2006-08-22  Bruno Haible  <bruno@clisp.org>
57565
57566         * build-aux/x-to-1.in: New file, from GNU gettext.
57567
57568 2006-08-22  Bruno Haible  <bruno@clisp.org>
57569
57570         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
57571         <utmpx.h> exists.
57572
57573 2006-08-22  Bruno Haible  <bruno@clisp.org>
57574
57575         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
57576         <utmpx.h> exists.
57577
57578 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57579
57580         BeOS portability.
57581         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
57582         exist.
57583         Problem reported by Bruno Haible.
57584
57585 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57586
57587         Avoid the need for AC_LIBSOURCES in m4 macros.
57588         * modules/acl (EXTRA_DIST): Add acl.h.
57589         * modules/argmatch (Files): Add m4/argmatch.m4.
57590         (configure.ac): Add gl_ARGMATCH.
57591         (EXTRA_DIST): Renamed from lib_SOURCES, for
57592         consistency with the other modules.  Remove argmatch.c.
57593         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
57594         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
57595         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
57596         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
57597         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
57598         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
57599         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
57600         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
57601         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
57602         * modules/closeout (EXTRA_DIST): Add closeout.h.
57603         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
57604         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
57605         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
57606         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
57607         dirname.h; remove basename.c and stripslash.c.
57608         * modules/exclude (EXTRA_DIST): Add exclude.h.
57609         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
57610         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
57611         * modules/file-type (EXTRA_DIST): Add file-type.h.
57612         * modules/filemode (EXTRA_DIST): Add filemode.h.
57613         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
57614         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57615         * modules/fpending (EXTRA_DIST): Add __fpending.h.
57616         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
57617         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
57618         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
57619         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
57620         * modules/getdate (EXTRA_DIST): Add getdate.c.
57621         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
57622         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
57623         * modules/getpass (EXTRA_DIST): Add getpass.h.
57624         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
57625         * modules/group-member (EXTRA_DIST): Add group-member.h.
57626         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
57627         * modules/hash (EXTRA_DIST): Add hash.h.
57628         * modules/human (EXTRA_DIST): Add human.h.
57629         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
57630         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
57631         * modules/lchown (EXTRA_DIST): Add lchown.h.
57632         * modules/long-options (EXTRA_DIST): Add long-options.h.
57633         * modules/lstat (EXTRA_DIST): Add lstat.h.
57634         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
57635         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
57636         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
57637         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
57638         * modules/memxor (EXTRA_DIST): Add memxor.h.
57639         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
57640         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
57641         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
57642         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
57643         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
57644         * modules/physmem (EXTRA_DIST): Add physmem.h.
57645         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
57646         * modules/posixver (EXTRA_DIST): Add posixver.h.
57647         * modules/quote (EXTRA_DIST): Add quote.h.
57648         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
57649         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
57650         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
57651         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
57652         regex_internal.h regexec.c.
57653         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
57654         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
57655         * modules/same (EXTRA_DIST): Add same.h.
57656         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
57657         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
57658         * modules/savedir (EXTRA_DIST): Add savedir.h.
57659         * modules/sha1 (EXTRA_DIST): Add sha1.h.
57660         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
57661         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
57662         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
57663         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
57664         * modules/strdup (EXTRA_DIST): Add strdup.h.
57665         * modules/strftime (EXTRA_DIST): Add strftime.h.
57666         * modules/strndup (EXTRA_DIST): Add strndup.h.
57667         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
57668         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
57669         * modules/time_r (EXTRA_DIST): Add time_r.h.
57670         * modules/timespec (EXTRA_DIST): Add timespec.h.
57671         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57672         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
57673         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
57674         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
57675         * modules/userspec (EXTRA_DIST): Add userspec.h.
57676         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
57677         * modules/utimens (EXTRA_DIST): Add utimens.h.
57678         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
57679         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
57680         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
57681         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
57682         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
57683         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
57684         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
57685         * modules/yesno (EXTRA_DIST): Add yesno.h.
57686
57687 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57688
57689         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57690
57691         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57692         * m4/dev-ino.m4, same-inode.m4: Remove.
57693
57694         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57695         * m4/acl.m4 (AC_FUNC_ACL):
57696         * m4/backupfile.m4 (gl_BACKUPFILE):
57697         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57698         * m4/canon-host.m4 (gl_CANON_HOST):
57699         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57700         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57701         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57702         * m4/cloexec.m4 (gl_CLOEXEC):
57703         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57704         * m4/closeout.m4 (gl_CLOSEOUT):
57705         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57706         * m4/dirname.m4 (gl_DIRNAME):
57707         * m4/exclude.m4 (gl_EXCLUDE):
57708         * m4/exitfail.m4 (gl_EXITFAIL):
57709         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57710         * m4/file-type.m4 (gl_FILE_TYPE):
57711         * m4/filemode.m4 (gl_FILEMODE):
57712         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57713         * m4/fpending.m4 (gl_FUNC_FPENDING):
57714         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57715         * m4/fts.m4 (gl_FUNC_FTS):
57716         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57717         * m4/getdate.m4 (gl_GETDATE):
57718         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57719         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57720         * m4/getpass.m4 (gl_FUNC_GETPASS):
57721         * m4/gettime.m4 (gl_GETTIME):
57722         * m4/getugroups.m4 (gl_GETUGROUPS):
57723         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57724         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57725         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57726         * m4/hash.m4 (gl_HASH):
57727         * m4/idcache.m4 (gl_IDCACHE):
57728         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57729         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57730         * m4/long-options.m4 (gl_LONG_OPTIONS):
57731         * m4/lstat.m4 (gl_FUNC_LSTAT):
57732         * m4/md5.m4 (gl_MD5):
57733         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57734         * m4/memcoll.m4 (gl_MEMCOLL):
57735         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57736         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57737         * m4/memxor.m4 (gl_MEMXOR):
57738         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57739         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57740         * m4/modechange.m4 (gl_MODECHANGE):
57741         * m4/mountlist.m4 (gl_MOUNTLIST):
57742         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57743         * m4/openat.m4 (gl_FUNC_OPENAT):
57744         * m4/pathmax.m4 (gl_PATHMAX):
57745         * m4/physmem.m4 (gl_PHYSMEM):
57746         * m4/posixtm.m4 (gl_POSIXTM):
57747         * m4/posixver.m4 (gl_POSIXVER):
57748         * m4/quote.m4 (gl_QUOTE):
57749         * m4/quotearg.m4 (gl_QUOTEARG):
57750         * m4/readtokens.m4 (gl_READTOKENS):
57751         * m4/readutmp.m4 (gl_READUTMP):
57752         * m4/regex.m4 (gl_REGEX):
57753         * m4/safe-read.m4 (gl_SAFE_READ):
57754         * m4/safe-write.m4 (gl_SAFE_WRITE):
57755         * m4/same.m4 (gl_SAME):
57756         * m4/save-cwd.m4 (gl_SAVE_CWD):
57757         * m4/savedir.m4 (gl_SAVEDIR):
57758         * m4/settime.m4 (gl_SETTIME):
57759         * m4/sha1.m4 (gl_SHA1):
57760         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57761         * m4/stat-macros.m4 (gl_STAT_MACROS):
57762         * m4/stat-time.m4 (gl_STAT_TIME):
57763         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57764         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57765         * m4/strdup.m4 (gl_FUNC_STRDUP):
57766         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57767         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57768         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57769         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57770         * m4/time_r.m4 (gl_TIME_R):
57771         * m4/timespec.m4 (gl_TIMESPEC):
57772         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57773         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57774         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57775         * m4/userspec.m4 (gl_USERSPEC):
57776         * m4/utimecmp.m4 (gl_UTIMECMP):
57777         * m4/utimens.m4 (gl_UTIMENS):
57778         * m4/xalloc.m4 (gl_XALLOC):
57779         * m4/xgetcwd.m4 (gl_XGETCWD):
57780         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57781         * m4/xreadlink.m4 (gl_XREADLINK):
57782         * m4/xstrtod.m4 (gl_XSTRTOD):
57783         * m4/yesno.m4 (gl_YESNO):
57784         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57785         to get the necessary .h files and whatnot.
57786
57787 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57788             Bruno Haible  <bruno@clisp.org>
57789
57790         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57791         /bin/sh understanding of '!' conditional negation.
57792
57793 2006-08-21  Jim Meyering  <jim@meyering.net>
57794
57795         * modules/openat (Depends-on): Really alphabetize.
57796
57797         * modules/acl (Depends-on): Add error and quote.
57798
57799         * check-module (find_included_lib_files): Add at-func.c to the
57800         ok-to-include-more-than-once white list.
57801
57802         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57803
57804 2006-08-21  Bruno Haible  <bruno@clisp.org>
57805
57806         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57807         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57808         Reported by Martin Lambers <marlam@marlam.de>.
57809
57810 2006-08-21  Bruno Haible  <bruno@clisp.org>
57811
57812         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57813         specify an installation location, don't emit a noinst_LIBRARIES or
57814         noinst_LTLIBRARIES assignment.
57815
57816 2006-08-21  Bruno Haible  <bruno@clisp.org>
57817
57818         BeOS portability.
57819         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57820         BeOS has mbrtowc() but no <wctype.h>.
57821
57822 2006-08-21  Bruno Haible  <bruno@clisp.org>
57823
57824         BeOS portability.
57825         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57826         exist.
57827
57828 2006-08-21  Bruno Haible  <bruno@clisp.org>
57829
57830         BeOS portability.
57831         * lib/mbchar.h: Include <wctype.h> only if it exists.
57832
57833 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57834
57835         Remove files that are no longer needed by their respective modules.
57836         * m4/obstack.m4: Remove.
57837         * m4/strerror_r.m4: Remove.
57838         * m4/uint32_t.m4: Remove.
57839         * m4/uintptr_t.m4: Remove.
57840         * m4/ullong_max.m4: Remove.
57841         * m4/xstrtoimax.m4: Remove.
57842         * m4/xstrtoumax.m4: Remove.
57843
57844         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57845         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57846         dependencies now capture this.
57847
57848         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57849         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57850         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57851         * m4/human.m4 (gl_HUMAN): Likewise.
57852         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57853         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57854
57855         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57856
57857         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57858         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57859         stdint.
57860         * m4/human.m4 (gl_HUMAN): Likewise.
57861         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57862         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57863         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57864         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57865         * m4/xstrtol (gl_XSTRTOL): Likewise.
57866
57867         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57868         AC_TYPE_LONG_LONG_INT.
57869         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57870         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57871         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57872         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57873
57874         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57875         on stdbool.
57876
57877         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57878         (gl_PREREQ_XSTRTOUL): Remove.
57879
57880         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57881
57882         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57883         mode.
57884
57885 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57886
57887         Add and change modules to make it easier for coreutils to use
57888         gnulib-tool.
57889         * modules/backupfile (Files): Remove m4/d-ino.m4.
57890         (Depends-on): Add d-ino.
57891         * modules/cycle-check (Depends-on): Add stdint.
57892         (lib_SOURCES): Add cycle-check.h.
57893         * modules/d-ino: New module.
57894         * modules/d-type: New module.
57895         * modules/error (Files): Remove m4/strerror_r.m4.
57896         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57897         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57898         m4/inttypes_h.m4, m4/uintmax_t.m4.
57899         (Depends-on): Add stdint.
57900         (lib_SOURCES): Add fsusage.h.
57901         * modules/getcwd (Files): Remove d-ino.m4.
57902         (Depends-on): Add d-ino.
57903         * modules/getndelim2 (Depends-on): Add stdint.
57904         * modules/glob (Files): Remove m4/d-type.m4.
57905         (Depends-on): Add d-type.
57906         * modules/host-os: New module.
57907         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57908         m4/inttypes_h.m4, m4/uintmax_t.m4.
57909         * Depends-on: Add stdint.
57910         (lib_SOURCES): Add human.h.
57911         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57912         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57913         m4/uintmax_t.m4, m4/ulonglong.m4.
57914         (Depends-on): Add stdint.
57915         (EXTRA_DIST): Add inttostr.h.
57916         * modules/lchmod: New module.
57917         * modules/link-follow: New module.
57918         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57919         (Depends-on): Add lchmod.
57920         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
57921         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
57922         (Depends-on): Add stdint.
57923         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
57924         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
57925         (Depends-on): Add stdint.
57926         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
57927         * modules/perl: New module.
57928         * modules/regex (Depends-on): Add stdint.
57929         * modules/rmdir-errno: New module.
57930         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57931         m4/intmax_t.m4.
57932         (Depends-on): Add stdint.
57933         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57934         m4/uintmax_t.m4.
57935         (Depends-on): Add stdint.
57936         * modules/unlink-busy: New module.
57937         * modules/utimecmp (Depends-on): Add stdint.
57938         * modules/uptime: New module.
57939         * modules/winsz-ioctl: New module.
57940         * modules/winsz-termios: New module.
57941         * modules/xnanosleep (Depends-on): Add nanosleep.
57942         * modules/ullong_max: Remove.
57943         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
57944         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
57945         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
57946         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
57947         (Depends-on): Add inttypes.
57948         (lib_SOURCES): Add xstrtol.h.
57949         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
57950         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
57951         * MODULES.html.sh: Move 'assert' into the assert section.
57952         Move 'dummy' into the linking section.
57953         Remove ullong_max.
57954         Add section for compatibility checks for POSIX:2001 functions,
57955         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
57956         winsz-ioctl, and winsz-termios into it.
57957         Add lchmod.
57958         Add top-level Misc section and put host-os, perl, and uptime
57959         into it.
57960
57961 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57962
57963         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
57964         now assume the stdint module.  Do not include inttypes.h.
57965         * lib/fsusage.h: Likewise.
57966         * lib/getndelim2.c: Likewise.
57967         * lib/human.h: Likewise.
57968         * lib/inttostr.h: Likewise.
57969         * lib/obstack.c: Likewise.
57970         * lib/regex_internal.h: Likewise.
57971         * lib/tempname.c: Likewise.
57972         * lib/utimecmp.c: Likewise.
57973         * lib/xstrtol.h: Likewise.
57974
57975         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
57976
57977         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
57978         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
57979         * lib/xtime.h: Likewise.
57980
57981 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57982
57983         * modules/openat (Files): Add lib/fchmodat.c.
57984         Fixes problem reported by Jay Youngman.
57985
57986 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57987
57988         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
57989         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
57990
57991 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
57992             Bruno Haible  <bruno@clisp.org>
57993
57994         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
57995         and is a script that invokes bison. Tighten the code. Add comments.
57996
57997 2006-08-18  Jim Meyering  <jim@meyering.net>
57998
57999         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
58000         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
58001         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
58002         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
58003
58004 2006-08-18  Bruno Haible  <bruno@clisp.org>
58005
58006         * modules/bison-i18n: New file.
58007         * MODULES.html.sh (Internationalization functions): Add it.
58008
58009 2006-08-18  Bruno Haible  <bruno@clisp.org>
58010
58011         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
58012         sys/statvfs.h. When getmntinfo was found, check its declaration and
58013         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
58014
58015 2006-08-18  Bruno Haible  <bruno@clisp.org>
58016
58017         * m4/bison-i18n.m4: New file, from bison.
58018
58019 2006-08-18  Bruno Haible  <bruno@clisp.org>
58020
58021         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
58022         (ME_DUMMY): Treat "kernfs" as a dummy.
58023         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
58024
58025 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58026
58027         Update from coreutils.
58028
58029         2006-08-15  Jim Meyering  <jim@meyering.net>
58030
58031         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
58032
58033         2006-01-17  Jim Meyering  <jim@meyering.net>
58034
58035         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
58036
58037         2006-01-11  Jim Meyering  <jim@meyering.net>
58038
58039         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
58040         Check for the lchmod function.
58041
58042 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58043
58044         Update from coreutils.
58045
58046         * lib/__fpending.h: Add copyright notice.
58047         * lib/fprintftime.h: Likewise.
58048         * lib/savedir.c: Use (C) in copyright notice.
58049         * lib/savedir.h: Likewise.
58050
58051         2006-08-15  Jim Meyering  <jim@meyering.net>
58052
58053         * lib/at-func.c: New file, with the logic of all emulated at-functions.
58054         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
58055         in support of the EXPECTED_ERRNO macro.
58056         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
58057         definitions.  Instead, define the appropriate symbols and include
58058         "at-func.c".
58059         * lib/mkdirat.c (mkdirat): Likewise.
58060         * lib/fchmodat.c (fchmodat): Likewise.
58061         (ENOSYS): Remove definition.
58062         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
58063         it.  Don't include "unistd--.h" -- it wasn't ever used.
58064
58065         2006-01-17  Jim Meyering  <jim@meyering.net>
58066
58067         Rewrite fts.c not to change the current working directory,
58068         by using openat, fstatat, fdopendir, etc..
58069
58070         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
58071         (HAVE_OPENAT_SUPPORT): Define.
58072         [_LIBC] (fchdir): Don't undef or define; no longer used.
58073         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
58074         Now, this `function' always succeeds, and consumes its file descriptor
58075         parameter -- so callers must not close such FDs.  Update callers.
58076         (diropen_fd, opendirat, cwd_advance_fd): New functions.
58077         (diropen): Add parameter, SP.  Adjust all callers.
58078         Implement using diropen_fd, rather than open.
58079         (fts_open): Initialize new member, fts_cwd_fd.
58080         Remove fts_rft-setting code.
58081         (fts_close): Close fts_cwd_fd, if necessary.
58082         (__opendir2): Define in terms of opendir or opendirat,
58083         depending on whether the FST_NOCHDIR flag is set.
58084         (fts_build): Since fts_safe_changedir consumes its FD, and since
58085         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
58086         and close the dup'd file descriptor upon failure.
58087         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
58088         (fts_safe_changedir): Tweak semantics to reflect that this function
58089         now calls cwd_advance_fd and hence consumes its FD argument.
58090         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
58091         [struct FTS] (fts_rft): Remove now-unused member.
58092         [struct FTS] (fts_cycle.state): Improve comment.
58093
58094         * lib/openat.c (openat_needs_fchdir): New function.
58095         * lib/openat.h (openat_needs_fchdir): Declare it.
58096
58097 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
58098
58099         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
58100         Problem and fix reported by Pádraig Brady in
58101         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
58102
58103 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58104
58105         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
58106
58107 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58108
58109         * lib/memcoll.c (memcoll): Optimize for the common case where the
58110         arguments are bytewise equal.
58111
58112 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58113
58114         * doc/regexprops-generic.texi: Add a copyright notice.
58115
58116 2006-08-15  Bruno Haible  <bruno@clisp.org>
58117
58118         * modules/tmpdir (License): Change to LGPL.
58119
58120 2006-08-15  Bruno Haible  <bruno@clisp.org>
58121
58122         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
58123         module.
58124
58125 2006-08-14  Simon Josefsson  <jas@extundo.com>
58126
58127         * config/srclist.txt: Add gnupload.
58128
58129 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58130
58131         Change copyright notice from LGPL 2 to GPL 2, since that's the
58132         standard form used in the gnulib repository.
58133         * tests/test-lock.c: Likewise.
58134         * tests/test-stdint.c: Likewise.
58135         * tests/test-tls.c: Likewise.
58136
58137         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
58138         prelude-manager.  User shorter URLs for GNU projects, without '?'.
58139         Add copyright notice.
58140
58141         * check-module: Add copyright notice.  Output a copyright
58142         notice if "--version" is specified.
58143         * modules/COPYING: New file.
58144         * tests/test-getaddrinfo.c: Add copyright notice.
58145         * tests/test-verify.c: Likewise.
58146
58147 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58148
58149         Change copyright notice from LGPL 2 to GPL 2, since that's the
58150         standard form used in the gnulib repository.
58151         * lib/lock.c: LGPL -> GPL.
58152         * lib/lock.h: Likewise.
58153         * lib/strnlen1.c: Likewise.
58154         * lib/strnlen1.h: Likewise.
58155         * lib/tls.c: Likewise.
58156         * lib/tls.h: Likewise.
58157         * lib/tmpdir.c: Likewise.
58158
58159         * lib/TODO: Remove; this belongs only in coreutils.
58160
58161 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58162
58163         Add copyright notices to long-enough files that lack them, since
58164         otherwise the files aren't clearly free.  Use the same notice that
58165         getdate.texi already uses.
58166         * doc/alloca-opt.texi: Add copyright notice.
58167         * doc/alloca.texi: Likewise.
58168         * doc/ctime.texi: Likewise.
58169         * doc/functions.texi: Likewise.
58170         * doc/gcd.texi: Likewise.
58171         * doc/gnulib-tool.texi: Likewise.
58172         * doc/inet_ntoa.texi: Likewise.
58173         * doc/visibility.texi: Likewise.
58174
58175         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
58176         * doc/quote.texi: Add copyright notice.
58177
58178         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
58179         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
58180         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
58181         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
58182         is now obsolete, and give a pointer to the Sun list.
58183         Add copyright notice.
58184
58185 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58186
58187         * config/srclistvars.sh: Add copyright notice.
58188
58189 2006-08-14  Eric Blake  <ebb9@byu.net>
58190
58191         Import the following change from libc:
58192
58193         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
58194
58195         Upstream bug 2997.
58196         * lib/misc/error.c: Add space between program name and message if file
58197         name is missing.
58198
58199 2006-08-12  Karl Berry  <karl@gnu.org>
58200
58201         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
58202         remove, these originate in gnulib now.
58203
58204 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58205
58206         * doc/Makefile (standards.info standards.html standards.dvi):
58207         Also depend on make-stds.texi.
58208
58209 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58210
58211         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
58212         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
58213
58214         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
58215         in wchar_t.  Problem reported by Eric Blake.
58216
58217         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
58218         LEN is smaller than SIZE.  Suggested by Bruno Haible.
58219         Also, help the compiler to keep LEN in a register.
58220
58221 2006-08-11  Eric Blake  <ebb9@byu.net>
58222
58223         * users.txt: Sort.  Add tar.
58224
58225 2006-08-11  Bruno Haible  <bruno@clisp.org>
58226
58227         * users.txt: New file.
58228
58229 2006-08-11  Bruno Haible  <bruno@clisp.org>
58230
58231         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
58232         before <wchar.h>. Needed for OSF/1 and BSD/OS.
58233
58234 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58235
58236         * modules/snprintf (Depends-on): Remove minmax.
58237         (Maintainer): Add self and Bruno.
58238
58239 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58240
58241         * lib/.cppi-disable: Add snprintf.h, socket_.h.
58242         * lib/snprintf.c: Include <errno.h> and <limits.h>.
58243         (EOVERFLOW): Define if the system does not.
58244         Do not include "minmax.h"; it wasn't used.
58245         (snprintf): Don't assume size_t promotes to an unsigned type.
58246         Fix bug when generated string was too long for the buffer: the
58247         buffer's contents are supposed to be the initial prefix of the
58248         output.  Don't assume vasnprintf returns EOVERFLOW if the size
58249         exceeds INT_MAX; do the check ourselves.
58250
58251         Import the following changes from libc:
58252
58253         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
58254
58255         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
58256         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
58257         set wc to the byte which couldn't be converted.
58258         (re_string_reconstruct): Don't clear valid_raw_len before calling
58259         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
58260         tip_context using re_string_context_at.
58261
58262         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
58263
58264         * lib/posix/regex.h: g++ still cannot handled [restrict].
58265
58266         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
58267
58268         * lib/posix/regex.h: Remove special handling for VMS.
58269
58270 2006-08-10  Jim Meyering  <jim@meyering.net>
58271
58272         * modules/same-inode: New module.
58273         * modules/dev-ino: New module.
58274         * modules/cycle-check: Depend on these modules, rather than simply
58275         including their .h files.
58276         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
58277         required via m4/cycle-check.m4.
58278         * modules/same: Depend on new same-inode module, rather than
58279         including same-inode.h.
58280         * modules/chdir-safer: New file.
58281
58282         * modules/chown (Depends-on): Add stat-macros.
58283
58284 2006-08-10  Jim Meyering  <jim@meyering.net>
58285
58286         * m4/cycle-check.m4: New file.
58287         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
58288         * m4/dev-ino.m4, m4/same-inode.m4: New files.
58289
58290 2006-08-10  Eric Blake  <ebb9@byu.net>
58291
58292         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
58293         in from original proposal.
58294
58295 2006-08-10  Eric Blake  <ebb9@byu.net>
58296         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58297
58298         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
58299         namespace.
58300
58301 2006-08-10  Bruno Haible  <bruno@clisp.org>
58302
58303         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
58304         as well.
58305
58306 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58307
58308         Sync from coreutils.
58309
58310         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
58311
58312         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
58313         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
58314
58315 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58316
58317         * modules/restrict: Remove; no longer needed now that we assume
58318         Autoconf 2.59 or later.
58319         * MODULES.html.sh: Remove 'restrict'.
58320         * modules/argp (Depends-on): Remove 'restrict'.
58321         * modules/base64 (Depends-on): Likewise.
58322         * modules/gc (Depends-on): Likewise.
58323         * modules/getaddrinfo (Depends-on): Likewise.
58324         * modules/glob (Depends-on): Likewise.
58325         * modules/inet_ntop (Depends-on): Likewise.
58326         * modules/inet_pton (Depends-on): Likewise.
58327         * modules/memxor (Depends-on): Likewise.
58328         * modules/regex (Depends-on): Likewise.
58329         * modules/strtok_r (Depends-on): Likewise.
58330         * modules/time_r (Depends-on): Likewise.
58331
58332 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58333
58334         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
58335         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
58336         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58337         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
58338         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
58339         * m4/memxor.m4 (gl_MEMXOR): Likewise.
58340         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
58341         gl_C_RESTRICT replaced by AC_C_RESTRICT.
58342
58343         Merge from coreutils.
58344         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
58345         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
58346         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58347         * m4/time_r.m4 (gl_TIME_R): Likewise.
58348
58349 2006-08-09  Karl Berry  <karl@gnu.org>
58350
58351         * config/srclist.txt: no more gettext-tools, per Bruno.
58352
58353 2006-08-08  Eric Blake  <ebb9@byu.net>
58354
58355         * modules/verror: New module.
58356         * MODULES.html.sh: Document it.
58357
58358 2006-08-08  Eric Blake  <ebb9@byu.net>
58359
58360         * lib/verror.h, lib/verror.c: New files.
58361
58362 2006-08-08  Eric Blake  <ebb9@byu.net>
58363
58364         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
58365         verror_at_line output complies with GNU Coding Standards even when
58366         file is NULL.
58367
58368 2006-08-07  Bruno Haible  <bruno@clisp.org>
58369
58370         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
58371         versions of AIX.
58372         Reported by Ralf Wildenhues.
58373
58374 2006-08-07  Bruno Haible  <bruno@clisp.org>
58375
58376         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
58377         in an AC_DEFUN. Needed so that the autoconf snippets can use
58378         AC_REQUIRE.
58379
58380 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58381
58382         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58383         Initialize pkgdata_DATA.
58384         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
58385         overriding it.
58386
58387 2006-08-06  Eric Blake  <ebb9@byu.net>
58388
58389         * lib/error.h: Fold in some upstream changes from glibc.
58390         * lib/error.c: Likewise.
58391
58392 2006-08-04  Bruno Haible  <bruno@clisp.org>
58393
58394         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58395         Make the mostlyclean-local rule depend on mostlyclean-generic.
58396         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
58397
58398 2006-07-31  Bruno Haible  <bruno@clisp.org>
58399
58400         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
58401         <stdlib.h>, <string.h>.
58402
58403 2006-07-30  Bruno Haible  <bruno@clisp.org>
58404
58405         * modules/readlink (License): Change to LGPL.
58406
58407 2006-07-30  Bruno Haible  <bruno@clisp.org>
58408
58409         * modules/javaversion (Makefile.am): Distribute javaversion.java and
58410         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
58411         set PKGDATADIR to point to it.
58412
58413 2006-07-30  Bruno Haible  <bruno@clisp.org>
58414
58415         * modules/csharpexec (configure.ac): Comment out macro invocation.
58416         * modules/javaexec (configure.ac): Likewise.
58417         * modules/javacomp-script (configure.ac): Likewise.
58418
58419         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
58420
58421 2006-07-30  Bruno Haible  <bruno@clisp.org>
58422
58423         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
58424         linked-list.
58425
58426 2006-07-30  Bruno Haible  <bruno@clisp.org>
58427
58428         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
58429
58430 2006-07-30  Bruno Haible  <bruno@clisp.org>
58431
58432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58433         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
58434         get removed.
58435
58436 2006-07-29  Bruno Haible  <bruno@clisp.org>
58437
58438         Make it possible for gnulib-tool to work with locally modified or
58439         augmented gnulib repositories.
58440         * gnulib-tool (func_usage): Document --local-dir option.
58441         (local_gnulib_dir): New variable.
58442         Handle --local-dir option.
58443         (func_lookup_file): New function.
58444         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
58445         (func_get_description, func_get_filelist, func_get_description,
58446         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
58447         func_get_automake_snippet, func_get_include_directive,
58448         func_get_license, func_get_maintainer): Use func_lookup_file.
58449         (func_import, func_create_testdir): Use func_lookup_file.
58450
58451 2006-07-29  Bruno Haible  <bruno@clisp.org>
58452
58453         * modules/setenv (Depends-on): Add unistd.
58454
58455 2006-07-29  Bruno Haible  <bruno@clisp.org>
58456
58457         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
58458
58459 2006-07-29  Bruno Haible  <bruno@clisp.org>
58460
58461         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
58462
58463 2006-07-29  Bruno Haible  <bruno@clisp.org>
58464
58465         * gnulib-tool (import, update): If there is no Makefile.am, look at
58466         aclocal.m4, instead of bailing out.
58467
58468 2006-07-29  Bruno Haible  <bruno@clisp.org>
58469
58470         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
58471         Categorize the options by when they are useful.
58472
58473 2006-07-29  Bruno Haible  <bruno@clisp.org>
58474
58475         * gnulib-tool (func_usage): Document option --no-libtool.
58476         Handle option --no-libtool.
58477         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
58478         for changed semantics of $libtool variable.
58479         (func_import): Likewise. If libtool is not used, show this through
58480         an option --no-libtool.
58481         (func_create_testdir): Update.
58482
58483 2006-07-29  Bruno Haible  <bruno@clisp.org>
58484
58485         * gnulib-tool (func_import): Extend error message about missing
58486         --doc-base.
58487
58488 2006-07-29  Bruno Haible  <bruno@clisp.org>
58489
58490         * gnulib-tool (func_import): Don't create the $docbase directory if
58491         there is no file to store there.
58492
58493 2006-07-29  Bruno Haible  <bruno@clisp.org>
58494
58495         * gnulib-tool (autoconf_minversion): If a --dir option is given and
58496         relevant, look for configure.ac there, not in the current directory.
58497         Also use a simple search for AC_PREREQ, not "autoconf --trace".
58498
58499 2006-07-29  Bruno Haible  <bruno@clisp.org>
58500
58501         * gnulib-tool (SORT): New variable.
58502         (func_usage): Undocument --assume-autoconf option.
58503         Remove --assume-autoconf option handling.
58504         (autoconf_minversion): Determine from the contents of configure.ac.
58505         (func_import): Remove autoconf_minversion handling.
58506         Suggested by Eric Blake.
58507
58508 2006-07-29  Bruno Haible  <bruno@clisp.org>
58509
58510         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
58511
58512 2006-07-29  Bruno Haible  <bruno@clisp.org>
58513
58514         * config/srclist.txt (*setenv.[ch]): Remove rules.
58515
58516 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58517
58518         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
58519
58520 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58521
58522         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
58523         arpa/inet.h.
58524
58525 2006-07-28  Simon Josefsson  <jas@extundo.com>
58526
58527         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
58528         * modules/inet_pton (Depends-on): Likewise.
58529
58530 2006-07-28  Simon Josefsson  <jas@extundo.com>
58531
58532         * m4/netinet_in_h.m4: New file.
58533
58534 2006-07-28  Simon Josefsson  <jas@extundo.com>
58535
58536         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
58537         #include's.
58538
58539 2006-07-28  Simon Josefsson  <jas@extundo.com>
58540
58541         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
58542         #include's.
58543
58544 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
58545
58546         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
58547         setgid on directories only if they set these bits.
58548         * lib/modechange.h: Remove obsolete comment about masks.
58549
58550 2006-07-28  Eric Blake  <ebb9@byu.net>
58551
58552         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
58553         macro expansion.
58554
58555 2006-07-28  Bruno Haible  <bruno@clisp.org>
58556
58557         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
58558
58559 2006-07-28  Bruno Haible  <bruno@clisp.org>
58560
58561         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
58562
58563 2006-07-28  Bruno Haible  <bruno@clisp.org>
58564
58565         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58566         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58567         Define fallbacks.
58568         Avoids link error on FreeBSD 4.x.
58569         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58570
58571         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
58572         encoding.
58573         * lib/mbswidth.c (iswcntrl): Likewise.
58574
58575 2006-07-27  Bruno Haible  <bruno@clisp.org>
58576
58577         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
58578         test.
58579
58580 2006-07-27  Bruno Haible  <bruno@clisp.org>
58581
58582         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
58583         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
58584         defined.
58585
58586 2006-07-26  Eric Blake  <ebb9@byu.net>
58587
58588         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
58589
58590 2006-07-26  Eric Blake  <ebb9@byu.net>
58591
58592         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
58593         like mingw that lack mkstemp.
58594         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
58595         avoid compilation warning on mingw.
58596
58597 2006-07-26  Bruno Haible  <bruno@clisp.org>
58598
58599         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
58600         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
58601         INT_FAST*_MIN, INTPTR_MIN.
58602
58603 2006-07-25  Bruno Haible  <bruno@clisp.org>
58604
58605         * modules/version-etc (Depends-on): Add stdarg.
58606
58607 2006-07-25  Bruno Haible  <bruno@clisp.org>
58608
58609         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
58610         complex commands.
58611
58612 2006-07-25  Bruno Haible  <bruno@clisp.org>
58613
58614         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
58615         defined in <stdarg.h> or config.h.
58616
58617 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58618
58619         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
58620         (gl_STDIO_SAFER): Remove.
58621
58622 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58623
58624         * MODULES.html.sh (File stream based Input/Output):
58625         Add fopen-safer, tmpfile-safer; remove stdio-safer.
58626         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
58627         * modules/fopen-safer, modules/tmpfile-safer: New files.
58628         * modules/stdio-safer: Remove.
58629
58630 2006-07-24  Bruno Haible  <bruno@clisp.org>
58631
58632         * modules/tmpdir: New file.
58633         * MODULES.html.sh (File system functions): Add it.
58634
58635 2006-07-24  Bruno Haible  <bruno@clisp.org>
58636
58637         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
58638         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
58639
58640 2006-07-24  Bruno Haible  <bruno@clisp.org>
58641
58642         * modules/clean-temp: New file.
58643
58644 2006-07-24  Bruno Haible  <bruno@clisp.org>
58645
58646         * m4/tmpdir.m4: New file, from GNU gettext.
58647
58648 2006-07-24  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/tmpdir.h: New file, from GNU gettext.
58651         * lib/tmpdir.c: New file, from GNU gettext.
58652
58653 2006-07-24  Bruno Haible  <bruno@clisp.org>
58654
58655         * lib/clean-temp.h: New file, from GNU gettext.
58656         * lib/clean-temp.c: New file, from GNU gettext.
58657
58658 2006-07-23  Eric Blake  <ebb9@byu.net>
58659
58660         * modules/stdio-safer (Files): Add tmpfile-safer.c.
58661         (Depends-on): Add binary-io.
58662
58663 2006-07-23  Eric Blake  <ebb9@byu.net>
58664
58665         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
58666
58667 2006-07-23  Eric Blake  <ebb9@byu.net>
58668
58669         * lib/tmpfile-safer.c: New file.
58670         * lib/stdio-safer.h (fopen_safer): Add prototype.
58671         * lib/stdio--.h (tmpfile): Make safer.
58672
58673 2006-07-23  Bruno Haible  <bruno@clisp.org>
58674
58675         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
58676         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
58677         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
58678         gl_linked_remove_at): Use it.
58679
58680 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58681         and Simon Josefsson <jas@extundo.com>
58682
58683         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
58684
58685         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58686
58687 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58688
58689         * modules/close-stream: New file.
58690         * modules/closeout (Description): Make it clear that it exits
58691         with a diagnostic on error.
58692         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58693         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58694
58695 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58696
58697         * m4/close-stream.m4: New file.
58698
58699 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58700
58701         * lib/close-stream.c, lib/close-stream.h: New files.
58702
58703 2006-07-22  Bruno Haible  <bruno@clisp.org>
58704
58705         Merge from GNU gettext 0.15.
58706
58707         2006-05-01  Bruno Haible  <bruno@clisp.org>
58708
58709                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58710
58711         2006-07-22  Bruno Haible  <bruno@clisp.org>
58712
58713                 * modules/javaversion: New file.
58714                 * MODULES.html.sh (Java): Add javaversion.
58715
58716         2006-03-12  Bruno Haible  <bruno@clisp.org>
58717
58718                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58719
58720         2005-12-04  Bruno Haible  <bruno@clisp.org>
58721
58722                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58723                 (untested).
58724
58725         2006-06-21  Bruno Haible  <bruno@clisp.org>
58726
58727                 Avoid warnings from recent versions of mcs.
58728                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58729                 -o, -L, -r any more. Use options documented since mcs-1.0
58730                 instead. Similarly for -g.
58731
58732         2005-12-04  Bruno Haible  <bruno@clisp.org>
58733
58734                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58735                 .resources, not .resource.
58736
58737         2005-07-09  Bruno Haible  <bruno@clisp.org>
58738
58739                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58740                 add a .dll suffix.
58741                 Reported by Mark Junker <mjscod@gmx.de>.
58742
58743         2006-07-22  Bruno Haible  <bruno@clisp.org>
58744
58745                 * modules/gettext: Upgrade to gettext-0.15.
58746                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58747                 m4/visibility.m4.
58748                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58749
58750 2006-07-22  Bruno Haible  <bruno@clisp.org>
58751
58752         Merge from GNU gettext 0.15.
58753
58754         2006-03-25  Bruno Haible  <bruno@clisp.org>
58755
58756                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58757
58758         2006-07-21  Bruno Haible  <bruno@clisp.org>
58759
58760                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58761                 "1.1".
58762
58763         2006-05-09  Bruno Haible  <bruno@clisp.org>
58764
58765                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58766                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58767                 for the conftestver execution.
58768
58769         2006-05-01  Bruno Haible  <bruno@clisp.org>
58770
58771                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58772                 optional target-version argument. Verify that the compiler
58773                 groks source of the specified source-version, or add -source
58774                 option as necessary. Verify that the compiler produces
58775                 bytecode in the specified target-version, or add -target and
58776                 -source options as necessary. Make the result of the test
58777                 available as variable CONF_JAVAC. Also log error output in
58778                 config.log.
58779
58780         2006-03-11  Bruno Haible  <bruno@clisp.org>
58781
58782                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58783
58784         2006-05-09  Bruno Haible  <bruno@clisp.org>
58785
58786                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58787                 CLASSPATH_SEPARATOR to a semicolon.
58788
58789         2006-03-12  Bruno Haible  <bruno@clisp.org>
58790
58791                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58792                 available as variable CONF_JAVA, for subsequent autoconf
58793                 tests. Also log error output in config.log.
58794
58795         2006-07-19  Bruno Haible  <bruno@clisp.org>
58796
58797                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58798                 that getline works on glibc2 systems. Needed to avoid trouble
58799                 in relocatable.c.
58800                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58801
58802         2005-12-04  Bruno Haible  <bruno@clisp.org>
58803
58804                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58805                 launcher (untested).
58806
58807         2005-12-04  Bruno Haible  <bruno@clisp.org>
58808
58809                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58810
58811         2006-07-22  Bruno Haible  <bruno@clisp.org>
58812
58813                 * gettext.m4: Update from GNU gettext-0.15.
58814                 * nls.m4: Likewise.
58815                 * po.m4: Likewise.
58816                 * inttypes-pri.m4: Likewise.
58817                 * inttypes-h.m4: Renamed from inttypes.m4.
58818                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58819
58820 2006-07-22  Bruno Haible  <bruno@clisp.org>
58821
58822         Merge from GNU gettext 0.15.
58823
58824         2005-07-05  Bruno Haible  <bruno@clisp.org>
58825
58826                 * printf-args.c (printf_fetchargs): Work around broken
58827                 definition of wint_t on mingw.
58828
58829         2005-02-12  Bruno Haible  <bruno@clisp.org>
58830
58831                 * xallocsa.h: Add extern "C" for C++.
58832
58833         2006-05-17  Bruno Haible  <bruno@clisp.org>
58834
58835                 Cygwin portability.
58836                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58837
58838         2006-04-30  Bruno Haible  <bruno@clisp.org>
58839
58840                 * progreloc.c: Include <mach-o/dyld.h> if available.
58841                 (find_executable): Use _NSGetExecutablePath when possible.
58842
58843         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58844
58845                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58846                 function.
58847
58848         2005-12-29  Bruno Haible  <bruno@clisp.org>
58849
58850                 * progreloc.c (set_program_name_and_installdir): Fix
58851                 compilation error.
58852
58853         2005-12-04  Bruno Haible  <bruno@clisp.org>
58854
58855                 Cygwin portability.
58856                 * progreloc.c: Include <windows.h> also on Cygwin.
58857                 (find_executable): Add support for Cygwin.
58858                 (set_program_name_and_installdir): Handle also platforms with
58859                 nonempty EXEEXT.
58860
58861         2006-07-11  Bruno Haible  <bruno@clisp.org>
58862
58863                 * javacomp.c: Fix a comment.
58864                 Reported by Jim Meyering.
58865
58866         2006-04-30  Bruno Haible  <bruno@clisp.org>
58867
58868                 * javacomp.h (compile_java_class): Add source_version,
58869                 target_version arguments.
58870                 * javacomp.c: Rewritten to choose only a compiler that
58871                 respects the specified source_version and target_version.
58872
58873         2006-06-27  Bruno Haible  <bruno@clisp.org>
58874
58875                 Assume correct S_ISDIR macro.
58876                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58877
58878         2006-07-22  Bruno Haible  <bruno@clisp.org>
58879
58880                 * javaversion.h: New file, from GNU gettext.
58881                 * javaversion.c: New file, from GNU gettext.
58882                 * javaversion.java: New file, from GNU gettext.
58883                 * javaversion.class: New file, from GNU gettext.
58884
58885         2006-05-17  Bruno Haible  <bruno@clisp.org>
58886
58887                 Cygwin portability.
58888                 * javaexec.c (execute_java_class): Test for jview program
58889                 also on Cygwin.
58890
58891         2006-04-09  Bruno Haible  <bruno@clisp.org>
58892
58893                 * fatal-signal.c: Don't include string.h.
58894                 (at_fatal_signal): Use a copying loop instead of memcpy.
58895
58896         2005-12-04  Bruno Haible  <bruno@clisp.org>
58897
58898                 * csharpexec.c: Add support for 'clix' launcher (untested).
58899                 (execute_csharp_using_sscli): New function.
58900                 (execute_csharp_program): Call it.
58901
58902         2006-06-21  Bruno Haible  <bruno@clisp.org>
58903
58904                 Avoid warnings from recent versions of mcs.
58905                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58906                 -o, -L, -r any more. Use options documented since mcs-1.0
58907                 instead. Similarly for -g.
58908
58909         2005-07-09  Bruno Haible  <bruno@clisp.org>
58910
58911                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58912                 add a .dll suffix.
58913                 Reported by Mark Junker <mjscod@gmx.de>.
58914
58915         2006-06-17  Bruno Haible  <bruno@clisp.org>
58916
58917                 * config.charset: Update for NetBSD 3.0.
58918
58919         2006-05-17  Bruno Haible  <bruno@clisp.org>
58920
58921                 Cygwin portability.
58922                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
58923
58924         2006-05-16  Bruno Haible  <bruno@clisp.org>
58925
58926                 * localcharset.c [CYGWIN]: Include <windows.h>.
58927                 (get_charset_aliases): For Cygwin, return the same CPxxx
58928                 aliases list as under WIN32.
58929                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
58930                 the environment variables. Fall back to GetACP().
58931
58932         2006-04-05  Bruno Haible  <bruno@clisp.org>
58933
58934                 * config.charset: Update Juan Manuel Guerrero's address.
58935
58936         2005-02-12  Bruno Haible  <bruno@clisp.org>
58937
58938                 * allocsa.h: Add extern "C" for C++.
58939
58940         2005-02-10  Bruno Haible  <bruno@clisp.org>
58941
58942                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
58943                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
58944
58945         2006-07-22  Bruno Haible  <bruno@clisp.org>
58946
58947                 * gettext.h: Update to GNU gettext-0.15.
58948
58949 2006-07-22  Bruno Haible  <bruno@clisp.org>
58950
58951         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
58952         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
58953         lib-prefix.m4, longdouble.m4, ssize_t.m4.
58954
58955 2006-07-21  Eric Blake  <ebb9@byu.net>
58956
58957         * modules/stdlib-safer: New file.
58958         * MODULES.html.sh (File stream based Input/Output): Add
58959         stdlib-safer.
58960
58961 2006-07-21  Eric Blake  <ebb9@byu.net>
58962
58963         * lib/stdlib-safer.h: New file from coreutils, required by
58964         stdlib--.h.
58965
58966 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58967
58968         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
58969
58970 2006-07-20  Bruno Haible  <bruno@clisp.org>
58971
58972         * gnulib-tool: Recognize new option --assume-autoconf.
58973         (autoconf_minversion): New variable.
58974         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
58975
58976 2006-07-20  Bruno Haible  <bruno@clisp.org>
58977
58978         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
58979
58980 2006-07-19  Derek R. Price  <derek@ximbiot.com>
58981
58982         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
58983         Reindent and repaginate.
58984
58985 2006-07-19  Derek Price  <derek@ximbiot.com>
58986
58987         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
58988         Correct grammar.
58989
58990 2006-07-17  Bruno Haible  <bruno@clisp.org>
58991
58992         * modules/list: New file.
58993         * modules/array-list: New file.
58994         * modules/carray-list, modules/carray-list-tests: New files.
58995         * modules/linked-list, modules/linked-list-tests: New files.
58996         * modules/avltree-list, modules/avltree-list-tests: New files.
58997         * modules/rbtree-list, modules/rbtree-list-tests: New files.
58998         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
58999         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
59000         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
59001         * modules/oset: New file.
59002         * modules/array-oset: New file.
59003         * modules/avltree-oset, modules/avltree-oset-tests: New files.
59004         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
59005         * tests/test-carray_list.c: New file.
59006         * tests/test-linked_list.c: New file.
59007         * tests/test-avltree_list.c: New file.
59008         * tests/test-rbtree_list.c: New file.
59009         * tests/test-linkedhash_list.c: New file.
59010         * tests/test-avltreehash_list.c: New file.
59011         * tests/test-rbtreehash_list.c: New file.
59012         * tests/test-avltree_oset.c: New file.
59013         * tests/test-rbtree_oset.c: New file.
59014         * MODULES.html.sh (Container data structures): New section.
59015
59016 2006-07-17  Bruno Haible  <bruno@clisp.org>
59017
59018         * m4/gl_list.m4: New file.
59019
59020 2006-07-17  Bruno Haible  <bruno@clisp.org>
59021
59022         * lib/gl_list.h: New file.
59023         * lib/gl_list.c: New file.
59024         * lib/gl_array_list.h: New file.
59025         * lib/gl_array_list.c: New file.
59026         * lib/gl_carray_list.h: New file.
59027         * lib/gl_carray_list.c: New file.
59028         * lib/gl_linked_list.h: New file.
59029         * lib/gl_linked_list.c: New file.
59030         * lib/gl_anylinked_list1.h: New file.
59031         * lib/gl_anylinked_list2.h: New file.
59032         * lib/gl_avltree_list.h: New file.
59033         * lib/gl_avltree_list.c: New file.
59034         * lib/gl_anyavltree_list1.h: New file.
59035         * lib/gl_anyavltree_list2.h: New file.
59036         * lib/gl_rbtree_list.h: New file.
59037         * lib/gl_rbtree_list.c: New file.
59038         * lib/gl_anyrbtree_list1.h: New file.
59039         * lib/gl_anyrbtree_list2.h: New file.
59040         * lib/gl_anytree_list1.h: New file.
59041         * lib/gl_anytree_list2.h: New file.
59042         * lib/gl_linkedhash_list.h: New file.
59043         * lib/gl_linkedhash_list.c: New file.
59044         * lib/gl_anyhash_list1.h: New file.
59045         * lib/gl_anyhash_list2.h: New file.
59046         * lib/gl_avltreehash_list.h: New file.
59047         * lib/gl_avltreehash_list.c: New file.
59048         * lib/gl_rbtreehash_list.h: New file.
59049         * lib/gl_rbtreehash_list.c: New file.
59050         * lib/gl_anytreehash_list1.h: New file.
59051         * lib/gl_anytreehash_list2.h: New file.
59052
59053         * lib/gl_oset.h: New file.
59054         * lib/gl_oset.c: New file.
59055         * lib/gl_array_oset.h: New file.
59056         * lib/gl_array_oset.c: New file.
59057         * lib/gl_avltree_oset.h: New file.
59058         * lib/gl_avltree_oset.c: New file.
59059         * lib/gl_rbtree_oset.h: New file.
59060         * lib/gl_rbtree_oset.c: New file.
59061         * lib/gl_anytree_oset.h: New file.
59062
59063 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59064
59065         * m4/mkancesdirs.m4: New file.
59066         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
59067         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
59068         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
59069         it.
59070
59071 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59072
59073         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
59074         * lib/mkancesdirs.h: New files.
59075         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
59076         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
59077         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
59078         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
59079         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
59080         callers changed.  Revamp internals significantly, by not
59081         attempting to create directories that are temporarily more
59082         permissive than the final results.  Do not attempt to use
59083         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
59084         This removes some race conditions, fixes some bugs, and simplifies
59085         things.  Use new dirchownmod function to do owner and mode changes.
59086         * lib/mkdir-p.h: Likewise.
59087         * lib/modechange.c (octal_to_mode): New function.
59088         (struct mode_change): New member mentioned.
59089         (make_node_op_equals): New arg mentioned.  All callers changed.
59090         (mode_compile): Keep track of which mode bits the user has explicitly
59091         mentioned.
59092         (mode_adjust): New arg DIR, so that we implement the X op correctly.
59093         New arg PMODE_BITS, to keep track of which mode bits the user
59094         mentioned; it treats S_ISUID and S_ISGID speciall.
59095         All callers changed.
59096         * lib/modechange.h: Likewise.
59097
59098 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59099
59100         * MODULES.html.sh: Add mkancestors.
59101         * modules/mkancesdirs: New module.
59102         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
59103         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
59104         The chdir-safer and afs files are now orphans; I'll remove them
59105         unless someone speaks up.
59106         Add lib/dirchownmod.c, lib/dirchownmod.h.
59107         (Depends-on): Remove alloca, chown, save-cwd, dirname.
59108         Add lchown, mkancesdirs.
59109         (Maintainer): Add self.
59110
59111 2006-07-15  Karl Berry  <karl@gnu.org>
59112
59113         * gnulib-tool: help message wording/arrangement.
59114
59115 2006-07-14  Simon Josefsson  <jas@extundo.com>
59116
59117         * doc/gnulib.texi (Libtool and Windows): New section.
59118
59119 2006-07-12  Simon Josefsson  <jas@extundo.com>
59120
59121         * modules/gendocs (License): Fix license, approved by Karl.
59122
59123 2006-07-12  Eric Blake  <ebb9@byu.net>
59124
59125         * MODULES.html.sh: Add gendocs.
59126
59127 2006-07-11  Eric Blake  <ebb9@byu.net>
59128
59129         * modules/fdl: New module, to install doc/fdl.texi.
59130         * MODULES.html.sh: Add new section for documentation modules.
59131         * gnulib-tool: Avoid space-tab.
59132         (--doc-base): New option, to manage files from doc.
59133
59134 2006-07-11  Eric Blake  <ebb9@byu.net>
59135
59136         * m4/absolute-header.m4: Fix comments to match recent change.
59137
59138 2006-07-11  Eric Blake  <ebb9@byu.net>
59139
59140         * gnulib-tool: List --doc-base before --tests-base.
59141
59142 2006-07-11  Derek R. Price  <derek@ximbiot.com>
59143
59144         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
59145
59146 2006-07-11  Bruno Haible  <bruno@clisp.org>
59147
59148         * README: Mention where to put documentation.
59149
59150 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59151
59152         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
59153
59154 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59155
59156         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
59157         to stdint.m4.
59158
59159 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59160
59161         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
59162         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
59163         "no/such/file/stdint.h" when there is no such file, so that
59164         the resulting C code can be parsed by dodgy compilers.
59165         Problems reported by Bob Proulx.
59166
59167 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59168
59169         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
59170         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59171         macros into the GNU _D_EXACT_NAMLEN.
59172         * lib/savedir.c:  Likewise.
59173         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
59174
59175 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59176         and Paul Eggert  <eggert@cs.ucla.edu>
59177
59178         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
59179         * m4/savedir.m4:
59180         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59181         macros into the GNU _D_EXACT_NAMLEN.
59182
59183 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59184
59185         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
59186         around the absolute name, to work around a problem with the HP-UX
59187         11.23 native C compiler, reported by Bob Proulx.
59188
59189 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59190
59191         * doc/maintain.texi, make-stds.texi: Sync from
59192         <http://savannah.gnu.org/projects/gnustandards>.
59193
59194 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59195
59196         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
59197
59198 2006-07-09  Jim Meyering  <jim@meyering.net>
59199
59200         * m4/glob.m4: Remove a doubled word in a comment.
59201
59202 2006-07-09  Jim Meyering  <jim@meyering.net>
59203
59204         * lib/argp-pv.c: Remove a doubled word in a comment.
59205         * lib/check-version.c (check_version): Likewise.
59206         * lib/javacomp.c (compile_java_class): Likewise.
59207
59208 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59209
59210         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
59211         for the benefit of people using Autoconf 2.60.  If you want to
59212         support older Autoconf versions you can copy m4/onceonly_2_57.m4
59213         (or m4/onceonly.m4, if pre-2.57) manually.
59214
59215 2006-07-08  Jim Meyering  <jim@meyering.net>
59216
59217         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
59218         comment.
59219         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
59220         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
59221         comment.
59222
59223 2006-07-08  Jim Meyering  <jim@meyering.net>
59224
59225         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
59226
59227 2006-07-07  Simon Josefsson  <jas@extundo.com>
59228
59229         * tests/test-crc.c: Change expected crc value, the test vector
59230         were probably computed using the old broken crc.c?
59231
59232 2006-07-06  Simon Josefsson  <jas@extundo.com>
59233
59234         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
59235         now the canonical place for the M4 file).
59236
59237         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
59238         from the sys_socket dependency now.
59239
59240         * modules/inet_pton (Files): Ditto.
59241
59242         * modules/inet_ntop (Files): Ditto.
59243
59244 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59245
59246         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
59247         not gl_PREREQ_GETUSERSHELL.
59248
59249 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59250
59251         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
59252         with only one argument, for Autoconf 2.60.
59253         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
59254         expand to nothing, so add a shell command to avoid syntax error.
59255         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59256
59257 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59258
59259         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
59260
59261 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59262
59263         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
59264         no longer needed.  Check for isblank decl.
59265         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
59266         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
59267         of existence.
59268
59269 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59270
59271         * lib/getloadavg.c: Use __VMS, not VMS.
59272         * lib/getopt.c: Likewise.
59273         * lib/getpagesize.h: Likewise.
59274         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
59275         and probably does not work.
59276
59277 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59278
59279         * lib/.cppi-disable: Add wcwidth.
59280         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
59281         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
59282         (ISGRAPH): Remove.  All uses changed to isgraph.
59283         (FOLD) [!defined _LIBC]: Remove special case.
59284         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
59285         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
59286         HAVE_ISBLANK.
59287         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
59288         case.
59289
59290 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59291
59292         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
59293         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
59294         brackets.  Other minor changes to suppress some compiler
59295         warnings.
59296
59297 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59298         and Paul Eggert  <eggert@cs.ucla.edu>
59299
59300         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
59301         of invoking obsolescent AC_HEADER_DIRENT macro.
59302         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
59303         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
59304         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
59305         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
59306         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
59307         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59308         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
59309         * m4/readdir.m4: Remove; no longer needed.
59310
59311 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59312         and Paul Eggert  <eggert@cs.ucla.edu>
59313
59314         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
59315         Don't worry about this obsolete case any more.
59316         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
59317         directories.
59318         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
59319         worry about this obsolete case any more.
59320         * lib/fts.c: Likewise.
59321         * lib/getcwd.c: Likewise.
59322         * lib/glob.h: Likewise.
59323         * lib/savedir.c: Likewise.
59324
59325 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59326
59327         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
59328         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
59329         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
59330         needed.
59331         All uses removed.
59332         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59333         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59334         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
59335         needed.
59336         * m4/getdate.m4 (gl_GETDATE): Likewise.
59337         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59338         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59339         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59340         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59341         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59342         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59343         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
59344         needed.
59345
59346 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59347
59348         * lib/memcasecmp.c: Include <limits.h>.
59349         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
59350         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
59351         Don't assume isdigit succeeds only on '0' through '9'.
59352
59353 2006-07-05  Eric Blake  <ebb9@byu.net>
59354
59355         * modules/getaddrinfo (Depends-on): Add snprintf.
59356
59357 2006-07-05  Eric Blake  <ebb9@byu.net>
59358
59359         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
59360         to avoid 'header present but could not be compiled' on cygwin.
59361
59362 2006-07-05  Eric Blake  <ebb9@byu.net>
59363
59364         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
59365         missing from netdb.h.
59366         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
59367
59368 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59369
59370         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
59371         no longer needed.
59372         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
59373         * m4/getdate.m4 (gl_GETDATE): Likewise.
59374         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59375         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59376         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59377         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59378         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59379
59380 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59381
59382         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
59383         All uses of is_space replaced by isspace.
59384         * lib/exit.h: Don't talk about STDC_HEADERS.
59385         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
59386         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
59387         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
59388         replaced by isprint etc.
59389         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
59390         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59391         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
59392         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
59393         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
59394         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59395
59396 2006-07-05  Bruno Haible  <bruno@clisp.org>
59397
59398         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
59399         the function exists, before testing against AIX.
59400         Reported by Martin Lambers <marlam@marlam.de>.
59401
59402 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59403
59404         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
59405         From Mark D. Baushke.
59406
59407 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59408
59409         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
59410         to the absolute name, not just one, to bypass Sun C 5.8's
59411         "warning: #include of /usr/include/... may be non-portable".
59412
59413 2006-07-04  Eric Blake  <ebb9@byu.net>
59414
59415         * modules/dirname-tests: New test module.
59416         * tests/test-dirname.c: New file, replacing dirname.c
59417         TEST_DIRNAME section that was recently deleted.
59418
59419 2006-07-04  Bruno Haible  <bruno@clisp.org>
59420
59421         Assume ANSI C header files and <ctype.h> functions.
59422         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
59423         (mbsnwidth): Use isprint, iscntrl instead.
59424
59425 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59426
59427         Merge from coreutils.
59428         * MODULES.html.sh: Add xstrtold.
59429         * modules/xstrtold: New file.
59430         * modules/cycle-check (Files): Add lib/same-inode.h.
59431         * modules/dirname (Files): Add m4/double-slash-root.m4.
59432         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
59433         * modules/mkdir-p (Files): Add lib/same-inode.h.
59434         * modules/same (Files): Add lib/same-inode.h.
59435
59436 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59437
59438         * m4/absolute-header.m4: Renamed from full-header-path.m4.
59439         This is to keep the terminology clean; POSIX talks about
59440         "absolute pathnames", not "full pathnames", but the GNU
59441         Coding Standards say to use "path" for something else;
59442         so use "absolute" to keep both sides happy.
59443         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
59444         Set gl_absolute_header, not gl_full_header_path.
59445         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
59446         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
59447         All uses changed.
59448
59449         Merge from coreutils.
59450
59451         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59452
59453         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
59454         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
59455         want to require the building of c-strtod.o.
59456         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
59457         needs -lm directly.
59458         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
59459
59460         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59461
59462         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
59463         --as-needed option if available.  Problem reported by Albert Chin in
59464         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
59465         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
59466         cc merely issues a bunch of annoying warnings for --as-needed
59467         (this problem was reported by Bob Proulx).  Also, try linking with
59468         -lm to detect a bug in binutils 2.16 (this problem was reported
59469         by Ralf Wildenhues).
59470
59471         2006-06-18  Jim Meyering  <jim@meyering.net>
59472
59473         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
59474         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
59475         macro.
59476         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
59477         also check for glibc-2.4's abort-inducing bug.
59478
59479         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
59480         Low-probability clean-up should be to use rmdir to get rid of
59481         the just-created directory, not unlink.
59482
59483         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
59484         configure fail, and request a bug report to inform us about it.
59485         Add a comment that, barring reports to the contrary, in 2007 we'll
59486         assume ftruncate is universally available.
59487
59488         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59489
59490         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
59491
59492         2006-03-12  Jim Meyering  <jim@meyering.net>
59493
59494         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
59495         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
59496         * m4/same.m4 (gl_SAME): Likewise.
59497         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
59498
59499         2006-03-11  Eric Blake  <ebb9@byu.net>
59500
59501         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
59502         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
59503         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
59504         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
59505
59506 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59507
59508         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
59509         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
59510         reported by Mark D. Baushke, one in
59511         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
59512
59513         Merge from coreutils.
59514
59515         * lib/.cppi-disable: Add stdint_.h.
59516         * lib/.cvsignore: Add stdint.h.
59517
59518         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59519
59520         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
59521         both double and long double versions.
59522         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
59523         * lib/xstrtold.c: New file.
59524         * lib/xstrtod.h (xstrtold): New decl.
59525
59526         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
59527
59528         * lib/filemode.c (setst): Remove.
59529         (strmode): Rewrite to avoid setst.  This makes the code shorter,
59530         (arguably) clearer, and the generated code is a bit smaller on my
59531         Debian GNU/Linux stable x86 host.
59532
59533         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59534
59535         * lib/filemode.c: Include "filemode.h" first, to test the interface.
59536         Assume that filemode.h includes sys/types.h and sys/stat.h.
59537         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
59538         (ftypelet): Reorder to put common cases first, for efficiency.
59539         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
59540         to do 'M'.
59541         (strmode): Renamed from mode_string, and now stores 12 bytes instead
59542         of 10, for compatibility with FreeBSD.  All callers changed.
59543         (filemodestring): Now stores 12 bytes instead of 10, and sets file
59544         types that can't be deduced solely from st_mode.  First arg is now a
59545         const pointer.
59546         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
59547         (strmode): Renamed from mode_string.
59548         (filemodestring): New decl.
59549         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
59550         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
59551         needed.
59552         (S_ISPORT, S_ISWHT): New macros, if not already defined.
59553
59554         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
59555
59556         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
59557         fsusage.h now does that.  Include fsusage.h first, to test interface.
59558         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
59559         at most one method (the old code could have generated decls that
59560         didn't conform to C89, not that this was ever exercised).
59561         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
59562
59563         2006-03-19  Jim Meyering  <jim@meyering.net>
59564
59565         Work even in a chroot where d_ino values for entries in "/"
59566         don't match the stat.st_ino values for the same names.
59567         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
59568         number, iterate through all entries again, using lstat instead.
59569         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
59570         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
59571
59572         * lib/getcwd.c (__getcwd): Clarify a comment.
59573         Use memcpy in place of a call to strcpy.
59574
59575         2006-03-12  Jim Meyering  <jim@meyering.net>
59576
59577         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
59578         matches that of the current directory (which we're about to chdir ".."
59579         out of), then save the dev-ino of the parent, instead.
59580
59581         * lib/same-inode.h (SAME_INODE): New file/macro.
59582         * lib/chdir-safer.c (SAME_INODE): Remove definition.
59583         Include "same-inode.h", instead.
59584         * lib/same.c: Likewise.
59585         * lib/cycle-check.h: Include "same-inode.h".
59586         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
59587         * lib/cycle-check.c (SAME_INODE): Remove definition.
59588         * lib/root-dev-ino.h: Include "same-inode.h".
59589
59590         2006-03-11  Eric Blake  <ebb9@byu.net>
59591
59592         * lib/same.c (same_name): s/base_name/last_component/
59593         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
59594         * lib/filenamecat.c (file_name_concat): Likewise.
59595
59596         2006-03-11  Eric Blake  <ebb9@byu.net>,
59597                     Paul Eggert  <eggert@cs.ucla.edu>
59598
59599         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
59600         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
59601         drive prefix.
59602         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
59603         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
59604         (last_component): New method.
59605         * lib/dirname.c (dir_len): Determine when drive letters need a
59606         subsequent slash.  Preserve // when it is special.
59607         (dir_name): Don't append dot when drive letter is absolute.
59608         [TEST_DIRNAME]: Move into a full-blown gnulib test.
59609         * lib/basename.c (base_name): New semantics - malloc the result.
59610         Preserve // when it is special.  Preserve relative files that look
59611         like drive letters.
59612         (base_len): Preserve // when it is special.
59613         (last_component): New method, similar to old base_name semantics.
59614         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
59615         base_name.  Strip redundant slashes from ///.
59616
59617 2006-07-03  Jim Meyering  <jim@meyering.net>
59618
59619         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
59620         macro is used before the first cycle_check call.
59621
59622 2006-07-03  Eric Blake  <ebb9@byu.net>
59623
59624         * modules/dirname (Depends-on): Add xstrndup.
59625
59626 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59627
59628         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
59629         test cases, so that config.log is a bit easier to follow.
59630
59631 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59632
59633         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
59634         both are 64 bits, since this seems to be the tradition, and this
59635         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
59636         we ever run into a host that prefers long long to long in this
59637         case, we'll need another configure-time test.  Problem reported by
59638         Jim Meyering.
59639
59640 2006-07-02  Eric Blake  <ebb9@byu.net>
59641
59642         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
59643
59644 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59645
59646         * modules/inttypes (Depends-on): No longer depends on stdint.
59647         * modules/stdint (Description): Say more about assumptions.
59648         Say that the fast types might differ.  Say macros are used.
59649         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
59650         (Makefile.am): Revise list of substituted symbols to match
59651         new stdint.m4.
59652         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
59653         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
59654         * tests/test-stdint.c (verify_same_types)
59655         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
59656         the code conforms to C99/C89.
59657         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
59658         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
59659
59660 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59661
59662         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
59663         but fix a bug, by requiring at least 64 bits.
59664         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59665         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
59666         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
59667         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
59668
59669         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
59670         changes.  Make 2.59 a prerequisite.  Check and substitute for
59671         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
59672         inttypes.h.  Do not use special include files; just use the
59673         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
59674         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
59675         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
59676         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
59677         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
59678         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
59679         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
59680         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
59681         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
59682         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
59683         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
59684         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
59685         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59686         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59687         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59688         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59689         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59690         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59691         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59692         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59693         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59694         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59695         not check for things that C99 does not require, e.g., int8_t.  If
59696         a test isn't needed unless <stdint.h> isn't working, and is
59697         unlikely to be needed for any other reason, then don't do it
59698         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59699         size_t, since we assume C89 freestanding at least.  Do not check
59700         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59701         the right thing even if the types are not defined.  Instead use:
59702         (gl_STDINT_TYPE_PROPERTIES): New macro.
59703         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59704         testing whether <sys/types.h> clashes, as Autoconf does this for
59705         us now.  All uses removed.
59706         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59707         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59708         (gl_CHECK_TYPE_SAME):
59709         Remove; no longer needed.
59710         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59711         exists, since we'll return 0 anyway in that case.
59712         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59713
59714 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59715
59716         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59717         possible collision with system files.
59718         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59719         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59720         WCHAR_MIN and WCHAR_MAX in this case.
59721         (<stddef.h>): Do not include; no longer needed.
59722         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59723         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59724         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59725         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59726         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59727         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59728         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59729         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59730         !defined(__c99))]: Include in this case too, since it's harmless
59731         now.
59732         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59733         dangerous to do so.
59734         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59735         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59736         (_STDINT_MIN, _STDINT_MAX): New macros.
59737         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59738         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59739         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59740         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59741         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59742         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59743         macros, not typedefs; this simplifies things quite a bit.
59744         Use long int for all types narrower than int64_t.
59745         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59746         Define in terms of long long int or int64_t or long int,
59747         not int64_t or int32_t.  This saves some compile-time testing.
59748         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59749         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59750         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59751         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59752         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59753         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59754         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59755         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59756         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59757         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59758         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59759         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59760         undef any previous version and define our own version, for
59761         simplicity and consistency with the new macros for types.
59762         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59763         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59764         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59765         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59766         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59767         @WINT_T_SUFFIX@ to keep things simple here.
59768         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59769         Simplify by assuming typical 8/16/32/64 host, since we're
59770         already doing that elsewhere anyway.
59771         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59772         and assume long long int is 64 bits if available.  This
59773         speeds up 'configure'.
59774
59775 2006-07-01  Eric Blake  <ebb9@byu.net>
59776
59777         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59778         Reported by Andreas Buening.
59779
59780 2006-07-01  Eric Blake  <ebb9@byu.net>
59781
59782         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59783
59784 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59785
59786         * lib/getaddrinfo.c: fixed typo
59787
59788 2006-06-29  Jim Meyering  <jim@meyering.net>
59789
59790         * modules/strftime (Maintainer): Add my name, since with the
59791         FPRINTFTIME changes strftime.c has forked from glibc.
59792
59793 2006-06-29  Eric Blake  <ebb9@byu.net>
59794
59795         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59796
59797 2006-06-29  Eric Blake  <ebb9@byu.net>
59798
59799         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59800
59801 2006-06-29  Eric Blake  <ebb9@byu.net>
59802
59803         * lib/stat_.h: New file.
59804
59805 2006-06-29  Eric Blake  <ebb9@byu.net>
59806
59807         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59808         unused static function.
59809
59810 2006-06-29  Eric Blake  <ebb9@byu.net>
59811
59812         * doc/functions.texi (Function Portability): Document missing lstat
59813         on mingw.
59814
59815 2006-06-29  Eric Blake  <ebb9@byu.net>
59816
59817         * MODULES.html.sh: Add sys_stat.
59818         * modules/sys_stat: New module.
59819         * modules/mkstemp (Depends-on): Add sys_stat.
59820
59821 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59822
59823         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59824
59825 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59826
59827         * m4/c-bs-a.m4: Removed.
59828
59829 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59830
59831         * lib/strftime.c: Assume strftime() exists.
59832
59833 2006-06-29  Derek Price  <derek@ximbiot.com>
59834
59835         * modules/c-bs-a: Removed - \a is C89.
59836         * MODULES.html.sh: Remove c-bs-a.
59837
59838 2006-06-29  Bruno Haible  <bruno@clisp.org>
59839
59840         * modules/wcwidth (License): Change to LGPL.
59841
59842 2006-06-28  Simon Josefsson  <jas@extundo.com>
59843
59844         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59845         on _WIN32.
59846
59847         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59848         getnameinfo.
59849
59850 2006-06-28  Simon Josefsson  <jas@extundo.com>
59851
59852         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59853
59854 2006-06-28  Simon Josefsson  <jas@extundo.com>
59855
59856         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59857         functions there.  It will succeed on Windows XP, but on Windows
59858         2000 and (presumably) earlier, it will fail, and use the internal
59859         re-implementation.
59860         (use_win32_p): New function.
59861         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59862         Support AI_NUMERICSERV to disable getservbyname.
59863         (getnameinfo): New function, only supports
59864         NI_NUMERICHOST|NI_NUMERICSERV for now.
59865
59866         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59867         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59868         getnameinfo.
59869
59870 2006-06-28  Eric Blake  <ebb9@byu.net>
59871
59872         * modules/wcwidth: New file.
59873         * modules/mbchar (Depends-on): Add wcwidth.
59874         * modules/mbswidth (Depends-on): Add wcwidth.
59875         * MODULES.html.sh: Add wcwidth.
59876
59877 2006-06-28  Eric Blake  <ebb9@byu.net>
59878
59879         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59880         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59881
59882 2006-06-28  Eric Blake  <ebb9@byu.net>
59883
59884         * lib/xvasprintf.h: Fix comments.
59885
59886 2006-06-28  Eric Blake  <ebb9@byu.net>
59887
59888         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59889         * lib/mbswidth.c (wcwidth): Move from here...
59890         * lib/wcwidth.h: ...to this new file.
59891
59892 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59893
59894         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59895
59896         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59897         it's obsolete.
59898         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59899
59900 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59901
59902         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59903         Autoconf 2.60 says this stuff was obsolete.
59904
59905 2006-06-28  Bruno Haible  <bruno@clisp.org>
59906
59907         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59908
59909 2006-06-28  Bruno Haible  <bruno@clisp.org>
59910
59911         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59912         gt_TYPE_WCHAR_T.
59913
59914 2006-06-28  Bruno Haible  <bruno@clisp.org>
59915
59916         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59917         declaration for wcwidth.
59918         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59919
59920 2006-06-28  Bruno Haible  <bruno@clisp.org>
59921
59922         * lib/mkdtemp.c [MINGW]: Include <io.h>.
59923         (mkdir): Define using _mkdir.
59924
59925 2006-06-28  Bruno Haible  <bruno@clisp.org>
59926
59927         * lib/getaddrinfo.h: Fix POSIX URL.
59928         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
59929         _WIN32.
59930         (use_win32_p): Make static.
59931         (getaddrinfo): Reject service name if it is empty or does not consist
59932         solely of decimal digits, or if its value is > 65535.
59933         (getnameinfo): Remove useless casts.
59934
59935 2006-06-27  Simon Josefsson  <jas@extundo.com>
59936
59937         * modules/sys_select: New file, suggested by Bruno Haible, Paul
59938         Eggert and Martin Lambers.
59939
59940 2006-06-27  Simon Josefsson  <jas@extundo.com>
59941
59942         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
59943         Eggert and Martin Lambers.
59944
59945 2006-06-27  Bruno Haible  <bruno@clisp.org>
59946
59947         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
59948         result to 0, not to empty.
59949         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
59950
59951 2006-06-27  Bruno Haible  <bruno@clisp.org>
59952
59953         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
59954
59955 2006-06-26  Simon Josefsson  <jas@extundo.com>
59956
59957         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
59958         present.
59959
59960 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
59961
59962         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
59963         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
59964         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
59965
59966 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
59967
59968         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
59969
59970 2006-06-26  Bruno Haible  <bruno@clisp.org>
59971
59972         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
59973
59974 2006-06-26  Bruno Haible  <bruno@clisp.org>
59975
59976         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
59977
59978 2006-06-26  Bruno Haible  <bruno@clisp.org>
59979
59980         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
59981         SGI C compiler in pre-C99 mode.
59982         Suggested by Mark D. Baushke and Larry Jones.
59983
59984 2006-06-26  Bruno Haible  <bruno@clisp.org>
59985
59986         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
59987         WCHAR_MAX.
59988         Reported by Mark D. Baushke and Larry Jones.
59989
59990 2006-06-26  Bruno Haible  <bruno@clisp.org>
59991
59992         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
59993         in pre-C99 mode.
59994         Suggested by Mark D. Baushke and Larry Jones.
59995
59996 2006-06-23  Simon Josefsson  <jas@extundo.com>
59997             Bruno Haible  <bruno@clisp.org>
59998
59999         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
60000         Emit mostlyclean-local rule.
60001         (func_emit_tests_Makefile_am): Likewise.
60002         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
60003
60004 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
60005
60006         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
60007
60008 2006-06-23  Bruno Haible  <bruno@clisp.org>
60009
60010         * tests/test-stdint.c: Update to match ISO C 99 Technical
60011         Corrigendum 1.
60012
60013 2006-06-23  Bruno Haible  <bruno@clisp.org>
60014
60015         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
60016
60017 2006-06-23  Bruno Haible  <bruno@clisp.org>
60018
60019         * lib/stdint_.h: Treat IRIX like OpenBSD.
60020
60021 2006-06-23  Bruno Haible  <bruno@clisp.org>
60022
60023         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
60024         ISO C 99 Technical Corrigendum 1.
60025
60026 2006-06-22  Simon Josefsson  <jas@extundo.com>
60027
60028         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
60029         MinGW.
60030
60031 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60032
60033         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
60034         needed.  Some compiler complained about some of them.  Problem reported
60035         by Larry Jones in
60036         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
60037
60038 2006-06-21  Simon Josefsson  <jas@extundo.com>
60039
60040         * tests/test-getaddrinfo.c: New file.
60041
60042         * modules/getaddrinfo-tests: New file.
60043
60044         * MODULES.html.sh: Add inet_pton.
60045
60046         * modules/inet_pton: New file.
60047
60048 2006-06-21  Simon Josefsson  <jas@extundo.com>
60049
60050         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
60051         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
60052         of using the (limited) gnulib implementation on Windows XP.
60053
60054         * m4/inet_pton.m4: New file.
60055
60056 2006-06-21  Simon Josefsson  <jas@extundo.com>
60057
60058         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
60059         variable.
60060
60061         * lib/socket_.h: Don't define WINVER.
60062
60063         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
60064         slightly modified to work in gnulib.
60065
60066 2006-06-21  Simon Josefsson  <jas@extundo.com>
60067
60068         * doc/gnulib.texi (Windows sockets): Add.
60069
60070 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60071
60072         * lib/read-file.c (fread_file): Start with buffer allocation of
60073         0 bytes rather than 1 byte; this simplifies the code.
60074         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
60075         code to free buffer and save/restore errno.
60076         (internal_read_file): Remove unused local.
60077
60078 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60079
60080         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
60081         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
60082         Problem reported by Denis Excoffier in
60083         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
60084
60085 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60086
60087         * modules/sys_socket, modules/socklen: Include sys/types since
60088         FreeBSD 4.x's sys/socket.h needs it.
60089
60090 2006-06-19  Simon Josefsson  <jas@extundo.com>
60091
60092         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
60093
60094 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60095
60096         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
60097
60098 2006-06-19  Bruno Haible  <bruno@clisp.org>
60099
60100         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
60101         and FULL_PATH_INTTYPES_H in angle brackets.
60102         Reported by Mark D. Baushke <mdb@gnu.org>.
60103
60104 2006-06-17  Eric Blake  <ebb9@byu.net>
60105
60106         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
60107         errno.
60108
60109 2006-06-17  Bruno Haible  <bruno@clisp.org>
60110
60111         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
60112         <sys/inttypes.h>.
60113
60114 2006-06-17  Bruno Haible  <bruno@clisp.org>
60115
60116         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
60117         whether errno is declared. Assume <errno.h> declares errno.
60118
60119 2006-06-17  Bruno Haible  <bruno@clisp.org>
60120
60121         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
60122
60123 2006-06-17  Bruno Haible  <bruno@clisp.org>
60124
60125         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
60126         problem on Solaris 2.5.1.
60127
60128 2006-06-16  Eric Blake  <ebb9@byu.net>
60129
60130         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
60131         * lib/unicodeio.c [!defined errno]: Likewise.
60132         * lib/strtol.c [!defined errno]: Likewise.
60133         * lib/strtod.c [!defined errno]: Likewise.
60134
60135 2006-06-15  Eric Blake  <ebb9@byu.net>
60136
60137         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
60138
60139 2006-06-15  Eric Blake  <ebb9@byu.net>
60140
60141         * config/srclist.txt (ssize_t.m4): Lose sync.
60142
60143 2006-06-15  Bruno Haible  <bruno@clisp.org>
60144
60145         * modules/stdint (Files): Include m4/full-header-path.m4,
60146         m4/size_max.m4, m4/wchar_t.m4.
60147         (Makefile.am): Many more substitutions.
60148         * modules/stdint-tests: New file.
60149         * tests/test-stdint.c: New file.
60150
60151 2006-06-15  Bruno Haible  <bruno@clisp.org>
60152
60153         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
60154         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
60155         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
60156         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
60157         gl_CHECK_TYPE_SAME): New macros.
60158
60159 2006-06-15  Bruno Haible  <bruno@clisp.org>
60160
60161         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
60162
60163 2006-06-15  Bruno Haible  <bruno@clisp.org>
60164
60165         * lib/stdint_.h: Rewritten to be fully auto-configured.
60166         Fixes bug on HP-UX/IA64.
60167
60168 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
60169
60170         * lib/getdate.y (__attribute__): Don't define if already defined.
60171         Problem reported by Larry Jones.
60172         * lib/utimens.c (__attribute__): Likewise.
60173
60174 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
60175
60176         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
60177         reported by Andreas Schwab.
60178
60179 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60180             Bruno Haible  <bruno@clisp.org>
60181
60182         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
60183         check for the declaration of strnlen and a run test that exposes the
60184         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
60185         rpl_strndup.
60186
60187 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60188             Bruno Haible  <bruno@clisp.org>
60189
60190         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
60191
60192 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60193
60194         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
60195         compile test, for Tru64 4.0D.
60196
60197 2006-05-28  Karl Berry  <karl@gnu.org>
60198
60199         * config/srclist.txt (printf-args.c): lose sync.
60200
60201 2006-05-26  Martin Lambers  <marlam@marlam.de>
60202
60203         * lib/getpass.c: Updates the test for the native W32 API, and adds
60204         missing includes, thus fixing compilation warnings.
60205
60206 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60207
60208         * lib/exclude.c (exclude_fnmatch): New function.
60209         (excluded_file_name): Call exclude_fnmatch.
60210         * lib/exclude.h (excluded_file_name): New prototype
60211
60212 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
60213
60214         * lib/tempname.c (small_open, large_open): New macros.
60215         (__open, __open64) [!_LIBC]: Remove.
60216         (__gen_tempname): Use small_open and large_open instead of __open
60217         and __open64.  This fixes a portability bug on HP-UX 11.11i
60218         reported by Simon Wing-Tang in
60219         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
60220
60221 2006-05-24  Bruno Haible  <bruno@clisp.org>
60222
60223         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
60224         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
60225         Reported by Thorsten Maerz <torte@netztorte.de> via
60226         Aaron Stone <aaron@serendipity.cx>.
60227
60228 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60229
60230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
60231         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
60232         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
60233         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
60234         not really conditional on the cache.
60235         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
60236
60237 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60238
60239         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
60240         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
60241         (my_usleep): Don't mishandle maximum value.
60242
60243 2006-05-19  Jim Meyering  <jim@meyering.net>
60244
60245         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
60246
60247 2006-05-17  Bruno Haible  <bruno@clisp.org>
60248
60249         Cygwin portability.
60250         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
60251
60252 2006-05-17  Bruno Haible  <bruno@clisp.org>
60253
60254         * lib/stdint_.h: Fix recognition of Cygwin.
60255
60256 2006-05-15  Bruno Haible  <bruno@clisp.org>
60257
60258         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
60259         on libtool patch by Ralf Wildenhues.
60260
60261 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60262
60263         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
60264         test for C99 conformance; (bool) 0.5 is an integer constant
60265         expression, but (bool) -0.5 is not.  Problem reported by Fedor
60266         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
60267
60268 2006-05-11  Simon Josefsson  <jas@extundo.com>
60269
60270         * m4/xvasprintf.m4: Fix obvious typo.
60271
60272 2006-05-11  Jim Meyering  <jim@meyering.net>
60273
60274         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
60275         James Lemley.
60276
60277 2006-05-10  Simon Josefsson  <jas@extundo.com>
60278
60279         * lib/md4.c: Typo fix, update copyright years.
60280         (K1, K2): Don't use L because it turn computations into 64-bit on
60281         64-bit platforms.
60282
60283 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
60284
60285         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
60286         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
60287         unwanted sign propagation, e.g., on hosts with 64-bit int.
60288         There still are some problems with reeelly weird theoretical hosts
60289         (e.g., 33-bit int) but it's not worth worrying about now.
60290         * lib/sha1.c (rol): Likewise.
60291         (K1, K2, K3, K4): Remove unnecessary L suffix.
60292
60293 2006-05-10  Bruno Haible  <bruno@clisp.org>
60294
60295         * lib/des.c: Cast to avoid warnings.
60296
60297 2006-05-09  Bruno Haible  <bruno@clisp.org>
60298
60299         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
60300         (Depends-on): Depend also on xsize, stdarg.
60301         (configure.ac): Add gl_XVASPRINTF.
60302
60303 2006-05-09  Bruno Haible  <bruno@clisp.org>
60304
60305         * m4/xvasprintf.m4: New file.
60306
60307 2006-05-09  Bruno Haible  <bruno@clisp.org>
60308
60309         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
60310         (EOVERFLOW): Define fallback value.
60311         (xstrcat): New function.
60312         (xvasprintf): Recognize the special case of a string concatenation.
60313
60314 2006-05-08  Eric Blake  <ebb9@byu.net>
60315
60316         * gnulib-tool (func_version): Base copyright year on CVS date.
60317         (func_emit_copyright_notice): New function.
60318         (func_emit_lib_Makefile_am): Use it.
60319         (func_emit_tests_Makefile_am): Likewise.
60320         (func_import): Likewise.
60321
60322 2006-05-08  Bruno Haible  <bruno@clisp.org>
60323
60324         * modules/stdarg: New file.
60325         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
60326
60327 2006-05-08  Bruno Haible  <bruno@clisp.org>
60328
60329         * m4/stdarg.m4: New file, from GNU gettext.
60330
60331 2006-05-08  Bruno Haible  <bruno@clisp.org>
60332
60333         * config/srclist.txt (build-aux/config.rpath): different from latest
60334         release.
60335
60336 2006-05-08  Bruno Haible  <bruno@clisp.org>
60337
60338         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
60339
60340 2006-05-05  Jim Meyering  <jim@meyering.net>
60341
60342         * m4/warning.m4: New file, derived from bison's file by the same name.
60343
60344 2006-05-03  Bruno Haible  <bruno@clisp.org>
60345
60346         * lib/stdint_.h: Shorter URL.
60347         * lib/inttypes.h: Likewise.
60348
60349 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60350
60351         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
60352
60353 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60354
60355         * lib/verify.h: Document the internals better.  Most of this change
60356         was written by Bruno Haible.
60357
60358 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60359
60360         * doc/verify.texi: New file, partly based on a proposal by
60361         Bruno Haible.
60362
60363 2006-05-02  Bruno Haible  <bruno@clisp.org>
60364
60365         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
60366         test from here...
60367         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
60368
60369 2006-04-29  Bruno Haible  <bruno@clisp.org>
60370
60371         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
60372         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
60373
60374 2006-04-29  Bruno Haible  <bruno@clisp.org>
60375
60376         * gnulib-tool: Make --update option actually work.
60377
60378 2006-04-29  Bruno Haible  <bruno@clisp.org>
60379
60380         * doc/gcd.texi: New file.
60381         * doc/gnulib.texi: Include it.
60382
60383 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
60384
60385         * lib/getdate.y (get_date): When adding relative date, start with the
60386         initial time, not with the result of the first mktime call.
60387
60388 2006-04-25  Bruno Haible  <bruno@clisp.org>
60389
60390         * gnulib-tool (func_import): Output the include directives in three
60391         blocks, sorted separately.
60392         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60393
60394 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60395
60396         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
60397         to define main with arguments, for C++.  Reported by Eric Blake.
60398         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
60399         Prefer 'int main ()' to 'int main (void)', for C++.
60400         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
60401         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
60402         for 'main', for C99 and C++.
60403
60404 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60405
60406         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
60407         Don't assume that exit status -1 is valid.
60408         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60409         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60410         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
60411         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
60412         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
60413         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
60414         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
60415         functions can be used without declaring them, or that you can
60416         exit with status -1.
60417         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
60418
60419 2006-04-24  Karl Berry  <karl@gnu.org>
60420
60421         * config/srclist.txt (longdouble.m4): sync lost.
60422
60423 2006-04-24  Eric Blake  <ebb9@byu.net>
60424
60425         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
60426
60427 2006-04-24  Bruno Haible  <bruno@clisp.org>
60428
60429         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
60430         poll() implementation in AIX.
60431         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60432
60433 2006-04-24  Bruno Haible  <bruno@clisp.org>
60434
60435         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
60436         assigned exactly once.
60437
60438 2006-04-23  Claudio Fontana  <claudio@gnu.org>
60439             Bruno Haible  <bruno@clisp.org>
60440
60441         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
60442         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
60443         for AM_CPPFLAGS.
60444
60445 2006-04-23  Bruno Haible  <bruno@clisp.org>
60446
60447         * modules/copy-file: Depend on unistd.
60448         * modules/execute: Likewise.
60449         * modules/fatal-signal: Likewise.
60450         * modules/findprog: Likewise.
60451         * modules/mkdtemp : Likewise.
60452         * modules/pipe: Likewise.
60453         * modules/wait-process: Likewise.
60454
60455 2006-04-23  Bruno Haible  <bruno@clisp.org>
60456
60457         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
60458         condition was already detected.
60459         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60460
60461 2006-04-23  Bruno Haible  <bruno@clisp.org>
60462
60463         * lib/copy-file.c: Include <unistd.h> unconditionally.
60464         * lib/execute.c: Likewise.
60465         * lib/fatal-signal.c: Likewise.
60466         * lib/findprog.c: Likewise.
60467         * lib/mkdtemp.c: Likewise.
60468         * lib/pipe.h: Likewise.
60469         * lib/pipe.c: Likewise.
60470         * lib/wait-process.h: Likewise.
60471
60472 2006-04-23  Bruno Haible  <bruno@clisp.org>
60473
60474         * gnulib-tool (func_usage): Fix --import description. Document
60475         --update.
60476         (func_import): Create temporary file in a temporary directory, if
60477         --dry-run is specified. Silence errors from 'grep' when there are no
60478         m4 files in $m4dir.
60479         (func_create_testdir): Silence errors from 'grep' when there are no
60480         m4 files in $m4dir.
60481         Reported by Karl Berry <karl@freefriends.org>.
60482
60483 2006-04-20  Bruno Haible  <bruno@clisp.org>
60484
60485         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
60486         one argument, so that the code will be portable to Autoconf 2.60.
60487         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
60488         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60489         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
60490
60491 2006-04-19  Derek Price  <derek@ximbiot.com>
60492             Eric Blake  <ebb9@byu.net>
60493
60494         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
60495         rather than "/full/path.h".  Update comment to match.  Shorten &
60496         generalize m4_translit call via AS_TR_CPP.
60497
60498 2006-04-19  Derek Price  <derek@ximbiot.com>
60499             Eric Blake  <ebb9@byu.net>
60500
60501         * lib/inttypes.h: Correct grammar in comment.
60502
60503 2006-04-18  Derek Price  <derek@ximbiot.com>
60504             Paul Eggert  <eggert@cs.ucla.edu>
60505
60506         * modules/inttypes: New file.
60507         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
60508
60509 2006-04-18  Derek Price  <derek@ximbiot.com>
60510             Paul Eggert  <eggert@cs.ucla.edu>
60511
60512         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
60513         New files.
60514
60515 2006-04-18  Derek Price  <derek@ximbiot.com>
60516             Paul Eggert  <eggert@cs.ucla.edu>
60517
60518         * lib/inttypes.h: New file.
60519         * lib/strtoimax.c: Assume <inttypes.h>.
60520
60521 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
60522
60523         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
60524         isn't mounted.  Problem reported by Kir Kolyshkin.
60525
60526 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60527
60528         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
60529         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
60530         Derek R. Price.
60531         * lib/regex.h (RE_DUP_MAX): Update comment to match current
60532         implementation.
60533
60534 2006-04-12  Eric Blake  <ebb9@byu.net>
60535
60536         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
60537         is now done automatically by the corresponding Autoconf macro.
60538
60539 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
60540
60541         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
60542         time_r.h.
60543
60544 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60545
60546         Merge regex changes from libc, removing some of our
60547         POSIX-conformance changes that were rejected and redoing them in a
60548         less-intrusive way.
60549
60550         * lib/regcomp.c (re_compile_internal, init_dfa):
60551         Length arg is now size_t, not Idx.  All uses changed.
60552         (peek_token): Forward decl now says internal_function.
60553         (__re_error_msgid, __re_error_msgid_idx):
60554         Now static rather than extern with attribute_hidden.
60555         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
60556         For some reason libc prefers K&R style defns for external functions.
60557         (regerror) [!defined _LIBC]: Likewise.
60558         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
60559         (seek_collating_symbol_entry, lookup_collation_sequence_value):
60560         (build_range_exp, build_collating_symbol):
60561         Use K&R-style defn.
60562         (re_compile_fastmap): Use '\0' to memset, not 0.
60563         (utf8_sb_map): Make the calculations more obvious.
60564         (init_dfa, parse_bracket_exp, build_charclass_op):
60565         Call calloc and cast result, as glibc does.
60566         (init_word_char, fetch_token, peek_token, peek_token_bracket):
60567         (build_range_exp, build_collating_symbol):
60568         Now internal functions.
60569
60570         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
60571
60572         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
60573         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
60574         Don't depend on VMS; depend on __VMS instead, for POSIX
60575         namespace cleanness.
60576         (regoff_t): Define to ssize_t, not long int.
60577
60578         Remove the REG_ macros named below.  Instead, make the old names
60579         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
60580         __USE_GNU_REGEX.
60581         (REG_BACKSLASH_ESCAPE_IN_LISTS):
60582         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
60583         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
60584         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
60585         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
60586         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
60587         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
60588         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
60589         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
60590         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
60591         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
60592         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
60593         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
60594         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
60595         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
60596         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
60597         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
60598         (REG_NREGS):
60599         Remove.  All uses replaced by the old RE_* names.
60600         (RE_BACKSLASH_ESCAPE_IN_LISTS):
60601         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
60602         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
60603         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
60604         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
60605         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
60606         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
60607         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
60608         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
60609         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
60610         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
60611         Don't bother having these macros be independent of each others'
60612         values, since they no longer exist in the POSIX name space.
60613
60614         Rename the following member names back to their old names,
60615         unless !__USE_GNU_REGEX.  All uses changed back.
60616         (buffer): Renamed from re_buffer.
60617         (allocated): Renamed from re_allocated.
60618         (used): Renamed from re_used.
60619         (syntax): Renamed from re_syntax.
60620         (fastmap): Renamed from re_fastmap.
60621         (translate): Renamed from re_translate.
60622         (can_be_null): Renamed from re_can_be_null.
60623         (regs_allocated): Renamed from re_regs_allocated.
60624         (fastmap_accurate): Renamed from re_fastmap_accurate.
60625         (no_sub): Renamed from re_no_sub.
60626         (not_bol): Renamed from re_not_bol.
60627         (not_eol): Renamed from re_not_eol.
60628         (newline_anchor): Renamed from re_newline_anchor.
60629         (num_regs): Renamed from rm_num_regs.
60630         (start): Renamed from rm_start.
60631         (end): Renamed from rm_end.
60632
60633         (free_state): Move up a bit.
60634
60635         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
60636         #define to be empty.
60637         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
60638         when that is what is intended.
60639         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
60640         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
60641         (MAX): New macro.
60642         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
60643         All uses changed back to re_malloc, etc.  It's now the caller's
60644         responsibility to check for overflow; all callers changed.
60645         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
60646         (re_x2nrealloc): Remove.
60647         (free_state): Remove decl.
60648
60649         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
60650         (re_set_registers, re_exec):
60651         Use K&R-style defn.
60652
60653         2006-01-31  Roland McGrath  <roland@redhat.com>
60654
60655         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
60656         Reported by Mike Frysinger <vapier@gentoo.org>.
60657
60658         2006-01-15  Andreas Jaeger  <aj@suse.de>
60659
60660         [BZ #1950]
60661         * lib/regex_internal.c (re_string_reconstruct): Adjust for
60662         build_wcs_upper_buffer change.
60663         (build_wcs_upper_buffer): Change return type.
60664
60665         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
60666
60667         * lib/regex_internal.h: Include <stdint.h> if available.
60668
60669         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
60670
60671         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
60672
60673         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60674
60675         * lib/regcomp.c: Adjust for changed secondary hash function.
60676
60677         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
60678
60679         * lib/regex.h: Pretty printing.
60680         Clean up namespace a bit.
60681
60682         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
60683
60684         * lib/regexec.c (update_cur_sifted_state, check_arrival,
60685         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60686
60687         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60688                     Ulrich Drepper  <drepper@redhat.com>
60689
60690         [BZ #1302]
60691         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60692         changed.
60693         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60694
60695         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60696
60697         [BZ #281]
60698         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60699         * lib/regcomp.c: Remove unnecessary uses of
60700         unsigned RE_TRANSLATE_TYPE.
60701         * lib/regex_internal.h: Likewise.
60702         * lib/regex_internal.c: Likewise.
60703         * lib/regexec.c: Likewise.
60704         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60705
60706         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60707
60708         * lib/regexec.c (find_recover_state): Remove unnecessary
60709         initialization.
60710         (transit_state_bkref): Make DFA a const pointer.
60711         (get_subexp): Likewise.
60712         (check_arrival): Likewise.
60713         (update_cur_sifted_state): Likewise.
60714         (re_search_internal): Likewise.
60715         (prune_impossible_nodes): Likewise.
60716         (acquire_init_state_context): Likewise.
60717         (proceed_next_node): Likewise.
60718         (set_regs): Likewise.
60719         (free_fail_stack_return): Likewise.
60720         (check_arrival_expand_ecl): Mark DFA parameter as const.
60721         (check_arrival_expand_ecl_sub): Likewise.
60722         (check_subexp_limits): Likewise.
60723         (sub_epsilon_src_nodes):  Likewise.
60724         (add_epsilon_src_nodes):  Likewise.
60725         (merge_state_array): Likewise.
60726         (update_regs): Likewise.
60727         (build_trtable): Likewise.
60728         (sift_states_backward): Mark MCTX parameter as const.
60729         (build_sifted_states): Likewise.
60730         (update_cur_sifted_state): Likewise.
60731         (sift_states_mkref): Likewise.
60732         (check_arrival_expand_ecl): Mark eclosure as const.
60733         (check_dst_limits_calc_pos_1): Likewise.
60734         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60735         pointer.
60736
60737         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60738
60739         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60740         (transit_state_sb): Likewise.
60741         (transit_state_mb): Likewise.
60742         (sift_states_iter_mb): Likewise.
60743         (check_arrival_add_next_nodes): Likewise.
60744         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60745         [_LIBC] (re_search_2_stub): Use mempcpy.
60746
60747         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60748         mbrtowc for very simple UTF-8 case.
60749
60750         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60751         a pointer-to-const.
60752         (re_acquire_state_context): Likewise.
60753         * lib/regex_internal.h: Adjust prototypes.
60754
60755         * lib/regex.c: Prevent using C++ compilers.
60756
60757         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60758         (re_acquire_state_context): Likewise.
60759
60760 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60761
60762         * modules/regex (Depends-on): Add ssize_t.
60763
60764 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60767         translation table.
60768
60769 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60770
60771         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60772
60773 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60774             Bruno Haible  <bruno@clisp.org>
60775
60776         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60777         <sys/types.h> and <inttypes.h>.
60778
60779 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60780
60781         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60782         `__error_t_defined', so argp.h will not typedef the former.
60783
60784 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60785
60786         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60787         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60788         glibc names.  Even if glibc is changed to conform to POSIX, the
60789         traditional names will be available anyway, since regex depends on
60790         the extensions module.  Also, fix a longstanding typo in the
60791         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60792         reported by Emanuele Giaquinta.  Also, change sense of cached
60793         variable, so that the message makes sense.
60794
60795 2006-03-24  Simon Josefsson  <jas@extundo.com>
60796
60797         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60798         including some doc fixes.
60799         (base64_encode_alloc): Fix +1 bug on allocation failures.
60800
60801 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60802
60803         * lib/base64.c (base64_encode): Do not read past end of array with
60804         unsanitized input on systems with CHAR_BIT > 8.
60805
60806 2006-03-24  Eric Blake  <ebb9@byu.net>
60807
60808         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60809
60810 2006-03-22  Karl Berry  <karl@gnu.org>
60811
60812         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60813         * config/srclistvars.sh (COREUTILS): new var.
60814
60815 2006-03-17  Jim Meyering  <jim@meyering.net>
60816
60817         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60818         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60819
60820 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60821
60822         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60823         no longer needs it.  Instead, check that regoff_t is as least
60824         as wide as ptrdiff_t.
60825
60826         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60827         so that our regex.h stays compatible with the installed regex.
60828         This is helpful for installers who configure --without-included-regex.
60829         Problem reported by Emanuele Giaquinta.
60830
60831 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60832
60833         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60834         Typedef to long int, not to off_, as POSIX will likely change
60835         in that direction.
60836
60837 2006-03-15  Eric Blake  <ebb9@byu.net>
60838
60839         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60840
60841 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60842
60843         * lib/argp-help.c (validate_uparams): Fix typo
60844         * lib/argp-parse.c (argp_default_options): Consistently begin help
60845         messages with a lowercase letter.
60846
60847 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60848
60849         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60850         overrun buffers and shouldn't be used (much as gets shouldn't be
60851         used).
60852         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60853
60854 2006-03-08  Simon Josefsson  <jas@extundo.com>
60855
60856         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60857         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60858
60859 2006-03-08  Simon Josefsson  <jas@extundo.com>
60860
60861         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60862         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60863
60864 2006-03-08  Simon Josefsson  <jas@extundo.com>
60865
60866         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60867         signal that configure disabled the device.
60868
60869 2006-03-08  Simon Josefsson  <jas@extundo.com>
60870
60871         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60872         languages.
60873
60874 2006-03-07  Simon Josefsson  <jas@extundo.com>
60875
60876         * modules/getopt (Depends-on): Add unistd.
60877
60878         * modules/unistd: New file.
60879
60880 2006-03-07  Simon Josefsson  <jas@extundo.com>
60881
60882         * modules/gc-random: New file.
60883
60884 2006-03-07  Simon Josefsson  <jas@extundo.com>
60885
60886         * m4/unistd_h.m4: New file.
60887
60888 2006-03-07  Simon Josefsson  <jas@extundo.com>
60889
60890         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60891         test to be side-effect free by storing the result in the cache
60892         variable gl_cv_lib_readline, and moving the assignment of
60893         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60894         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60895
60896 2006-03-07  Simon Josefsson  <jas@extundo.com>
60897
60898         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60899         error on missing devices (the functions will return an error).
60900
60901         * m4/gc.m4: Move random stuff to gc-random.m4
60902
60903 2006-03-07  Simon Josefsson  <jas@extundo.com>
60904
60905         * lib/unistd_.h: New file.
60906
60907 2006-03-07  Simon Josefsson  <jas@extundo.com>
60908
60909         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60910
60911 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60912
60913         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60914         Problem reported by Juan Manuel Guerrero.
60915
60916 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60917
60918         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60919         the unistd module.
60920         * lib/getlogin_r.c: Likewise.
60921         * lib/getlogin_r.h: Likewise.
60922         * lib/glob.c: Likewise.
60923         * lib/pagealign_alloc.c: Likewise.
60924         * lib/unistd_.h: Remove; no longer needed.
60925
60926 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60927
60928         * MODULES.html.sh (Support for systems lacking POSIX:2001):
60929         Add unistd.
60930         * modules/c-stack (Depends-on): Add unistd.
60931         * modules/getlogin_r: Likewise.
60932         * modules/glob: Likewise.
60933         * modules/pagealign_alloc: Likewise.
60934         * modules/unistd (Files): Remove lib/unistd_.h.
60935         (EXTRA_DIST): Remove.
60936         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
60937         need unistd_.h.
60938         (MOSTLYCLEANFILES): Remove unistd.h-t.
60939
60940 2006-03-03  Simon Josefsson  <jas@extundo.com>
60941
60942         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
60943
60944 2006-03-03  Simon Josefsson  <jas@extundo.com>
60945
60946         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
60947         libidn and bison.
60948
60949 2006-03-03  Simon Josefsson  <jas@extundo.com>
60950
60951         * build-aux/maint.mk: Add indent target.
60952
60953 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
60954
60955         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
60956         our replacement poll.h in any case, to avoid a differing
60957         declaration from a system header.  Seen on AIX.
60958
60959 2006-03-01  Simon Josefsson  <jas@extundo.com>
60960
60961         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
60962         <kasal@ucw.cz>.
60963
60964 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60965
60966         * modules/gettime (Depends-on): Add extensions module.
60967         * modules/nanosleep (Depends-on): Likewise.
60968         * modules/settime (Depends-on): Likewise.
60969
60970 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60971
60972         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
60973         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
60974         pedantically.
60975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60976         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
60977
60978         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
60979         not "==".  Reported by Ralf Wildenhues.
60980
60981 2006-03-01  Karl Berry  <karl@gnu.org>
60982
60983         * doc/Copyright/request-*: new files, synced from gnuorg.
60984
60985 2006-03-01  Karl Berry  <karl@gnu.org>
60986
60987         * config/srclist.txt (Copyright/*): new entries.
60988
60989 2006-02-28  Simon Josefsson  <jas@extundo.com>
60990
60991         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
60992
60993 2006-02-27  Simon Josefsson  <jas@extundo.com>
60994
60995         * lib/base64.h: Indent #define's.  From Jim Meyering
60996         <jim@meyering.net>.
60997
60998 2006-02-27  Jim Meyering  <jim@meyering.net>
60999
61000         Revert the change of 2006-02-24, so these files can continue
61001         to be sync'd from gettext.
61002         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
61003         of `config.h'.
61004
61005 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61006
61007         * modules/intprops: New file.
61008         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61009         Add intprops.
61010         * modules/getloadavg (Files): Remove lib/intprops.h.
61011         (Depends-on): Add intprops.
61012         * modules/human: Likewise.
61013         * modules/inttostr: Likewise.
61014         * modules/openat: Likewise.
61015         * modules/sig2str: Likewise.
61016         * modules/userspec: Likewise.
61017         * modules/utimecmp: Likewise.
61018         * modules/xnanosleep: Likewise.
61019         * modules/xstrtol: Likewise.
61020
61021 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
61022
61023         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
61024         * modules/lock-tests (TESTS): Use $(EXEEXT).
61025         * modules/tls-tests: Likewise.
61026         * modules/argp-tests: Likewise.
61027         (check_PROGRAMS): New var, replacing...
61028         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
61029
61030 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61031
61032         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
61033         `config.h'.
61034
61035 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61036
61037         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
61038
61039 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61040
61041         Sync from coreutils.
61042         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
61043         gl_CHDIR_SAFER.
61044
61045 2006-02-22  Jim Meyering  <jim@meyering.net>
61046
61047         Sync from coreutils.
61048         * m4/chdir-safer.m4: New file.
61049
61050 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61051
61052         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
61053         AT_FDCWD exceeds INT_MAX.
61054         * lib/openat.h (AT_FDCWD): Likewise.
61055
61056 2006-02-17  Eric Blake  <address@hidden>
61057
61058         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
61059
61060 2006-02-16  Simon Josefsson  <jas@extundo.com>
61061
61062         * modules/getaddrinfo (Depends-on): Add sys_socket.
61063
61064 2006-02-15  Simon Josefsson  <jas@extundo.com>
61065
61066         * build-aux/maint.mk: Add dsyntax-check rule.
61067
61068 2006-02-15  Eric Blake  <ebb9@byu.net>
61069
61070         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
61071         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
61072         'present but cannot compile' warnings on cygwin.
61073         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
61074         use ws2tcpip.h if sys/socket.h works.
61075         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
61076         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
61077
61078 2006-02-14  Simon Josefsson  <jas@extundo.com>
61079
61080         * modules/maintainer-makefile (Files): Rename.
61081
61082         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
61083         and (the local) Makefile.cfg to maint-cfg.mk.
61084
61085         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
61086         to the latter.
61087
61088         * modules/maintainer-makefile: New module.
61089
61090         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
61091         severaly stripped to make it possible to build it up from scratch
61092         with reliable tests.
61093
61094         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
61095         fixes to permit overriding the default actions when configure and
61096         makefile are not available.
61097
61098 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
61099
61100         Sync from coreutils.
61101         * modules/lstat (Depends-on): Don't depend on xalloc.
61102         (License): Change from GPL to LGPL, since this is now simply a
61103         replacement for a libc function.
61104
61105 2006-02-14  Jim Meyering  <jim@meyering.net>
61106
61107         Sync from coreutils.
61108
61109         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
61110         failure on deficient systems, and simplify gnulib lgpl dependencies.
61111         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
61112         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
61113
61114         * lib/xalloc-die.c: Remove unused definition of N_.
61115
61116 2006-02-14  Jim Meyering  <jim@meyering.net>
61117
61118         Sync from coreutils.
61119         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
61120         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
61121         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
61122         double-quote uses of that variable, to accommodate the rare case in
61123         which getmntent is available in none of the libraries checked.  This
61124         happens at least on FreeBSD 5.0.
61125
61126 2006-02-13  Simon Josefsson  <jas@extundo.com>
61127
61128         * gnulib-tool (Usage): Fix --import, from
61129         karl@freefriends.org (Karl Berry).
61130
61131 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61132
61133         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
61134
61135 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
61136
61137         * lib/argp-namefrob.h: Restore changes accidentally lost during the
61138         "autoupdate" on 2005-12-12.
61139
61140 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61141
61142         * modules/closeout (Depends-on): Remove atexit.
61143
61144 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61145
61146         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
61147         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
61148
61149 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61150
61151         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
61152         __EXTENSIONS__ if this causes compilation to fail.  Problem
61153         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
61154         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
61155
61156 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
61157
61158         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
61159         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
61160         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
61161         All uses changed.
61162
61163 2006-01-26  Simon Josefsson  <jas@extundo.com>
61164
61165         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
61166         prototype is visible on mingw32.
61167
61168         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
61169         for mingw32.
61170
61171         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
61172         mingw32).
61173
61174 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61175
61176         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
61177         attempt to open for write; this always fails, at least on POSIX
61178         hosts.  This reinstates the 2006-01-09 change, which was
61179         inadvertently removed.
61180
61181 2006-01-26  Bruno Haible  <bruno@clisp.org>
61182
61183         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
61184         Reported by Paul Eggert.
61185
61186 2006-01-26  Bruno Haible  <bruno@clisp.org>
61187             Paul Eggert  <eggert@cs.ucla.edu>
61188
61189         * lib/stdbool_.h (_Bool)
61190         [(! (defined __cplusplus || defined __BEOS__)
61191           && !defined __GNUC__
61192           && !(defined __HP_cc || defined __xlc__
61193                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
61194                || defined __sgi))]:
61195         #define to signed char in these cases too; this simplifies
61196         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
61197         etc., separately) and makes it more conservative.
61198
61199 2006-01-25  Simon Josefsson  <jas@extundo.com>
61200
61201         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
61202         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
61203         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
61204
61205 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61206
61207         * lib/argp-namefrob.h: Bugfix. Remove stray #
61208
61209 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61210
61211         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
61212         so that we test the test.
61213         Check for yet another HP-UX cc bug involving *bool |= bool.
61214
61215 2006-01-25  Karl Berry  <karl@gnu.org>
61216
61217         * config/srclist.txt (vasnprintf.c): sync lost.
61218
61219 2006-01-25  Jim Meyering  <jim@meyering.net>
61220
61221         Sync from the stable (b5) branch of coreutils:
61222
61223         * lib/fts.c (fts_children): Don't let close() clobber errno from
61224         failed fchdir().
61225
61226         * lib/fts.c (fts_stat): When following a symlink-to-directory,
61227         don't necessarily interpret stat-fails+lstat-succeeds as indicating
61228         a dangling symlink.  That can also happen at least for ELOOP.
61229         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
61230         FYI, this bug predates the inclusion of fts.c in coreutils.
61231
61232         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
61233         in their own block, so pre-c99 compilers don't object.
61234
61235         Avoid the double-free (first in fts_read, second in fts_close) that
61236         would occur when an `active' directory is made inaccessible (e.g.,
61237         via chmod a-x) during a traversal.
61238         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61239         before returning.  Reproduce this failure by
61240         mkdir -p a/b; cd a; chmod a-x . b
61241         Reported by Stavros Passas.
61242
61243 2006-01-25  Jim Meyering  <jim@meyering.net>
61244
61245         * lib/fileblocks.c: Remove more useless parentheses.
61246         * lib/readutmp.h: Likewise.
61247
61248 2006-01-25  Bruno Haible  <bruno@clisp.org>
61249
61250         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
61251         warnings.
61252         Reported by Paul Eggert.
61253
61254 2006-01-25  Bruno Haible  <bruno@clisp.org>
61255
61256         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
61257         rid of a trap command. For Solaris sh.
61258         Reported by Mark D. Baushke <mdb@gnu.org>.
61259
61260 2006-01-24  Simon Josefsson  <jas@extundo.com>
61261
61262         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
61263         Bruno.
61264
61265 2006-01-24  Karl Berry  <karl@gnu.org>
61266
61267         * config/srclist.txt (argp-namefrob.h): sync lost.
61268
61269 2006-01-24  Jim Meyering  <jim@meyering.net>
61270
61271         * modules/openat (Files): Add lib/intprops.h.
61272         From Mark D. Baushke.
61273
61274 2006-01-24  Jim Meyering  <jim@meyering.net>
61275
61276         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
61277         Reported by Mark D. Baushke.
61278
61279 2006-01-24  Jim Meyering  <jim@meyering.net>
61280
61281         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
61282
61283 2006-01-24  Bruno Haible  <bruno@clisp.org>
61284
61285         * modules/strnlen (Maintainer): Change from glibc to all.
61286
61287 2006-01-24  Bruno Haible  <bruno@clisp.org>
61288
61289         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
61290         Patch by Paul Eggert.
61291
61292 2006-01-24  Bruno Haible  <bruno@clisp.org>
61293
61294         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
61295         already has it.
61296         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
61297         2005-11-26.
61298
61299         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
61300         'signed char' to avoid problems with the built-in _Bool type.
61301         Reported by Paul Eggert on 2005-11-26.
61302
61303 2006-01-24  Bruno Haible  <bruno@clisp.org>
61304
61305         * gnulib-tool (func_import): Avoid constructing complicated sed
61306         expressions inside backquote.
61307         Report and solution by Mark D. Baushke <mdb@gnu.org>.
61308
61309 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
61310
61311         These changes imported from libc.
61312         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
61313         test and two separate function calls.
61314         * lib/strndup.c (__strndup): Add libc_hidden_def.
61315
61316 2006-01-23  Simon Josefsson  <jas@extundo.com>
61317
61318         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
61319         Remove the test_*_SOURCES variable: automake infers it by default.
61320         * modules/tls-tests: Likewise.
61321
61322 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61323
61324         Work around porting bugs reported by Dieter in
61325         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
61326         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
61327         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
61328         Include "getopt.h" first, to check interface.
61329         (getenv): Declare only if defined HAVE_DECL_GETENV &&
61330         !HAVE_DECL_GETENV.
61331         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
61332         (__strndup): Revert to K&R-style function dfns, the glibc style.
61333         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
61334         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
61335         Include strnlen.h first, to get prototype properly.
61336         (strnlen): Renamed from __strnlen.
61337         Remove weak alias.
61338
61339 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61340
61341         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
61342
61343 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61344
61345         * config/srclist.txt: Adjust to reflect glibc reorganization.
61346         This affects only comments.
61347
61348 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61349
61350          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
61351          Reported by Bruce Korb <bkorb@gnu.org>.
61352
61353 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
61354
61355         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
61356         to pacify gcc -Wswitch-default.
61357
61358 2006-01-22  Bruno Haible  <bruno@clisp.org>
61359
61360         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
61361         temporary buffer for sprintf, take into account the precision also
61362         for 'd', 'i', 'u', 'o', 'x', 'X'.
61363
61364 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61365
61366         * modules/argp-tests: New module
61367         * tests/test-argp.c: New file
61368         * tests/test-argp-2.sh: New file
61369
61370 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61371
61372         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
61373         (__argp_base_name): Removed
61374         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
61375         typo.
61376         (__argp_base_name): Provide macro definition or extern declaration
61377         depending on the configuration
61378
61379 2006-01-20  Simon Josefsson  <jas@extundo.com>
61380
61381         * modules/inet_ntop (Depends-on): Depend on sys_socket.
61382
61383 2006-01-20  Simon Josefsson  <jas@extundo.com>
61384
61385         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
61386
61387 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61388
61389         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
61390         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
61391         Suggested by Bruno Haible.
61392
61393 2006-01-20  Karl Berry  <karl@gnu.org>
61394
61395         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
61396         until changes propagate, I guess.
61397
61398 2006-01-19  Simon Josefsson  <jas@extundo.com>
61399
61400         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
61401
61402 2006-01-19  Simon Josefsson  <jas@extundo.com>
61403
61404         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
61405
61406 2006-01-19  Simon Josefsson  <jas@extundo.com>
61407
61408         * gnulib-tool: Set check_PROGRAMS.
61409
61410         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61411         modules/des-tests, modules/gc-arcfour-tests,
61412         modules/gc-arctwo-tests, modules/gc-des-tests,
61413         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61414         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61415         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61416         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61417         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61418         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
61419         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
61420         test_*_SOURCES.
61421
61422 2006-01-18  Simon Josefsson  <jas@extundo.com>
61423
61424         * modules/socklen (Depends-on): Depend on sys_socket.
61425
61426 2006-01-18  Simon Josefsson  <jas@extundo.com>
61427
61428         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61429         modules/des-tests, modules/gc-arcfour-tests,
61430         modules/gc-arctwo-tests, modules/gc-des-tests,
61431         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61432         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61433         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61434         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61435         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61436         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
61437         $(EXEEXT) to automake TESTS variable, for mingw32.
61438
61439 2006-01-17  Simon Josefsson  <jas@extundo.com>
61440
61441         * modules/socklen (Include): Need sys/socket.h.
61442
61443 2006-01-17  Bruno Haible  <bruno@clisp.org>
61444
61445         * modules/ssize_t (Include): Add <sys/types.h>.
61446
61447 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
61448
61449         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
61450         it's not portable and it doesn't work with cross-compiles.
61451         Problem reported by Bruno Haible.  Fix missing-$ typo in
61452         'test "gl_cv_ignore_unused_libraries" ...' that prevented
61453         -zignore from being used with Sun's C compiler.
61454
61455 2006-01-12  Simon Josefsson  <jas@extundo.com>
61456
61457         * lib/base64.c: Fix warning, reported by Bruno Haible
61458         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
61459
61460 2006-01-12  Bruno Haible  <bruno@clisp.org>
61461
61462         * modules/ldd: New file.
61463         * build-aux/ldd.sh.in: New file.
61464         * MODULES.html.sh (Support for building libraries and executables): Add
61465         ldd.
61466
61467 2006-01-12  Bruno Haible  <bruno@clisp.org>
61468
61469         * m4/ldd.m4: New file.
61470
61471 2006-01-12  Bruno Haible  <bruno@clisp.org>
61472
61473         * gnulib-tool (func_import, func_create_testdir): Don't go into an
61474         endless loop while replacing $auxdir with build-aux.
61475
61476 2006-01-11  Simon Josefsson  <jas@extundo.com>
61477
61478         * lib/stdint_.h (SIZE_MAX): Add missing (.
61479
61480 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61481
61482         Sync from coreutils.
61483         * lib/md5.c: Fix commentary typos.
61484         (alignof, UNALIGNED_P): No need for a GCC-specific version.
61485         * lib/md5.h (__attribute__): Remove; unused.
61486         * lib/sha1.c: Fix commentary to match md5 better.
61487         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
61488         so that we don't need to worry about alignment.  All uses changed.
61489         This merges the 2005-10-28 md5 change into sha1.
61490
61491 2006-01-11  Jim Meyering  <jim@meyering.net>
61492
61493         Sync from coreutils.
61494         * lib/md5.c (OP): Fix spacing.
61495
61496 2006-01-11  Bruno Haible  <bruno@clisp.org>
61497
61498         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61499         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
61500         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
61501
61502 2006-01-11  Bruno Haible  <bruno@clisp.org>
61503
61504         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61505         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
61506         the "early" section as well.
61507
61508 2006-01-11  Bruno Haible  <bruno@clisp.org>
61509
61510         Avoid "ar: no archive members specified" error on MacOS X.
61511         * gnulib-tool (func_modules_add_dummy): New function.
61512         (func_import, func_create_testdir): Invoke it.
61513
61514 2006-01-11  Bruno Haible  <bruno@clisp.org>
61515
61516         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
61517         with $auxdir in AC_CONFIG_FILES statements.
61518
61519 2006-01-11  Bruno Haible  <bruno@clisp.org>
61520
61521         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61522         Initialize also noinst_HEADERS to empty.
61523
61524 2006-01-11  Bruno Haible  <bruno@clisp.org>
61525
61526         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
61527         variables.
61528         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
61529         autoreconf.
61530
61531 2006-01-11  Bruno Haible  <bruno@clisp.org>
61532
61533         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
61534         overridable by the user.
61535         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61536
61537 2006-01-10  Simon Josefsson  <jas@extundo.com>
61538
61539         * modules/sys_socket: New file.
61540
61541 2006-01-10  Simon Josefsson  <jas@extundo.com>
61542
61543         * m4/sys_socket_h.m4: New file.
61544
61545 2006-01-10  Simon Josefsson  <jas@extundo.com>
61546
61547         * lib/socket_.h: New file.
61548
61549 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61550
61551         * modules/readutmp (Maintainer): Add myself.
61552
61553 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61554
61555         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
61556         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
61557         People who are still concerned with buggy memcmp implementations
61558         can invoke gl_FUNC_MEMCMP themselves.
61559
61560 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61561
61562         * lib/regex_internal.h (BITSET_WORD_BITS):
61563         Work around a bug in 64-bit PGC (before version 6.1-2), where the
61564         preprocessor mishandles large unsigned values as if they were signed.
61565         Problem reported by Claudio Fontana in
61566         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
61567
61568 2006-01-10  Jim Meyering  <jim@meyering.net>
61569
61570         Avoid the double-free (first in fts_read, second in fts_close) that
61571         would occur when an `active' directory is made inaccessible (e.g.,
61572         via chmod a-x) during a traversal.
61573         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61574         before returning.  Reproduce this failure by
61575         mkdir -p a/b; cd a; chmod a-x . b
61576         Reported by Stavros Passas.
61577
61578         Sync from coreutils.
61579         * lib/sha1.c: Tweak grammar in a comment.
61580
61581 2006-01-10  Jim Meyering  <jim@meyering.net>
61582
61583         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
61584         Patch by Joerg Sonnenberger.
61585
61586 2006-01-10  Bruno Haible  <bruno@clisp.org>
61587
61588         * modules/readutmp: Depend on module free.
61589         * modules/strtok_r: Depend on module restrict.
61590
61591 2006-01-10  Bruno Haible  <bruno@clisp.org>
61592
61593         * modules/gettext (configure.ac): Add an invocation of
61594         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
61595
61596 2006-01-10  Bruno Haible  <bruno@clisp.org>
61597
61598         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
61599         Reported by Werner Lemberg <wl@gnu.org>.
61600
61601 2006-01-10  Bruno Haible  <bruno@clisp.org>
61602
61603         * lib/localcharset.c: Update from GNU gettext.
61604
61605 2006-01-10  Bruno Haible  <bruno@clisp.org>
61606
61607         * lib/argp.h (__const): Remove macro. Use const instead.
61608         * lib/argp-fmtstream.h (__const): Likewise.
61609         * lib/glob_.h (__const): Remove macro.
61610         * lib/glob-libc.h: Use const instead of __const.
61611
61612 2006-01-10  Bruno Haible  <bruno@clisp.org>
61613
61614         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
61615         variable.
61616         Needed to avoid an automake error regarding the 'gettext' module.
61617
61618 2006-01-09  Simon Josefsson  <jas@extundo.com>
61619
61620         * modules/inet_ntop (Depends-on): Add restrict.
61621
61622 2006-01-09  Simon Josefsson  <jas@extundo.com>
61623
61624         * modules/gc-rijndael-tests (License): Put under LGPL.
61625
61626         * modules/gc-des-tests (License): Likewise.
61627
61628         * modules/gc-arcfour-tests (License): Likewise.
61629
61630         * modules/gc-arctwo-tests (License): Likewise.
61631
61632         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
61633
61634         * modules/gc-hmac-sha1-tests (Files): Likewise.
61635
61636         * modules/gc-hmac-md5-tests (License): Likewise.
61637
61638         * modules/gc-sha1-tests (License): Likewise.
61639
61640         * modules/gc-md5-tests (License): Likewise.
61641
61642         * modules/gc-md4-tests (License): Likewise.
61643
61644         * modules/gc-md2-tests (License): Likewise.
61645
61646         * modules/gc-tests (License): Likewise.
61647
61648         * modules/des-tests (License): Likewise.
61649
61650         * modules/md4-tests (License): Likewise.
61651
61652         * modules/md2-tests (License): Likewise.
61653
61654 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61655
61656         Sync from coreutils:
61657
61658         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
61659         * modules/lib-ignore: New file.
61660         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
61661         chdir-safer.m4, lchmod.m4.
61662         * modules/openat: Add mkdirat.c, openat-priv.h.
61663
61664 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61665
61666         Sync from coreutils.
61667         * m4/lib-ignore.m4: New file.
61668         * m4/lchmod.m4: New file.
61669
61670 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61671
61672         Sync from coreutils.
61673         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
61674         for write access: POSIX says that must fail.
61675         * lib/fts.c (diropen): Likewise.
61676         * lib/save-cwd.c (save_cwd): Likewise.
61677         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
61678         well, for minor improvements on hosts that lack O_DIRECTORY.
61679         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
61680         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
61681         Fall back on chown if open failed with EACCES.
61682
61683         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
61684         Report an error at compile-time if only a 1-second nominal clock
61685         resolution is found.
61686
61687         * lib/lchmod.h: New file.
61688         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61689         (make_dir_parents): Use lchown rather than chown, and
61690         lchmod rather than chmod.
61691
61692         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61693         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61694         "proc" reported by n0dalus.
61695
61696         * lib/mountlist.c: Include <limits.h>.
61697         (dev_from_mount_options)
61698         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61699         New function.  It no longer assumes "dev=" has the System V meaning
61700         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61701         (read_file_system_list)
61702         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61703         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61704         dev= in that case.
61705
61706         * lib/posixtm.h (PDS_PRE_2000): New macro.
61707         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61708         allow_century.  All usages changed.  Reject dates outside the range
61709         1969-1999 if PDS_PRE_2000 is used.
61710
61711 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61712
61713         Sync from coreutils.
61714         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61715         (Time of day items): Mention the possibility of leap seconds.
61716         Problem reported by Dr. David Alan Gilbert.
61717
61718 2006-01-09  Jim Meyering  <jim@meyering.net>
61719
61720         Sync from coreutils.
61721
61722         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61723
61724         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61725
61726         * lib/modechange.c (mode_compile): Reject an invalid mode string
61727         that starts with an octal digit.  From Andreas Gruenbacher.
61728
61729         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61730         and dup to open_safer and dup_safer, respectively.
61731         (openat_permissive): Fix typo in comment.
61732
61733         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61734         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61735         (_): Remove; no longer needed.
61736         (openat): Renamed from rpl_openat; no need for rpl_openat
61737         since openat.h renames openat for us.
61738         Replace most of the body with a call to openat_permissive,
61739         to avoid duplicate code.
61740         Port to (probably hypothetical) environments were mode_t is
61741         wider than int.
61742         (openat_permissive): Require mode arg, so that we can check
61743         types better.  Put it just after flags.  Change cwd failure
61744         indicator from pointer-to-bool to pointer-to-errno-value.
61745         All callers changed.
61746         Invoke openat_save_fail and/or openat_restore_fail if
61747         cwd_errno is null, so that openat can call us.
61748         (openat_permissive, fdopendir, fstatat, unlinkat):
61749         Simplify errno handling to avoid some duplicate code,
61750         as it's OK to set errno on success.
61751         * lib/openat.h: Revamp code so that function macros depend on
61752         __OPENAT_PREFIX only, not also on AT_FDCWD.
61753         (openat_ro): Remove.  Caller changed to use openat_permissive.
61754         (openat_permissive): Now a macro, if not a function.
61755         (openat_restore_fail, openat_save_fail): Now always functions,
61756         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61757
61758         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61759         and openat.c.
61760         * lib/mkdirat.c: Include openat-priv.h.
61761         Remove definitions of macros defined therein.
61762         * lib/openat.c: Likewise.
61763
61764         * lib/mkdirat.c (mkdirat): New file and function.
61765         * lib/openat.h (mkdirat): Declare.
61766
61767         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61768
61769         * lib/openat.h (openat_permissive): Declare.
61770         (openat_ro): Define.
61771
61772         * lib/openat.c (EXPECTED_ERRNO): New macro.
61773         (openat_permissive): New function -- used in remove.c rewrite.
61774         (all functions): Set errno just before returning, only if there
61775         was an actual failure.
61776         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61777
61778         Emulate openat-family functions using Linux's procfs, if possible.
61779         Idea and some code based on Ulrich Drepper's glibc changes.
61780
61781         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61782         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61783         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61784         before falling back on save_cwd and restore_cwd.
61785         (fdopendir, fstatat, unlinkat): Likewise.
61786
61787         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61788         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61789
61790         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61791         as second argument to va_arg.  Otherwise, some versions of gcc
61792         warn that `if this code is reached, the program will abort'.
61793
61794 2006-01-09  Jim Meyering  <jim@meyering.net>
61795
61796         Sync from coreutils.
61797         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61798         Require openat-priv.h.
61799
61800 2006-01-09  Bruno Haible  <bruno@clisp.org>
61801
61802         * modules/strnlen (Include): Use strnlen.h.
61803
61804 2006-01-09  Bruno Haible  <bruno@clisp.org>
61805
61806         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61807
61808 2006-01-09  Bruno Haible  <bruno@clisp.org>
61809
61810         * lib/sysexit_.h (EX_OK): New macro.
61811         Suggested by Martin Lambers <marlam@marlam.de>.
61812
61813 2006-01-09  Bruno Haible  <bruno@clisp.org>
61814
61815         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61816         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61817
61818 2006-01-09  Bruno Haible  <bruno@clisp.org>
61819
61820         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61821         numbers.
61822
61823 2006-01-09  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61826         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61827         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61828         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61829
61830 2006-01-09  Bruno Haible  <bruno@clisp.org>
61831
61832         * build-aux/javacomp.sh.in: New file, moved from lib/.
61833         * modules/javacomp-script (Files): Update.
61834         (configure.ac): Add AC_CONFIG_FILES invocation.
61835         (EXTRA_DIST): Remove variable.
61836
61837         * build-aux/javaexec.sh.in: New file, moved from lib/.
61838         * modules/javaexec (Files): Update.
61839         (configure.ac): Add AC_CONFIG_FILES invocation.
61840         (EXTRA_DIST): Remove javaexec.sh.in.
61841
61842         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61843         * modules/csharpcomp-script (Files): Update.
61844         (configure.ac): Add AC_CONFIG_FILES invocation.
61845         (EXTRA_DIST): Remove variable.
61846
61847         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61848         * modules/csharpexec (Files): Update.
61849         (configure.ac): Add AC_CONFIG_FILES invocation.
61850         (EXTRA_DIST): Remove csharpexec.sh.in.
61851
61852 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61853
61854         Sync from coreutils.
61855
61856         Add POSIX ACL support
61857         * lib/acl.h (copy_acl, set_acl): Add declarations.
61858         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61859         systems other than Linux.
61860         (chmod_or_fchmod): New function: use fchmod when possible,
61861         and chmod otherwise.
61862         (file_has_acl): Add a POSIX ACL implementation, with a
61863         Linux-specific subcase.
61864         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61865         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61866         acls are unsupported.
61867         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61868         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61869         are unsupported.
61870
61871 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61872
61873         Sync from coreutils.
61874         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61875
61876 2006-01-07  Bruno Haible  <bruno@clisp.org>
61877
61878         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61879         gl_EARLY.
61880
61881 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61882
61883         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61884         Problem reported for Mingw by Mark Junker.
61885
61886 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61887
61888         * README: Gnulib normally doesn't generate a tarball.
61889
61890 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61891
61892         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61893         long int, not int, for nanosecond counts, so that people who are
61894         used to POSIX struct timespec won't be surprised.  Reported by Jim
61895         Meyering.
61896
61897 2005-12-28  Bruno Haible  <bruno@clisp.org>
61898
61899         * build-aux/config.rpath: Update from GNU gettext.
61900
61901 2005-12-16  Jim Meyering  <jim@meyering.net>
61902
61903         * modules/fprintftime: New module.
61904         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61905
61906 2005-12-16  Jim Meyering  <jim@meyering.net>
61907
61908         * m4/fprintftime.m4: New file.
61909
61910 2005-12-16  Jim Meyering  <jim@meyering.net>
61911
61912         * lib/fprintftime.c, lib/fprintftime.h: New files.
61913
61914 2005-12-15  Simon Josefsson  <jas@extundo.com>
61915
61916         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61917         new m4/socklen.m4.
61918
61919 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61920
61921         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
61922         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
61923
61924 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61925
61926         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
61927         * lib/argp-help.c (fill_in_uparams): Check if the constructed
61928         struct uparams is valid. Fall back to the default values if it is
61929         not.
61930
61931 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61932
61933         * modules/argp (Files): Add argp-pin.c
61934         (Depends-on): dirname
61935         (lib_SOURCES): Add argp-pin.c
61936
61937 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61938
61939         * m4/argp.m4:  Check if program_invocation_name and
61940         program_invocation_short_name are declared and define appropriate
61941         macros if they are not.
61942
61943 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61944
61945         * lib/argp-help.c (__argp_base_name): New function
61946         (__argp_short_program_name): Rewrite using __argp_base_name
61947         * lib/argp-namefrob.h: Define program_invocation_name and
61948         program_invocation_short_name if requested
61949         (__argp_base_name): Add prototype
61950         * lib/argp-parse.c (argp_def): Use gettext wrappers
61951         (argp_default_parser): Use __argp_base_name
61952         * lib/argp-pin.c: New file. Defines program_invocation_name and
61953         program_invocation_short_name on systems that lack them.
61954
61955 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61956
61957         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
61958         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61959         porting problem reported by Georg Schwarz in
61960         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61961
61962 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61963
61964         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
61965         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61966         porting problem reported by Georg Schwarz in
61967         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61968
61969 2005-12-05  Bruno Haible  <bruno@clisp.org>
61970
61971         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
61972         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
61973         Reported by Mark Junker <mjscod@gmx.de>.
61974
61975 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
61976
61977         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
61978         Use implementation from Albert Chin, with some
61979         comments/corrections by Stepan Kasal and myself.
61980
61981 2005-12-02  Bruno Haible  <bruno@clisp.org>
61982
61983         * gnulib-tool (func_import): Accept GPLed build tool modules when
61984         --lgpl is given.
61985         * modules/csharpcomp-script: New file.
61986         * modules/csharpcomp: Depend on it.
61987         * modules/javacomp-script: New file.
61988         * modules/javacomp: Depend on it.
61989         Suggested by Simon Josefsson.
61990
61991 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61992
61993         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
61994         statement, to work around an HP-UX 10.20 compiler bug reported by
61995         Peter O'Gorman.
61996
61997 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61998
61999         * modules/savedir (Depends-on): Add openat.
62000
62001 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62002
62003         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
62004         (uintmax_t) [defined uintmax_t]: Do not declare.
62005         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
62006         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
62007         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
62008         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
62009         sake of portability to weird hosts that C allows (though we don't
62010         know of any practical examples).
62011
62012         * lib/savedir.h (fdsavedir): New decl.
62013         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
62014         contains most of the former guts of savedir.
62015         (savedir): Use savedirstream.
62016         Include "openat.h".
62017
62018 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62019
62020         * modules/obstack (Files): Add m4/ulonglong.m4.
62021         Problem reported by Davide Angelocola.
62022
62023 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62024
62025         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
62026         coreutils no longer futzes with rounding modes.
62027
62028 2005-11-14  Jim Meyering  <jim@meyering.net>
62029
62030         * lib/mkstemp-safer.c: Include <config.h>, required for possible
62031         replacement of mkstemp.
62032
62033 2005-11-10  Simon Josefsson  <jas@extundo.com>
62034
62035         * lib/readline.c: Remove EOL.
62036
62037 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62038
62039         * modules/gethrxtime (Depends-on): Add gettime.
62040
62041 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
62044         or gettimeofday; no longer needed.
62045
62046 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62047
62048         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
62049         time business.
62050         (gethrxtime) [! (HAVE_NANOUPTIME
62051         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
62052         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
62053         our own approximation.
62054
62055 2005-11-08  Eric Blake  <ebb9@byu.net>
62056
62057         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62058
62059 2005-11-08  Eric Blake  <ebb9@byu.net>
62060
62061         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62062
62063 2005-11-04  Bruno Haible  <bruno@clisp.org>
62064
62065         * gnulib-tool: Implement --update mode.
62066
62067 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62068
62069         Fix porting problem reported by Theodoros V. Kalamatianos.
62070         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
62071         Don't assume that futimes failing means we must fail.
62072
62073 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62074
62075         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
62076         variables to suggest the intended function of the PATH_MAX check.
62077
62078 2005-10-30  Kean Johnston  <jkj@sco.com>
62079
62080         Trivial changes to support SCO systems.
62081         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
62082         as PATH_MAX.
62083         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
62084         where __ptr is null when no I/O is pending.
62085
62086 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62087
62088         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
62089         leave errno alone.  Problem reported by Dmitry V. Levin.
62090
62091 2005-10-28  Simon Josefsson  <jas@extundo.com>
62092
62093         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
62094         Test more.
62095
62096         * tests/test-gc-md2.c, tests/test-md2.c: New files.
62097
62098         * modules/md2, modules/md2-tests: New files.
62099
62100 2005-10-28  Simon Josefsson  <jas@extundo.com>
62101
62102         * m4/inet_ntop.m4: More tests.
62103
62104         * m4/gc-md2.m4, md2.m4: New file.
62105
62106 2005-10-28  Simon Josefsson  <jas@extundo.com>
62107
62108         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
62109         "restrict" keywords, as per POSIX.  Protect the function
62110         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
62111         Don't use K&R prototypes.  Check the sprintf return values.
62112         Re-define EAFNOSUPPORT if not present.  Indent.
62113
62114         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
62115         suggested by Bruno Haible <bruno@clisp.org>.
62116
62117         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
62118
62119         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
62120
62121         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
62122         libgcrypt).
62123
62124         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
62125
62126         * lib/md2.h, lib/md2.c: New files.
62127
62128 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
62129
62130         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
62131         errno alone.  Problem reported by Frederic Jolliton.
62132
62133 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62134
62135         * modules/verify (License): Change from GPL to LGPL.  This is a
62136         tiny module and there are apparently near-equivalents that are
62137         under the BSD license.
62138
62139 2005-10-24  Simon Josefsson  <jas@extundo.com>
62140
62141         * modules/sha1: Relicense to LGPL.
62142
62143 2005-10-24  Simon Josefsson  <jas@extundo.com>
62144
62145         * lib/md4.h: Shrink buffer size, now that we changed the type.
62146
62147 2005-10-23  Simon Josefsson  <jas@extundo.com>
62148
62149         * gnulib-tool (func_import): Fix --tests-base.
62150
62151 2005-10-22  Simon Josefsson  <jas@extundo.com>
62152
62153         * modules/arcfour (Depends-on): Need stdint.
62154
62155 2005-10-22  Simon Josefsson  <jas@extundo.com>
62156
62157         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
62158         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
62159
62160 2005-10-22  Simon Josefsson  <jas@extundo.com>
62161
62162         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
62163         suggested by Bruno Haible <bruno@clisp.org>.
62164
62165 2005-10-22  Simon Josefsson  <jas@extundo.com>
62166
62167         * lib/crc.h: Include stddef.h, for size_t.
62168
62169 2005-10-22  Simon Josefsson  <jas@extundo.com>
62170
62171         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
62172         arcfour_context struct (simplify test vector testing in GNU
62173         Shishi).
62174
62175 2005-10-21  Simon Josefsson  <jas@extundo.com>
62176
62177         * modules/des, modules/des-tests: New files.
62178
62179         * modules/gc-des, modules/gc-des-tests: New files.
62180
62181         * tests/test-des.c, tests/test-gc-des.c: New file.
62182
62183 2005-10-21  Simon Josefsson  <jas@extundo.com>
62184
62185         * modules/arctwo, modules/arctwo-tests: New files.
62186
62187         * tests/test-arctwo.c: New file.
62188
62189         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
62190
62191         * tests/test-gc-arctwo.c: New file.
62192
62193 2005-10-21  Simon Josefsson  <jas@extundo.com>
62194
62195         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
62196         Bruno Haible <bruno@clisp.org>.
62197
62198         * m4/gc-des.m4: New file.
62199
62200 2005-10-21  Simon Josefsson  <jas@extundo.com>
62201
62202         * m4/arctwo.m4: New file.
62203
62204         * m4/gc-arctwo.m4: New file.
62205
62206 2005-10-21  Simon Josefsson  <jas@extundo.com>
62207
62208         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
62209         block.
62210
62211 2005-10-21  Simon Josefsson  <jas@extundo.com>
62212
62213         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
62214         <bruno@clisp.org>.
62215
62216         * lib/hmac-sha1.c (hmac_sha1): Likewise.
62217
62218         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
62219         Bruno Haible <bruno@clisp.org>.
62220
62221         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
62222         <bruno@clisp.org>.
62223
62224 2005-10-21  Simon Josefsson  <jas@extundo.com>
62225
62226         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
62227
62228 2005-10-21  Simon Josefsson  <jas@extundo.com>
62229
62230         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
62231
62232 2005-10-21  Simon Josefsson  <jas@extundo.com>
62233
62234         * lib/des.h, lib/des.c: New files.
62235
62236         * lib/gc-gnulib.c: Support DES.c
62237
62238 2005-10-21  Simon Josefsson  <jas@extundo.com>
62239
62240         * lib/arctwo.h, lib/arctwo.c: New files.
62241
62242         * lib/gc-gnulib.c: Support ARCTWO.
62243
62244 2005-10-21  Simon Josefsson  <jas@extundo.com>
62245
62246         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
62247         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62248
62249 2005-10-21  Simon Josefsson  <jas@extundo.com>
62250
62251         * gnulib-tool (func_import, func_create_testdir): Define automake
62252         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
62253         Makefile.am snippet),
62254         suggested by Bruno Haible <bruno@clisp.org>.
62255
62256         * modules/gc (Makefile.am): Use it.
62257
62258 2005-10-21  Bruno Haible  <bruno@clisp.org>
62259
62260         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
62261         patch.
62262
62263 2005-10-19  Simon Josefsson  <jas@extundo.com>
62264
62265         * tests/test-gc-rijndael.c: New file.
62266
62267         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
62268
62269 2005-10-19  Simon Josefsson  <jas@extundo.com>
62270
62271         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
62272         interface too.
62273
62274 2005-10-19  Simon Josefsson  <jas@extundo.com>
62275
62276         * tests/test-gc-arcfour.c: New file.
62277
62278         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
62279
62280 2005-10-19  Simon Josefsson  <jas@extundo.com>
62281
62282         * modules/gc-md4, modules/gc-md4-tests: New file.
62283
62284         * tests/test-gc-md4.c: New file.
62285
62286 2005-10-19  Simon Josefsson  <jas@extundo.com>
62287
62288         * m4/gc-md4.m4: New file.
62289
62290 2005-10-19  Simon Josefsson  <jas@extundo.com>
62291
62292         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
62293         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
62294         <kasal@ucw.cz>.
62295
62296 2005-10-19  Simon Josefsson  <jas@extundo.com>
62297
62298         * m4/gc-arcfour.m4: New file.
62299
62300         * m4/gc-rijndael.m4: New file.
62301
62302 2005-10-19  Simon Josefsson  <jas@extundo.com>
62303
62304         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
62305
62306 2005-10-19  Simon Josefsson  <jas@extundo.com>
62307
62308         * lib/gc-gnulib.c: Support ARCFOUR.
62309
62310 2005-10-19  Simon Josefsson  <jas@extundo.com>
62311
62312         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
62313         support.
62314
62315         * lib/gc.h: Add ECB enum type.
62316
62317         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
62318
62319 2005-10-18  Simon Josefsson  <jas@extundo.com>
62320
62321         * tests/test-md5.c: New file.
62322
62323         * modules/md5-tests: New file.
62324
62325 2005-10-18  Simon Josefsson  <jas@extundo.com>
62326
62327         * tests/test-md4.c: New file.
62328
62329         * modules/md4, modules/md4-tests: New files.
62330
62331 2005-10-18  Simon Josefsson  <jas@extundo.com>
62332
62333         * m4/md4.m4: New file.
62334
62335 2005-10-18  Simon Josefsson  <jas@extundo.com>
62336
62337         * lib/md4.h, lib/md4.c: New files, based on md5.?.
62338
62339 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
62340
62341         * gnulib-tool (func_create_testdir): Omit the second check whether
62342         BUILT_SOURCES in nonempty.
62343
62344 2005-10-17  Simon Josefsson  <jas@extundo.com>
62345
62346         * tests/test-rijndael.c: New file.
62347
62348 2005-10-17  Simon Josefsson  <jas@extundo.com>
62349
62350         * modules/sha1: Depend on stdint instead of md5.
62351
62352         * modules/md5: Depend on stdint, remove uint32_t.
62353
62354 2005-10-17  Simon Josefsson  <jas@extundo.com>
62355
62356         * modules/gc-sha1-tests: New file.
62357
62358         * tests/test-gc-sha1.c: New file.
62359
62360 2005-10-17  Simon Josefsson  <jas@extundo.com>
62361
62362         * m4/md5.m4: Remove call to uint32_t.m4.
62363
62364 2005-10-17  Simon Josefsson  <jas@extundo.com>
62365
62366         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
62367
62368         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
62369         md5.h.
62370
62371         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
62372
62373         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
62374
62375 2005-10-17  Simon Josefsson  <jas@extundo.com>
62376
62377         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
62378
62379 2005-10-17  Simon Josefsson  <jas@extundo.com>
62380
62381         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
62382
62383 2005-10-17  Simon Josefsson  <jas@extundo.com>
62384
62385         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
62386
62387         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
62388
62389 2005-10-17  Bruno Haible  <bruno@clisp.org>
62390
62391         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
62392         that it can also be used in a test.
62393
62394 2005-10-16  Bruno Haible  <bruno@clisp.org>
62395
62396         * gnulib-tool (func_emit_tests_Makefile_am): Also define
62397         TESTS_ENVIRONMENT, so that individual tests can augment it.
62398
62399         * gnulib-tool (func_create_testdir): Use an intermediate target for
62400         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
62401         macros, like $(ALLOCA_H), which cannot be passed through the command
62402         line.
62403
62404 2005-10-15  Simon Josefsson  <jas@extundo.com>
62405
62406         * modules/rijndael-tests: New file.
62407
62408         * modules/rijndael: New file.
62409
62410 2005-10-15  Simon Josefsson  <jas@extundo.com>
62411
62412         * m4/rijndael.m4: New file.
62413
62414 2005-10-15  Simon Josefsson  <jas@extundo.com>
62415
62416         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
62417
62418         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
62419
62420 2005-10-14  Simon Josefsson  <jas@extundo.com>
62421
62422         * tests/test-arcfour.c: New file.
62423
62424         * modules/arcfour, modules/arcfour-tests: New files.
62425
62426 2005-10-14  Simon Josefsson  <jas@extundo.com>
62427
62428         * m4/arcfour.m4: New file.
62429
62430 2005-10-14  Simon Josefsson  <jas@extundo.com>
62431
62432         * lib/arcfour.h, lib/arcfour.c: New files.
62433
62434 2005-10-14  Roland McGrath  <roland@redhat.com>
62435
62436         Import from libc.  [BZ #1331]
62437         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
62438         macro argument.
62439         Reported by Matej Vela <vela@debian.org>.
62440
62441 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62442
62443         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
62444         include <wchar.h>; no longer needed.
62445
62446 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62447
62448         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
62449
62450 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
62451         and  Ulrich Drepper  <drepper@redhat.com>
62452
62453         Import from libc.
62454         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
62455         instead of inline stream orientation test and two separate
62456         function calls.  Pay no attention to USE_IN_LIBIO.
62457
62458 2005-10-13  Simon Josefsson  <jas@extundo.com>
62459
62460         * modules/gc-hmac-md5-tests: New file.
62461
62462         * tests/test-gc-hmac-sha1.c: New file.
62463
62464         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
62465
62466         * modules/gc-hmac-md5-tests: New file.
62467
62468         * tests/test-gc-md5.c: New file.
62469
62470         * modules/gc-md5-tests: New file.
62471
62472 2005-10-13  Simon Josefsson  <jas@extundo.com>
62473
62474         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
62475         Move memory allocation outside of loop.
62476
62477 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
62478
62479         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
62480         intermediate directory is in a read-only file system.  Problem
62481         reported by Eric Blake.
62482
62483 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
62484
62485         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
62486
62487 2005-10-12  Simon Josefsson  <jas@extundo.com>
62488
62489         * tests/test-hmac-sha1.c: New file.
62490
62491         * modules/hmac-sha1-tests: New file.
62492
62493         * modules/hmac-sha1: New file.
62494
62495 2005-10-12  Simon Josefsson  <jas@extundo.com>
62496
62497         * modules/gc-sha1: New file.
62498
62499 2005-10-12  Simon Josefsson  <jas@extundo.com>
62500
62501         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
62502
62503         * tests/test-gc-pbkdf2-sha1.c: New file.
62504
62505 2005-10-12  Simon Josefsson  <jas@extundo.com>
62506
62507         * modules/gc-md5, modules/gc-hmac-md5: New files.
62508
62509         * modules/gc (Files): Remove md5, memxor and hmac files.
62510
62511 2005-10-12  Simon Josefsson  <jas@extundo.com>
62512
62513         * m4/gc-pbkdf2-sha1.m4: New file.
62514
62515         * m4/gc-hmac-sha1.m4: New file.
62516
62517         * m4/gc-sha1: New file.
62518
62519         * m4/hmac-sha1.m4: New file.
62520
62521 2005-10-12  Simon Josefsson  <jas@extundo.com>
62522
62523         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
62524
62525         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
62526
62527 2005-10-12  Simon Josefsson  <jas@extundo.com>
62528
62529         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
62530         suggested by Bruno Haible <bruno@clisp.org>.
62531
62532 2005-10-12  Simon Josefsson  <jas@extundo.com>
62533
62534         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
62535
62536 2005-10-12  Simon Josefsson  <jas@extundo.com>
62537
62538         * lib/gc-pbkdf2-sha1.c: New file.
62539
62540         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
62541
62542 2005-10-12  Simon Josefsson  <jas@extundo.com>
62543
62544         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
62545
62546         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
62547
62548 2005-10-12  Simon Josefsson  <jas@extundo.com>
62549
62550         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
62551         GC_USE_HMAC_MD5, respectively.
62552
62553         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
62554         (gc_md5): Fix typo.
62555
62556         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
62557
62558         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
62559
62560         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
62561
62562 2005-10-12  Bruno Haible  <bruno@clisp.org>
62563
62564         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
62565         Reported by Stepan Kasal <kasal@ucw.cz>.
62566
62567 2005-10-11  Simon Josefsson  <jas@extundo.com>
62568
62569         * tests/test-crc.c: New file.
62570
62571         * modules/crc, modules/crc-tests: New files.
62572
62573 2005-10-11  Simon Josefsson  <jas@extundo.com>
62574
62575         * m4/crc.m4: New file.
62576
62577 2005-10-11  Simon Josefsson  <jas@extundo.com>
62578
62579         * lib/gc.h: Add gc_hash and gc_hash_buffer.
62580
62581         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
62582
62583         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
62584
62585 2005-10-11  Simon Josefsson  <jas@extundo.com>
62586
62587         * lib/crc.h, lib/crc.c: New files.
62588
62589         * lib/gc.h (gc_hash_buffer): Add doc.
62590
62591 2005-10-11  Bruno Haible  <bruno@clisp.org>
62592
62593         * modules/c-strcasestr: New file.
62594         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
62595
62596 2005-10-11  Bruno Haible  <bruno@clisp.org>
62597
62598         * modules/c-strcase: New file.
62599         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
62600
62601 2005-10-11  Bruno Haible  <bruno@clisp.org>
62602
62603         * lib/strcasecmp.c: Include limits.h.
62604         (strcasecmp): Avoid integer overflow on exotic platforms.
62605         * lib/strncasecmp.c: Include limits.h.
62606         (strncasecmp): Avoid integer overflow on exotic platforms.
62607         Reported by Paul Eggert.
62608
62609 2005-10-11  Bruno Haible  <bruno@clisp.org>
62610
62611         * lib/c-strcasestr.h: New file, from GNU gettext.
62612         * lib/c-strcasestr.c: New file, from GNU gettext.
62613
62614 2005-10-11  Bruno Haible  <bruno@clisp.org>
62615
62616         * lib/c-strcase.h: New file, from GNU gettext.
62617         * lib/c-strcasecmp.c: New file, from GNU gettext.
62618         * lib/c-strncasecmp.c: New file, from GNU gettext.
62619
62620 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62621
62622         * modules/mempcpy (License): GPL -> LGPL.
62623         * modules/strchrnul (License): Likewise.
62624         * modules/sysexits (License): Likewise.
62625
62626 2005-10-08  Simon Josefsson  <jas@extundo.com>
62627
62628         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
62629
62630 2005-10-07  Simon Josefsson  <jas@extundo.com>
62631
62632         * m4/memxor.m4: Remove gl_C_RESTRICT call.
62633
62634 2005-10-06  Simon Josefsson  <jas@extundo.com>
62635
62636         * tests/test-hmac-md5.c: New file.
62637
62638         * modules/hmac-md5-tests: New file.
62639
62640         * modules/hmac-md5: New file.
62641
62642 2005-10-06  Simon Josefsson  <jas@extundo.com>
62643
62644         * m4/hmac-md5.m4: New file.
62645
62646         * m4/memxor.m4: Require gl_C_RESTRICT.
62647
62648 2005-10-06  Simon Josefsson  <jas@extundo.com>
62649
62650         * lib/memxor.c (memxor): Avoid casts and warnings.
62651
62652 2005-10-06  Simon Josefsson  <jas@extundo.com>
62653
62654         * lib/hmac-md5.c: New file.
62655
62656         * lib/hmac.h: New file.
62657
62658 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62659
62660         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
62661         promotes to int, not unsigned int, to catch the AIX 5.3
62662         compiler bug.
62663
62664 2005-10-05  Simon Josefsson  <jas@extundo.com>
62665
62666         * modules/memxor: New file.
62667
62668         * modules/iconv (Files): Move config.rpath to havelib, it is used
62669         there.
62670
62671         * modules/havelib (Files): Add config.rpath.
62672
62673 2005-10-05  Simon Josefsson  <jas@extundo.com>
62674
62675         * m4/memxor.m4: New file.
62676
62677 2005-10-05  Simon Josefsson  <jas@extundo.com>
62678
62679         * lib/memxor.c (memxor): Fix compiler error.
62680
62681         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
62682         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
62683
62684         * lib/memxor.h, lib/memxor.c: New files.
62685
62686         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62687         we assume all systems have it, suggested by Jim Meyering
62688         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62689         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62690         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62691         same reasons.
62692
62693 2005-10-05  Simon Josefsson  <jas@extundo.com>
62694
62695         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62696
62697 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62698
62699         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62700         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62701         needed, since the source code now assumes these .h files.
62702
62703 2005-10-05  Derek Price  <derek@ximbiot.com>
62704
62705         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62706
62707 2005-10-05  Bruno Haible  <bruno@clisp.org>
62708
62709         * modules/stdint (License): Change to LGPL.
62710
62711 2005-10-04  Simon Josefsson  <jas@extundo.com>
62712
62713         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62714         D. Baushke" <mdb@gnu.org>.
62715
62716 2005-10-04  Bruno Haible  <bruno@clisp.org>
62717
62718         * lib/verify.h (verify_true): Provide alternative definition for C++.
62719
62720 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62721
62722         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62723         (SSIZE_MAX): New macro, if not already defined.
62724         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62725         than 2 GiB.
62726
62727 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62728
62729         Sync from coreutils.
62730         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62731         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62732         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62733         ULLONG_MAX doesn't work with 2.7.2.1.
62734
62735 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62736
62737         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62738         From Ben Pfaff.
62739
62740         * modules/exclude (Depends-on): Depend on verify.
62741         * modules/strtoimax (Depends-on): Likewise.
62742         * modules/utimecmp (Depends-on): Likewise.
62743
62744 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62745
62746         * lib/exclude.c: Include verify.h.
62747         (verify): Remove.  All callers changed to use verify.h's version.
62748         * lib/strtoimax.c: Likewise.
62749         * lib/utimecmp.c: Likewis.e
62750
62751         Sync from coreutils.
62752         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62753         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62754         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62755         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62756         bother returning ENOSYS if settimeofday or stime fails; just let
62757         them return whatever errno they want to return.
62758         * lib/utimens.c: Include unistd.h, for dup2.
62759         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62760         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62761
62762 2005-10-02  Jim Meyering  <jim@meyering.net>
62763
62764         Sync from coreutils.
62765         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62766         from glibc-2.2.5 that fails for read-only files.
62767
62768 2005-10-02  Jim Meyering  <jim@meyering.net>
62769
62770         Sync from coreutils.
62771         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62772         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62773         `#if HAVE_CONFIG_H'.
62774         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62775         Remove AT_FDCWD test.
62776         Do not consume the fd unless successful.
62777         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62778         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62779         block, so that we don't even try to compile it if settimeofday is
62780         available.  This works around a compilation failure on OSF1 V5.1,
62781         due to stime requiring a `long int*' while tv_sec is `int'.
62782
62783 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62784
62785         Sync from coreutils.
62786         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62787         against `yes', rather than just testing for nonempty.
62788
62789 2005-10-01  Simon Josefsson  <jas@extundo.com>
62790
62791         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62792         and Darwin.
62793
62794         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62795         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62796         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62797         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62798         Check if struct addrinfo is declared.
62799
62800 2005-10-01  Simon Josefsson  <jas@extundo.com>
62801
62802         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62803         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62804         AI_* and EAI_* definitions.  Protect function declarations.
62805
62806 2005-10-01  Jim Meyering  <jim@meyering.net>
62807
62808         Sync from coreutils.
62809
62810         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62811         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62812         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62813         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62814         in the inet and nsl libraries.  Required on Solaris 5.7.
62815
62816 2005-10-01  Jim Meyering  <jim@meyering.net>
62817
62818         Sync from coreutils.
62819         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62820         in the inet and nsl libraries.  Required on Solaris 5.7.
62821
62822 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62823
62824         * lib/getdelim.c (getdelim): Remove unused variables.
62825
62826 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62827
62828         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62829         so that the code works even with ancient cpp.  Portability problem
62830         with GCC 2.7.2.1 reported by Thomas M.Ott.
62831
62832 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62833
62834         * modules/regex (Depends-on): Add strcase.
62835
62836         * modules/gethostname (Licence): Change from GPL to LGPL, since
62837         gethostname.c is a trivial implementation of a standard library
62838         function.
62839         * modules/poll (License): Change from GPL to LGPL, since it's
62840         derived from LGPL code.
62841
62842 2005-09-27  Jim Meyering  <jim@meyering.net>
62843
62844         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62845         HAVE_CONFIG_H.
62846
62847         * lib/intprops.h (signed_type_or_expr__): Define.
62848         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62849         for unsigned types.
62850
62851 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62852
62853         * lib/verify.h (verify_expr): Remove, replacing with:
62854         (verify_true): New macro that returns true instead of void.
62855         (verify_type__): Remove.
62856         (verify): Use verify_true rather than verify_type__.
62857
62858 2005-09-26  Bruno Haible  <bruno@clisp.org>
62859
62860         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62861         is necessary.
62862         (lib_SOURCES): Remove mbchar.c.
62863         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62864         (Files): Add m4/mbrtowc.m4.
62865         * modules/mbiter: Likewise.
62866         * modules/mbuiter: Likewise.
62867
62868 2005-09-26  Bruno Haible  <bruno@clisp.org>
62869
62870         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62871         compile mbchar.c if they are not both present.
62872         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62873         * m4/mbiter.m4 (gl_MBITER): Likewise.
62874         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62875         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62876         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62877
62878 2005-09-25  Jim Meyering  <jim@meyering.net>
62879
62880         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62881         also uses socklen_t.
62882
62883 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62884
62885         * lib/utimens.c (ENOSYS): Define if not already defined.
62886         (futimens): Support having a null PATH if the file descriptor
62887         is nonnegative.
62888
62889         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62890         Remove.
62891         (__attribute): Define to empty unless GCC 3.1 or later.
62892         This works around a core dump on OpenBSD 3.4, which has GCC
62893         2.95.3, which dumps core when given __attribute__(()).  It also
62894         simplifies other tests, since we really don't want to bother with
62895         worrying about which ancient version of GCC supported what.
62896         Original problem reported by Yoann Vandoorselaere, with part of
62897         the fix suggested by Derek Price.
62898
62899 2005-09-24  Jim Meyering  <jim@meyering.net>
62900
62901         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62902         so we can once again use a positive bitfield width of 1 -- now we
62903         don't have to explain why we were using a bitfield width of 2.
62904
62905 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62906
62907         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62908         and similarly for the other external symbols.  Problem reported
62909         by James Gallager.
62910
62911         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62912         bug reported by Jim Meyering.
62913
62914         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62915         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62916         not needed, since socklen is a prerequisite module.
62917
62918 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62919
62920         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
62921         Problem reported by Eric Blake.
62922         (getaddrinfo): Initialize se so that it's not garbage.
62923         Redo internal storage allocation so that it doesn't make unportable
62924         assumptions about alignment.
62925         Fix a memory leak.
62926
62927         * lib/utimens.c (futimens): Use futimesat if available.
62928         Prefer it to futimes since it doesn't have the futimes bug.
62929
62930         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
62931         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
62932         Instead, declare a function that returns a pointer to an array,
62933         and use verify_type__ to declare the size of the array.
62934         Problem and germ of a solution reported by Bruno Haible.
62935         (verify_type__): Use 2, not 1, for bitfield size, to avoid
62936         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
62937
62938 2005-09-23  Jim Meyering  <jim@meyering.net>
62939
62940         Sync from coreutils.
62941         Correct build failure (socklen_t not defined) on at least
62942         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
62943         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
62944
62945 2005-09-23  Jim Meyering  <jim@meyering.net>
62946
62947         * modules/getaddrinfo (Depends-on): Add socklen.
62948
62949 2005-09-23  Bruno Haible  <bruno@clisp.org>
62950
62951         * tests/test-verify.c: New file.
62952
62953 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62954
62955         Sync from coreutils.
62956
62957         * modules/argmatch (Depends-on): Add verify.
62958         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
62959         unistd-safer.
62960         * modules/save-cwd (Depends-on): Likewise.
62961
62962         * modules/openat (Files): Add lib/openat-die.c.
62963         (Depends-on): Remove error, exitfail.
62964         Add dirname.
62965
62966         * modules/verify: New file.
62967         * MODULES.html.sh (Diagnostics <assert.h>): New section,
62968         with "verify" module.
62969
62970 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62971
62972         Sync from coreutils.
62973
62974         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
62975         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
62976         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
62977         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
62978         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
62979         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
62980         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
62981         Don't bother checking for string.h, stdlib.h, unistd.h.
62982         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
62983         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
62984         module's job.
62985         * m4/jm-macros.m4 (gl_MACROS): Likewise.
62986         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
62987
62988         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
62989         (gl_GETDATE): Use it.
62990
62991         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
62992
62993 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62994
62995         Sync from coreutils.
62996
62997         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
62998         stat-time.h.
62999         * lib/argmatch.h: Include verify.h
63000         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
63001         (ARGMATCH_ASSERT): Remove; unused.
63002         * lib/canonicalize.c: Assume STDC_HEADERS.
63003         * lib/exclude.c: Include "strcase.h".
63004         * lib/regex_internal.h [!defined _LIBC]: Likewise.
63005         * lib/getusershell.c: Include stdio--.h rather than stdio.h
63006         and stdio-safer.h.
63007         (getusershell): Call fopen, not fopen_safer.
63008         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
63009         Do not include unistd-safer.h.
63010         (save_cwd): Don't call fd_safer; no longer needed
63011         now that we include fcntl--.h.
63012
63013         * lib/getdate.y (relative_time): New type.
63014         (RELATIVE_TIME_0): New constant.
63015         (parser_control): Use relative_time instead of doing it ourselves.
63016         (%union): Add new relative_time rel member.
63017         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
63018         Now typeless.
63019         (relunit, relunit_snumber): Now of type rel.
63020         (zone, rel, relunit, get_date): Adjust to above changes.
63021
63022         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
63023         Do not include unistd-safer.h.
63024         (getloadavg): Don't call fd_safer; no longer needed
63025         now that we include fcntl--.h.
63026
63027         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
63028         (make_dir_parents): Treat ENOSYS like EEXIST.
63029
63030         Improve quality of diagnostics on restore_cwd failure.
63031         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
63032         (make_dir_parents): Last arg is now int * (for errno), not bool *.
63033         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
63034         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
63035         each time through the loop.  Do not diagnose restore_cwd failure;
63036         that is the caller's job (and perhaps the caller does not care).
63037
63038         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
63039         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
63040         If the file already exists but is not a directory, don't bother
63041         to try to make its parents.
63042         Close potential file descriptor leak if we can't chdir("/") (!).
63043         Don't always return true if chdir($PWD) fails; return true only
63044         if the requested action was done successfully (except for the
63045         chdir($PWD)).
63046         Don't log final directory unless we actually made it.
63047         Refactor to avoid duplicate code to fix up permissions.
63048         Don't attempt to fix up parent permissions if chdir($PWD) fails.
63049
63050         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
63051         to make it a bit faster and (I hope) clearer.
63052         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
63053         Fix bug in formats like %2N.
63054
63055         * lib/verify.h: New file.
63056
63057 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63058
63059         Sync from coreutils.
63060         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
63061
63062 2005-09-22  Jim Meyering  <jim@meyering.net>
63063
63064         Sync from coreutils.
63065
63066         * m4/lstat.m4 (gl_FUNC_LSTAT):
63067         Use AC_LIBSOURCES to require lstat.c and lstat.h.
63068         Remove obsolete comment.
63069         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
63070         * m4/xstrtod.m4: Likewise.
63071
63072         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
63073
63074 2005-09-22  Jim Meyering  <jim@meyering.net>
63075
63076         Sync from coreutils.
63077
63078         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
63079
63080         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
63081         the .tm_year member, since otherwise gcc-4.0 would now warn about
63082         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
63083
63084         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
63085         order to avoid an unsuppressible warning from gcc on 64-bit systems.
63086
63087         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
63088         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
63089         when run in a time zone for which daylight savings time is in effect
63090         for the starting date.
63091
63092         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
63093         stop us from restricting permissions of just-created absolute-named
63094         directories.
63095         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
63096         to restore initial working directory.
63097         * lib/mkdir-p.c (make_dir_parents): New parameter:
63098         different_working_dir, to tell caller if/when we change the working
63099         directory and are unable to return to the initial one.
63100         * lib/mkdir-p.h (make_dir_parents): Update prototype.
63101         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
63102         `return false'.  This fixes a bug introduced on 2004-07-30.
63103
63104         * lib/openat.c (fdopendir): Be sure to close the supplied
63105         file descriptor before returning.  This makes our replacement
63106         implementation a little closer to Solaris's, where fdopendir
63107         ties the file descriptor to the returned DIR* pointer.
63108         * lib/openat.c (unlinkat): New function.
63109         * lib/openat.h (unlinkat): Add prototype.
63110         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
63111         (openat_restore_fail): Rename from openat_restore_die.
63112         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
63113
63114         Provide an alternative to exiting immediately upon save_cwd or
63115         restore_cwd failure.  Now, an application can arrange e.g.,
63116         to perform a longjump in that case.
63117         * lib/openat.c: Include dirname.h.
63118         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
63119         (rpl_openat, fdopendir, fstatat): Call openat_save_die
63120         and openat_restore_die rather than calling error directly.
63121         Don't include "error.h" or "exitfail.h"; they're no longer needed.
63122
63123         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
63124         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
63125         define.
63126
63127         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
63128         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
63129                             int utc, int nanoseconds);
63130         Background:
63131         date should not have to allocate a megabyte of virtual memory to
63132         handle a format argument like +%1048575T.  When implemented with
63133         strftime, it must allocate such a buffer, use strftime to fill it
63134         in, print it, then free it.
63135         With fprintftime, it simply prints everything and exits.
63136         With no need for memory allocation, that's one fewer way to fail.
63137         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
63138         optional field width, not before, so we accept %9:z, not %:9z.
63139         (my_strftime): Be sure to use L_('x') for literals.
63140
63141         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
63142         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
63143         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
63144         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
63145         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
63146         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
63147         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
63148         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
63149         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
63150         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
63151         * lib/xgethostname.c, lib/xreadlink.c:
63152         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
63153
63154         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
63155         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
63156         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
63157         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63158         and don't include <sys/file.h>).
63159
63160 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
63161
63162         Sync from coreutils.
63163
63164         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
63165         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
63166         [!LDAV_DONE]: Avoid unused variable warning.
63167
63168 2005-09-21  Bruno Haible  <bruno@clisp.org>
63169
63170         * lib/unicodeio.h (unicode_to_mb): New declaration.
63171
63172 2005-09-20  Derek Price  <derek@ximbiot.com>
63173
63174         * lib/getaddrinfo.c: Don't include <netdb.h> included from
63175         getaddrinfo.h.
63176
63177 2005-09-20  Bruno Haible  <bruno@clisp.org>
63178
63179         * gnulib-tool: Remove trailing slashes from the values specified for
63180         --source-base, --m4-base, --tests-base, --aux-dir.
63181         Suggested by Simon Josefsson <jas@extundo.com>.
63182
63183 2005-09-20  Bruno Haible  <bruno@clisp.org>
63184
63185         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
63186         func_modules_to_filelist, func_import, func_create_testdir): Make all
63187         sorting results locale-independent, so that gnulib-cache.m4 doesn't
63188         change when gnulib-tool is invoked in a different locale.
63189
63190 2005-09-19  Simon Josefsson  <jas@extundo.com>
63191
63192         * m4/socklen.m4: Fix typo.
63193
63194 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63195
63196         Use a consistent style for including <config.h>.
63197         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
63198         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
63199         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
63200         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
63201         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
63202         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
63203         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
63204         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
63205         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
63206         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
63207         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
63208         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
63209         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
63210         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
63211         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
63212         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
63213         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
63214         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
63215         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
63216         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
63217         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
63218         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
63219         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
63220         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
63221         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
63222         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
63223         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
63224         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
63225         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
63226         lib/xstrtoumax.c, lib/yesno.c:
63227         Standardize inclusion of config.h.
63228         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
63229         lib/inttostr.h:  Removed inclusion of config.h from header files.
63230         * lib/inttostr.c:  Adjusted in-tree users.
63231         * lib/timespec.h: Remove superfluous warning to include config.h.
63232         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
63233         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
63234         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
63235         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
63236         config.h with HAVE_CONFIG_H.
63237
63238 2005-09-19  Jim Meyering  <jim@meyering.net>
63239
63240         * modules/pathmax (License): Change to LGPL.
63241
63242 2005-09-19  Derek Price  <derek@ximbiot.com>
63243
63244         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
63245
63246 2005-09-19  Bruno Haible  <bruno@clisp.org>
63247
63248         * gnulib-tool (import): Provide default for --tests-base.
63249
63250 2005-09-19  Bruno Haible  <bruno@clisp.org>
63251
63252         * doc/quote.texi: New file, extracted from gnulib.texi.
63253         * doc/ctime.texi: New file, extracted from gnulib.texi.
63254         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
63255         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
63256         * doc/gnulib.texi: Include them.
63257
63258 2005-09-18  Bruno Haible  <bruno@clisp.org>
63259
63260         Portability fix.
63261         * gnulib-tool (func_readlink): New function.
63262         (func_ln_if_changed): Use it.
63263
63264 2005-09-18  Bruno Haible  <bruno@clisp.org>
63265
63266         * gnulib-tool: Support --with-tests also with --import.
63267         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
63268         (func_import): Use variables $testsbase and $inctests. Emit a
63269         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
63270         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
63271         SUBDIRS += $testsdir.
63272         (func_create_testdir): Update.
63273
63274 2005-09-18  Bruno Haible  <bruno@clisp.org>
63275
63276         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
63277         instead of $dry_run.
63278         (func_cp_if_changed, func_mv_if_changed): Remove functions.
63279         (func_ln_if_changed): Don't handle dry-run here.
63280         (func_import): In dry-run mode, detect more precisely which actions
63281         would be performed, and don't use "...ing" verbs.
63282
63283 2005-09-18  Bruno Haible  <bruno@clisp.org>
63284
63285         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
63286         (func_import): Use join on two temporary files instead of three nested
63287         loops, in order to determine which files are new or old.
63288
63289 2005-09-18  Bruno Haible  <bruno@clisp.org>
63290
63291         * gnulib-tool (func_import): Comment out code that spits out the
63292         new files with --dry-run.
63293
63294 2005-09-18  Bruno Haible  <bruno@clisp.org>
63295
63296         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
63297
63298 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63299
63300         * lib/stat-time.h: New file.
63301         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
63302         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
63303         in a different way.
63304         (timespec_cmp): New function.
63305         * lib/utimecmp.c: Include stat-time.h.
63306         (SYSCALL_RESOLUTION): Depend on whether various struct stat
63307         members exist, not on the obsolescent ST_MTIM_NSEC.
63308         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
63309
63310 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63311
63312         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
63313
63314 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63315
63316         * MODULES.html.sh (File system functions): Add stat-time.
63317         * modules/stat-time: New file.
63318         * modules/timespec (Files): Remove m4/st_mtim.m4; this
63319         is now done in a different way, by the stat-time module.
63320         * modules/utimecmp (Depends-on): Add stat-time.
63321
63322 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63323
63324         * m4/st_mtim.m4: Remove.  Superseded by...
63325         * m4/stat-time.m4: New file.
63326         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
63327         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
63328
63329 2005-09-15  Derek Price  <derek@ximbiot.com>
63330
63331         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
63332
63333 2005-09-15  Derek Price  <derek@ximbiot.com>
63334
63335         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
63336         * lib/regex_internal.c: Ditto, using this...
63337         (__GNUC_PREREQ): ...new macro.
63338         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
63339         using...
63340         (__GNUC_PREREQ): ...this new macro.
63341
63342         * lib/strstr.h: Include string.h. Define strstr as a macro here.
63343
63344 2005-09-15  Derek Price  <derek@ximbiot.com>
63345             Paul Eggert  <eggert@cs.ucla.edu>
63346
63347         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
63348         changes, consolidating in...
63349         * lib/regex_internal.h: ...this file.
63350
63351 2005-09-13  Jim Meyering  <jim@meyering.net>
63352
63353         * lib/canon-host.c: Filter through gnu indent and reword comments
63354         slightly.
63355         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
63356
63357 2005-09-13  Derek Price  <derek@ximbiot.com>
63358
63359         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
63360         failure.
63361         Reported by Jim Meyering  <jim@meyering.net>.
63362
63363 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63364
63365         * lib/base64.c: Typo.
63366         (base64_encode): Put b64str in initialized data section.
63367
63368 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
63369
63370         Merge glibc and coreutils changes into gnulib, plus a few
63371         extra fixes.
63372         * lib/md5.c: Use #error rather than a string.
63373         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
63374         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
63375         (__attribute__): Define to empty for non recent-GCC.
63376         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
63377         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
63378         Renamed from their non-__ counterparts, with new macros replacing
63379         them if not _LIBC.  Add __THROW attribute.
63380         (rol): Remove.
63381         (struct md5_ctx): Align buffer if using GCC.
63382         * lib/sha1.h (struct sha1_ctx): Likewise.
63383         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
63384         The old name was backwards.
63385         (NOTSWAP): Remove; not used.
63386         (rol): New macro, moved here from md5.h.
63387         (sha1_process_block): Remove a FIXME that doesn't make sense.
63388
63389 2005-09-12  Derek Price  <derek@ximbiot.com>
63390
63391         Return usable errors from canon-host.
63392         * lib/canon-host.h: New file.
63393         * lib/canon-host.c (canon_host): Wrap...
63394         (canon_host_r): ...this new function, which now relies exclusively on
63395         getaddrinfo.
63396         (ch_strerror): New function.
63397         (last_cherror): New global.
63398         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
63399         interface.
63400         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
63401         void *.
63402         (freeaddrinfo): Free ai->ai_canonname when set.
63403
63404 2005-09-12  Derek Price  <derek@ximbiot.com>
63405
63406         Make canon-host require getaddrinfo.
63407         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
63408         AC_LIBSOURCE canon-host.h.  Call...
63409         (gl_PREREQ_CANON_HOST): ...this new function, which requires
63410         gl_GETADDRINFO.
63411         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
63412
63413 2005-09-12  Derek Price  <derek@ximbiot.com>
63414
63415         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
63416         LGPL.
63417         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
63418
63419 2005-09-12  Derek Price  <derek@ximbiot.com>
63420
63421         * lib/gai_strerror.c: Include config.h when available.  Include
63422         getaddrinfo.h before other headers to test interface.
63423         Reported by Larry Jones <lawrence.jones@ugs.com>.
63424
63425 2005-09-12  Derek Price  <derek@ximbiot.com>
63426             Paul Eggert  <eggert@cs.ucla.edu>
63427
63428         * modules/glob (Files): Add glob-libc.h.
63429
63430 2005-09-12  Derek Price  <derek@ximbiot.com>
63431             Paul Eggert  <eggert@cs.ucla.edu>
63432
63433         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
63434         glob_.h, glob-libc.h.
63435         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
63436
63437 2005-09-12  Derek Price  <derek@ximbiot.com>
63438             Paul Eggert  <eggert@cs.ucla.edu>
63439
63440         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
63441         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
63442         protecting things that should be done only in gnulib contexts.
63443         * lib/glob_.h: New file, containing only the glob things needed for
63444         gnulib.
63445         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
63446         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
63447         (glob, globfree, glob_pattern_p): Now defined simply in terms of
63448         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
63449         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
63450         and to respect the namespace rules better.
63451
63452 2005-09-08  Simon Josefsson  <jas@extundo.com>
63453
63454         * modules/socklen: New file.
63455
63456 2005-09-08  Simon Josefsson  <jas@extundo.com>
63457
63458         * m4/socklen.m4: New file.
63459
63460 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63461
63462         * modules/utimens (Files): Add m4/utimbuf.m4, since
63463         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
63464         Reported by Sergey Poznyakoff.
63465
63466 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63467
63468         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
63469         definitions, since that's the preferred style in glibc.
63470         Fix a minor spacing issue, and update copyright notice to match
63471         glibc's.
63472
63473 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63474
63475         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
63476
63477 2005-09-06  Simon Josefsson  <jas@extundo.com>
63478
63479         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
63480         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
63481
63482 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63483
63484         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
63485         warning.
63486
63487 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63488
63489         * config/srclist.txt: Add glibc bug 1302.
63490
63491 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
63492
63493         Change bitset word type from unsigned int to unsigned long int,
63494         as this has better performance on typical 64-bit hosts.
63495         Port bitset code to hosts with unusual word sizes.
63496         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
63497         (build_collating_symbol):
63498         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
63499         argument is a bitset.  This is merely a style issue, but it makes
63500         it clearer that an entire array is expected.
63501         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
63502         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
63503         Port to the case where bitset_word is not the same as unsigned int.
63504         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63505         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
63506         Likewise.
63507         * lib/regexec.c (check_dst_limits_calc_pos_1,
63508         check_subexp_matching_top):
63509         (build_trtable, group_nodes_into_DFAstates):
63510         Likewise.
63511         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
63512         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
63513         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
63514         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
63515         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
63516         * lib/regcomp.c (optimize_subexps, lower_subexp):
63517         Work even if bitset_word has holes in its bitwise representation.
63518         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
63519         * lib/regexec.c (check_dst_limits_calc_pos_1,
63520         check_subexp_matching_top):
63521         Likewise.
63522         * lib/regex_internal.c (re_string_reconstruct):
63523         Don't assume UCHAR_MAX == 255.
63524         * lib/regex_internal.h (bitset_set_all): Likewise.
63525         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
63526         All uses changed.
63527         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
63528         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
63529         All uses changed.
63530         (BITSET_WORD_MAX): New macro.
63531         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
63532         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
63533         (bitset_empty, bitset_copy):
63534         Prefer sizeof (bitset) to multiplying it out ourselves.
63535         (bitset_not_merge): Remove; unused.
63536         (bitset_contain): Return bool, not unsigned int with one bit on.
63537         All callers changed.
63538         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
63539         alignment than re_node_set; do this by defining a new internal
63540         type struct dests_alloc and using it to allocate memory.
63541
63542 2005-09-05  Bruno Haible  <bruno@clisp.org>
63543
63544         * gnulib-tool (func_import): Fix comparison in handling of symbolic
63545         links.
63546
63547 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
63548
63549         * modules/size_max (Makefile.am): Add size_max.h
63550
63551 2005-09-04  Derek Price  <derek@ximbiot.com>
63552
63553         * gnulib-tool (func_import): Fix reversed $symbolic logic.
63554
63555 2005-09-03  Simon Josefsson  <jas@extundo.com>
63556
63557         * gnulib-tool: Fix typo.
63558
63559 2005-09-03  Simon Josefsson  <jas@extundo.com>
63560
63561         * config/srclist.txt: Add glibc bug 1293.
63562
63563 2005-09-03  Derek Price  <derek@ximbiot.com>
63564
63565         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
63566         From Larry Jones <lawrence.jones@ugs.com>.
63567
63568 2005-09-02  Simon Josefsson  <jas@extundo.com>
63569
63570         * modules/socklen: New file.
63571
63572 2005-09-02  Simon Josefsson  <jas@extundo.com>
63573
63574         * modules/havelib: New module.
63575
63576         * modules/gettext, modules/iconv, modules/lock, modules/readline:
63577         Use havelib.
63578
63579 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63580
63581         Check for arithmetic overflow when calculating sizes, to prevent
63582         some buffer-overflow issues.  These patches are conservative, in the
63583         sense that when I couldn't determine whether an overflow was possible,
63584         I inserted a run-time check.
63585         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
63586         macros.
63587         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
63588         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
63589         (re_xnrealloc, re_x2nrealloc): New inline functions.
63590         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
63591         parse_bracket_exp):
63592         (build_equiv_class, build_charclass): Check for arithmetic overflow
63593         in size expression calculations.
63594         * lib/regex_internal.c (re_string_realloc_buffers):
63595         (build_wcs_upper_buffer, re_node_set_add_intersect):
63596         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
63597         (re_dfa_add_node, register_state): Likewise.
63598         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
63599         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
63600         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
63601         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
63602
63603 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63604
63605         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
63606         m4/ulonglong.m4.  Problem reported by Martin Lambers.
63607
63608 2005-09-02  Bruno Haible  <bruno@clisp.org>
63609
63610         Support for lib vs. lib64 distinction on biarch platforms.
63611         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
63612         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
63613         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
63614
63615 2005-09-02  Bruno Haible  <bruno@clisp.org>
63616
63617         * gnulib-tool (import): In the other first-use case, provide defaults
63618         as well.
63619
63620 2005-09-02  Bruno Haible  <bruno@clisp.org>
63621
63622         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
63623         patches not yet found in the latest gettext release.
63624
63625 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63626
63627         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
63628         to avoid a collision with bits/local_lim.h in glibc.
63629         All uses changed.  Problem reported by Dmitry V. Levin in
63630         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
63631
63632         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
63633         bugs in int versus size_t comparisons.
63634         (re_string_context_at): Fix bug where the code assumed that
63635         Idx is signed.
63636
63637         Use bool where appropriate.
63638         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
63639         All callers changed.
63640         (calc_eclosure_iter): Likewise, for ROOT arg.
63641         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
63642         (build_charclass_op): Likewise, for NON_MATCH arg.
63643         * lib/regex_internal.c (re_string_allocate, re_string_construct):
63644         (re_string_construct_common): Likewise, for ICASE arg.
63645         * lib/regexec.c (re_search_2_stub, re_search_stub):
63646         Likewise, for RET_LEN arg.
63647         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
63648         (set_regs): Likewise, for FL_BACKTRACK arg.
63649         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
63650         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
63651         (calc_eclosure_iter, parse_bracket_exp):
63652         Use bool for internal variables that are booleans.
63653         * lib/regexec.c (re_search_internal, check_matching,
63654         proceed_next_node):
63655         (set_regs, build_sifted_states, sift_states_bkref):
63656         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
63657         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63658         (find_collation_sequence_value):
63659         Likewise.
63660         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
63661         (re_node_set_compare):
63662         Return bool, not int. All callers changed.
63663         * lib/regexec.c (check_halt_node_context, check_dst_limits):
63664         (build_trtable, check_node_accept): Likewise.
63665         * lib/regex_internal.h: Include stdbool.h.
63666
63667         Fix bugs uncovered when converting to bool.
63668         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
63669         failure instead of charging ahead blindly.
63670         * lib/regex_internal.c (register_state): Likewise.
63671         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
63672         for freeing internal storage.
63673         (group_nodes_into_DFA_states): Use unsigned int, not int, for
63674         bitset pieces used as boolean, to avoid undefined behavior
63675         on hosts that do int overflow checking.
63676
63677 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63678
63679         * config/srclist.txt: Add glibc bugs 1285-1287.
63680
63681 2005-09-01  Jim Meyering  <jim@meyering.net>
63682
63683         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
63684         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
63685         Require gl_STAT_MACROS, too.
63686
63687 2005-09-01  Bruno Haible  <bruno@clisp.org>
63688
63689         * gnulib-tool (import): In the first-use case, provide defaults.
63690
63691 2005-09-01  Bruno Haible  <bruno@clisp.org>
63692
63693         * gnulib-tool (func_import): Remove the .tmp files.
63694
63695 2005-09-01  Bruno Haible  <bruno@clisp.org>
63696
63697         * gnulib-tool (func_import): Fix handling of symbolic links.
63698
63699 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63700
63701         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63702         old glibc regex code mishandles strings longer than 2**31 bytes.
63703         This patch fixes this when the regex code is used in gnulib
63704         (i.e., outside glibc).
63705
63706         This patch should not affect the use of the regex code inside
63707         glibc.  No doubt this problem also needs to be handled for glibc
63708         as well, but the result will be an incompatible change to the
63709         glibc ABI, and the old ABI will have to be supported too.  That
63710         can be the the subject for another patch.
63711
63712         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63713         governing whether the rest of this patch is active.  By default,
63714         the macro is disabled and the patch has no effect.
63715         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63716         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63717         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63718         (re_match_2, re_set_registers): Use the new types.
63719         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63720         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63721         New macros.
63722         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63723         (re_string_context_at, bin_tree_t, re_dfastate_t):
63724         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63725         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63726         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63727         (re_string_char_size_at, re_string_wchar_at):
63728         (re_string_elem_size_at):
63729         Use the new types and macros to port to 64-bit hosts.
63730         Use unsigned types for internal values, so that the code
63731         mostly works even for arrays larger than SSIZE_MAX.
63732         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63733         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63734         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63735         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63736         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63737         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63738         (calc_inveclosure, parse_dup_op, build_range_exp):
63739         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63740         (fetch_number, create_token_tree, mark_opt_subexp):
63741         Likewise.
63742         * lib/regex_internal.c (re_string_construct_common,
63743         create_ci_newstate):
63744         (create_cd_newstate, re_string_allocate, re_string_construct):
63745         (re_string_realloc_buffers, build_wcs_upper_buffer):
63746         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63747         (re_string_reconstruct, re_string_peek_byte_case):
63748         (re_string_fetch_byte_case, re_string_context_at):
63749         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63750         (re_node_set_init_copy, re_node_set_add_intersect):
63751         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63752         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63753         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63754         (re_acquire_state, re_acquire_state_context, register_state):
63755         Likewise.
63756         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63757         search_cur_bkref_entry):
63758         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63759         (re_search_internal, re_search_2_stub, re_search_stub)
63760         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63761         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63762         (update_cur_sifted_state, check_dst_limits):
63763         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63764         (check_subexp_limits, sift_states_bkref, merge_state_array):
63765         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63766         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63767         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63768         (expand_bkref_cache, check_node_accept_bytes):
63769         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63770         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63771         (acquire_init_state_context, check_halt_node_context):
63772         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63773         (sift_states_backward, clean_state_log_if_needed):
63774         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63775         (find_recover_state, transit_state_sb, transit_state_mb):
63776         (transit_state_bkref, build_trtable, match_ctx_clean):
63777         Likewise.
63778         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63779         to work around an assumption that REG_MISSING is negative.
63780
63781         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63782         (seek_collating_symbol_entry) [defined _LIBC]:
63783         (lookup_collation_sequence_value) [defined _LIBC]:
63784         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63785         Use prototypes rather than old-style function definitions.
63786         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63787         (transit_state_sb) [0]:
63788         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63789
63790         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63791         rm_eo.
63792
63793         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63794         (optimize_subexps, lower_subexp):
63795         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63796         since the signed shift might overflow.  Use 1u<<31 instead.
63797         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63798         Likewise.
63799         * lib/regexec.c (check_dst_limits_calc_pos_1,
63800         check_subexp_matching_top): Likewise.
63801
63802         * lib/regcomp.c (optimize_subexps, lower_subexp):
63803         Use CHAR_BIT rather than 8, for clarity.
63804         * lib/regexec.c (check_dst_limits_calc_pos_1):
63805         (check_subexp_matching_top): Likewise.
63806         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63807         have to worry about portability issues when shifting it left.
63808         Remove no-longer-needed test for table_size > 0.
63809         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63810         in a word, as the resulting behavior is undefined.
63811         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63812         in one case, a <= should have been an <, and in another case the
63813         whole test was missing.
63814         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63815         the standard name CHAR_BIT.
63816         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63817         this is not true on one's complement and signed-magnitude hosts.
63818
63819         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63820         next_last_offset.
63821         (struct re_dfa_t): Remove unused member states_alloc.
63822         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63823
63824 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63825
63826         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63827         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63828         and large-file glibc and in 32-bit large-file Solaris.
63829
63830 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63831
63832         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63833         lengths fit in regoff_t; this isn't true if regoff_t is the same
63834         width as size_t.
63835         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63836         (= START + RANGE) instead of RANGE.  This avoids overflow
63837         problems when regoff_t is the same width as size_t.
63838         All callers changed.
63839         (re_search_2_stub): Check for overflow when adding the
63840         sizes of the two strings.
63841         (re_search_stub): Check for overflow when adding START
63842         to RANGE; if it occurs, substitute the extreme value.
63843
63844 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63845
63846         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63847
63848 2005-08-31  Jim Meyering  <jim@meyering.net>
63849
63850         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63851         a pointer-to-const.
63852         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63853         (register_state): Likewise.
63854         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63855         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63856         (group_nodes_into_DFAstates): Likewise.
63857
63858 2005-08-31  Jim Meyering  <jim@meyering.net>
63859
63860         * check-module: Add a FIXME comment.
63861
63862 2005-08-31  Eric Blake  <ebb9@byu.net>
63863
63864         * modules/unistd-safer (Files): Add unistd--.h.
63865         * modules/stdio-safer (Files): Add stdio--.h.
63866
63867 2005-08-31  Derek Price  <derek@ximbiot.com>
63868
63869         * lib/getdelim.c (getdelim): Return EOF on EOF.
63870         Reported by Larry Jones <lawrence.jones@ugs.com>.
63871
63872 2005-08-31  Bruno Haible  <bruno@clisp.org>
63873
63874         Avoid unnecessary diffs in the generated lib/Makefile.am.
63875         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63876         the generated files.
63877         (func_import): Don't set cmd.
63878
63879 2005-08-31  Bruno Haible  <bruno@clisp.org>
63880
63881         * lib/strstr.c: Include <stddef.h>, for NULL.
63882         * lib/strcasestr.c: Likewise.
63883         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63884
63885 2005-08-31  Bruno Haible  <bruno@clisp.org>
63886
63887         * gnulib-tool: New option --macro-prefix.
63888         (func_import): Use macro_prefix.
63889         (import): Handle option --macro-prefix.
63890
63891 2005-08-31  Bruno Haible  <bruno@clisp.org>
63892
63893         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63894         Also use new variables cached_lgpl, cached_libtool.
63895
63896 2005-08-31  Bruno Haible  <bruno@clisp.org>
63897
63898         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63899         always instantiating them.
63900
63901 2005-08-31  Bruno Haible  <bruno@clisp.org>
63902
63903         * gnulib-tool (func_import): Read the previous cached settings
63904         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63905         earlier added by gnulib but are now dropped. Warn when a gnulib file
63906         overwrites a non-gnulib file.
63907
63908 2005-08-31  Bruno Haible  <bruno@clisp.org>
63909
63910         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63911         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63912         projects that don't keep autogenerated files in CVS. Put into
63913         actioncmd only the specified modules, not the transitive closure.
63914
63915 2005-08-31  Bruno Haible  <bruno@clisp.org>
63916
63917         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63918         Create directories that shall be filled.
63919         (import): Don't look for gl_* macros in configure.ac. Recurse across
63920         all directories containing a gnulib-cache.m4 files, if meaningful.
63921
63922 2005-08-31  Bruno Haible  <bruno@clisp.org>
63923
63924         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
63925         (import): Set seen_libtool when we see gl_LIBTOOL.
63926
63927 2005-08-31  Bruno Haible  <bruno@clisp.org>
63928
63929         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
63930         declaration macro definitions from generated gnulib.m4.
63931
63932 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
63933
63934         * lib/iconvme.h: Add prototype for iconv_alloc.
63935
63936 2005-08-29  Simon Josefsson  <jas@extundo.com>
63937
63938         * lib/iconvme.c: Fix errno.
63939
63940 2005-08-29  Bruno Haible  <bruno@clisp.org>
63941
63942         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
63943         that it works when the directory contains spaces.
63944
63945 2005-08-29  Bruno Haible  <bruno@clisp.org>
63946
63947         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
63948
63949 2005-08-29  Bruno Haible  <bruno@clisp.org>
63950
63951         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
63952         Emit more advice.
63953
63954 2005-08-29  Bruno Haible  <bruno@clisp.org>
63955         and Stepan Kasal  <kasal@ucw.cz>
63956
63957         * check-module: If more parameters are given, check each of them
63958         separately; add more exceptions, as noted by Jim Meyering.
63959         (check_module): New procedure.
63960         (%exempt_header): Now contains all exceptions.
63961
63962 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
63963
63964         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
63965
63966 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63967
63968         * lib/iconvme.c: Split iconv_string into iconv_alloc.
63969
63970 2005-08-28  Bruno Haible  <bruno@clisp.org>
63971
63972         * m4/gnulib-tool.m4: New file.
63973
63974 2005-08-27  Jim Meyering  <jim@meyering.net>
63975
63976         * modules/unistd-safer (Files): Add pipe-safer.c.
63977         * modules/fcntl-safer (Files): Add creat-safer.c.
63978
63979 2005-08-27  Jim Meyering  <jim@meyering.net>
63980
63981         * m4/stdlib-safer.m4: New file.  From coreutils.
63982         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
63983         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
63984         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
63985         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
63986         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
63987
63988 2005-08-27  Jim Meyering  <jim@meyering.net>
63989
63990         * lib/fopen-safer.c: Merge minor changes from coreutils.
63991         * lib/dup-safer.c: Likewise.
63992         * lib/fd-safer.c: Likewise.
63993
63994         Merge from coreutils.
63995         * lib/stdio--.h: New file.
63996         * lib/stdlib--.h: New file.
63997         * lib/mkstemp-safer.c: New file.
63998
63999         GNU tar needs these.
64000         * lib/pipe-safer.c: New file.
64001         * lib/creat-safer.c: New file.
64002         * lib/fcntl--.h (creat): Define to creat_safer.
64003         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
64004         * lib/unistd--.h (pipe): Define to pipe_safer.
64005         * lib/unistd-safer.h: Declare pipe_safer.
64006
64007 2005-08-26  Simon Josefsson  <jas@extundo.com>
64008
64009         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
64010         Haible <bruno@clisp.org>.
64011
64012 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
64013
64014         * lib/regex_internal.h: Remove all references to
64015         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
64016         or better.
64017         (bitset_not, bitset_merge, bitset_not_merge):
64018         (bitset_mask, re_string_allocate, re_string_construct):
64019         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
64020         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
64021         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
64022         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
64023         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64024         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64025         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
64026         (re_acquire_state_context):
64027         Remove unnecessary forward decls.
64028         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
64029         Put __attribute at function definition,
64030         now that the function decl has been removed.
64031         * lib/regex_internal.c (re_string_peek_byte_case):
64032         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
64033         Likewise.
64034
64035 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
64036
64037         * m4/regex.m4: Add AC_PREREQ(2.50).
64038         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
64039
64040 2005-08-25  Simon Josefsson  <jas@extundo.com>
64041
64042         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
64043         __fsetlocking.
64044
64045 2005-08-25  Simon Josefsson  <jas@extundo.com>
64046
64047         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
64048         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
64049         GLIBC specific code.
64050
64051 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64052
64053         Make regex safe for g++.  This fixes one real bug (an "err"
64054         that should have been "*err").  g++ problem reported by
64055         Sam Steingold.
64056         * lib/regex_internal.h (re_calloc): New macro, consistent with
64057         re_malloc etc.  All callers of calloc changed to use re_calloc.
64058         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
64059         not int.  All callers changed.
64060         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
64061         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
64062         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
64063         (find_recover_state): Change "err" to "*err"; this fixes what
64064         appears to be a real bug.
64065         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
64066         versus int.
64067
64068 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64069
64070         * modules/regex (Depends-on): Add malloc, since the code
64071         assumes that !malloc(0) means failure.
64072
64073 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64074
64075         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
64076
64077         alloca modernization/simplification for regex.
64078         * lib/regex.c: Remove portability cruft for alloca.  This no longer
64079         needs to be at the start of the file, and can be moved into
64080         regex_internal.h and simplified.
64081         * lib/regex_internal.h: Include <alloca.h>.
64082         (__libc_use_alloca) [!defined _LIBC]: New macro.
64083         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
64084         now works outside glibc.
64085
64086 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64087
64088         * config/srclist.txt: Add glibc bugs 1241, 1245.
64089
64090 2005-08-25  Jim Meyering  <jim@meyering.net>
64091
64092         * lib/open-safer.c: Include <config.h>.
64093         Otherwise, we'd lose LARGEFILE support in any file using
64094         e.g. "fcntl--.h"
64095
64096 2005-08-25  Bruno Haible  <bruno@clisp.org>
64097
64098         * m4/minmax.m4: Require autoconf 2.52.
64099         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
64100         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
64101         alternatives of translit over the alphabet.
64102         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
64103
64104 2005-08-24  Simon Josefsson  <jas@extundo.com>
64105
64106         * tests/test-getpass.c: New file.
64107
64108 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64109
64110         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
64111         for GNU regex features.
64112
64113 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64114
64115         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
64116         * lib/regex.h (regerror): Likewise.
64117
64118         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
64119         requires this.  (The code never needed it.)
64120
64121         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
64122         All uses of recently-renamed identifiers changed to use the new,
64123         POSIX-compliant names.  The code will build and run just fine
64124         without these changes, but it's better to eat our own dog food
64125         and use the standard-conforming names.
64126
64127         * lib/regex.h: Fix a multitude of POSIX name space violations.
64128         These changes have an effect only for programs that define
64129         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
64130         do not change anything for programs compiled in the normal way.
64131         Also, there is no effect on the ABI.
64132
64133         (_REGEX_SOURCE): New macro.
64134         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
64135         defined and _GNU_SOURCE is not; this fixes a name space violation.
64136
64137         Rename the following macros to obey POSIX requirements.
64138         The old names are still visible as macros if _REGEX_SOURCE is defined.
64139         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
64140         RE_BACKSLASH_ESCAPE_IN_LISTS.
64141         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
64142         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
64143         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
64144         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
64145         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
64146         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
64147         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
64148         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
64149         (REG_INTERVALS): renamed from RE_INTERVALS.
64150         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
64151         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
64152         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
64153         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
64154         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
64155         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
64156         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
64157         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
64158         RE_UNMATCHED_RIGHT_PAREN_ORD.
64159         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
64160         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
64161         (REG_DEBUG): renamed from RE_DEBUG.
64162         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
64163         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
64164         unusual, since we can't clash with the POSIX REG_ICASE.
64165         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
64166         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
64167         (REG_NO_SUB): renamed from RE_NO_SUB.
64168         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
64169         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
64170         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
64171         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
64172         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
64173         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
64174         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
64175         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
64176         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
64177         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
64178         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
64179         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
64180         RE_SYNTAX_POSIX_MINIMAL_BASIC.
64181         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
64182         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
64183         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
64184         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
64185         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
64186         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
64187         (REG_FIXED): Renamed from REGS_FIXED.
64188         (REG_NREGS): Renamed from RE_NREGS.
64189
64190         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
64191         of other REG_* macros, since POSIX says the user is allowed to
64192         #undef these macros selectively.
64193
64194         (reg_errcode_t): Update comment stating what other tables need
64195         to be consistent.
64196
64197         Rename the following enum values to obey POSIX requirements.
64198         The old names are still visible as macros.
64199         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
64200         is not defined, since GNU is supposed to be a superset of POSIX as
64201         much as possible, and since we want reg_errcode_t to be a signed
64202         type for implementation consistency.
64203         (_REG_NOERROR): Renamed from REG_NOERROR.
64204         (_REG_NOMATCH): Renamed from REG_NOMATCH.
64205         (_REG_BADPAT): Renamed from REG_BADPAT.
64206         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
64207         (_REG_ECTYPE): Renamed from REG_ECTYPE.
64208         (_REG_EESCAPE): Renamed from REG_EESCAPE.
64209         (_REG_ESUBREG): Renamed from REG_ESUBREG.
64210         (_REG_EBRACK): Renamed from REG_EBRACK.
64211         (_REG_EPAREN): Renamed from REG_EPAREN.
64212         (_REG_EBRACE): Renamed from REG_EBRACE.
64213         (_REG_BADBR): Renamed from REG_BADBR.
64214         (_REG_ERANGE): Renamed from REG_ERANGE.
64215         (_REG_ESPACE): Renamed from REG_ESPACE.
64216         (_REG_BADRPT): Renamed from REG_BADRPT.
64217         (_REG_EEND): Renamed from REG_EEND.
64218         (_REG_ESIZE): Renamed from REG_ESIZE.
64219         (_REG_ERPAREN): Renamed from REG_ERPAREN.
64220         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
64221         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
64222         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
64223         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
64224
64225         (_REG_RE_NAME, _REG_RM_NAME): New macros.
64226         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
64227         changed.  But support the old name if the new one is not defined
64228         and if _REGEX_SOURCE.
64229
64230         Change the following member names in struct re_pattern_buffer.
64231         The old names are still supported if !_REGEX_SOURCE.
64232         The new names are always supported, regardless of _REGEX_SOURCE.
64233         (re_buffer): Renamed from buffer.
64234         (re_allocated): Renamed from allocated.
64235         (re_used): Renamed from used.
64236         (re_syntax): Renamed from syntax.
64237         (re_fastmap): Renamed from fastmap.
64238         (re_translate): Renamed from translate.
64239         (re_can_be_null): Renamed from can_be_null.
64240         (re_regs_allocated): Renamed from regs_allocated.
64241         (re_fastmap_accurate): Renamed from fastmap_accurate.
64242         (re_no_sub): Renamed from no_sub.
64243         (re_not_bol): Renamed from not_bol.
64244         (re_not_eol): Renamed from not_eol.
64245         (re_newline_anchor): Renamed from newline_anchor.
64246
64247         Change the following member names in struct re_registers.
64248         The old names are still supported if !_REGEX_SOURCE.
64249         The new names are always supported, regardless of _REGEX_SOURCE.
64250         (rm_num_regs): Renamed from num_regs.
64251         (rm_start): Renamed from start.
64252         (rm_end): Renamed from end.
64253
64254         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
64255         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
64256         Prepend __ to parameter names.
64257
64258         Undo yesterday's changes.
64259
64260 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64261
64262         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
64263         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
64264         lib/regex.c.
64265
64266 2005-08-24  Jim Meyering  <jim@meyering.net>
64267
64268         Sync from coreutils.
64269         * m4/fcntl-safer.m4: New file.
64270
64271         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
64272         and object files for this module.
64273
64274 2005-08-24  Jim Meyering  <jim@meyering.net>
64275
64276         Sync from coreutils.
64277         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
64278
64279 2005-08-24  Jim Meyering  <jim@meyering.net>
64280
64281         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
64282         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
64283
64284 2005-08-24  Jim Meyering  <jim@meyering.net>
64285
64286         * modules/fcntl-safer: New module.
64287         * modules/fts (Depends-on): Add fcntl-safer.
64288         * MODULES.html.sh (File descriptor based Input/Output):
64289         Add fcntl-safer.
64290
64291 2005-08-24  Bruno Haible  <bruno@clisp.org>
64292
64293         Support for unit test modules.
64294         * modules/README: Mention tests modules.
64295         * modules/TEMPLATE-TESTS: New file.
64296         * gnulib-tool: New options --extract-tests-module, --with-tests and
64297         --tests-base (unused for the moment).
64298         (testsbase, inctests): New variables.
64299         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
64300         (func_verify_module): Exclude TEMPLATE-TESTS.
64301         (func_verify_nontests_module, func_verify_tests_module): New functions.
64302         (func_get_dependencies): Add implicit dependency for tests modules.
64303         (func_get_tests_module): New function.
64304         (func_modules_transitive_closure): When --with-tests was specified,
64305         include the unit tests as well, unless explicitly avoided.
64306         (func_emit_lib_Makefile_am): Ignore the tests modules here.
64307         (func_emit_tests_Makefile_am): New function.
64308         (func_create_testdir): When --with-tests was specified, emit a
64309         tests/ directory.
64310         * MODULES.html.sh (Future developments): Update.
64311
64312 2005-08-24  Bruno Haible  <bruno@clisp.org>
64313
64314         * modules/tls-tests: New file.
64315         * tests/test-tls.c: New file, from GNU gettext.
64316
64317 2005-08-24  Bruno Haible  <bruno@clisp.org>
64318
64319         * modules/lock-tests: New file.
64320         * tests/test-lock.c: New file, from GNU gettext.
64321
64322 2005-08-24  Bruno Haible  <bruno@clisp.org>
64323
64324         * lib/lock.h: Add multiple inclusion guard.
64325         * lib/tls.h: Add multiple inclusion guard.
64326
64327 2005-08-24  Bruno Haible  <bruno@clisp.org>
64328
64329         * gnulib-tool: Add support for the --aux-dir option to
64330         --create-testdir, --create-megatestdir, --test, --megatest.
64331         (func_create_testdir, func_create_megatestdir): Optionally emit a
64332         AC_CONFIG_AUX_DIR directive.
64333         (create-testdir, create-megatestdir, test, megatest): Provide a
64334         default value for $auxdir.
64335
64336 2005-08-24  Bruno Haible  <bruno@clisp.org>
64337
64338         * gnulib-tool (import): Use compound statement instead of subshell
64339         where possible.
64340
64341 2005-08-24  Bruno Haible  <bruno@clisp.org>
64342
64343         * gnulib-tool (import): Change --aux-dir default to "build-aux".
64344
64345 2005-08-24  Bruno Haible  <bruno@clisp.org>
64346
64347         * gnulib-tool (func_version): Update.
64348
64349 2005-08-24  Bruno Haible  <bruno@clisp.org>
64350
64351         * gnulib-tool (func_import, func_create_testdir,
64352         func_create_megatestdir): Quote all autoconf macro arguments.
64353
64354 2005-08-24  Bruno Haible  <bruno@clisp.org>
64355
64356         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
64357         option --force, because --force causes the aclocal.m4 of each
64358         subdirectory to be newer than the corresponding config.h.in.
64359
64360 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64361
64362         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
64363         All contents moved to gl_REGEX.
64364         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
64365         assume that it does.
64366
64367 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64368
64369         * lib/regex.h (REG_NOSYS)
64370         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
64371         Define, since POSIX requires it as of 2001.
64372         (_REG_ENOSYS)
64373         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
64374         New private symbol, used to keep the enum signed in all cases.
64375         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
64376         Youngman in
64377         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
64378
64379         * lib/regex_internal.c (re_string_skip_chars, register_state):
64380         (calc_state_hash):
64381         Remove forward decls; no longer needed now that we use prototypes.
64382         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
64383         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
64384         (clean_state_log_if_needed): Likewise.
64385
64386 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64387
64388         * config/srclist.txt: Add glibc bugs 1231-1233.
64389
64390 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64391
64392         Fix problems reported by Sam Steingold in
64393         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
64394         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
64395         assumed that reg_errcode_t is a signed type, which is not
64396         necessarily true if _XOPEN_SOURCE is not defined.
64397         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
64398         since some compilers warn about it otherwise.
64399
64400 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64401
64402         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
64403         (init_word_char, create_initial_state, duplicate_node_closure):
64404         (fetch_token, peek_token_bracket, build_range_exp):
64405         (build_collating_symbol): Remove forward decls; no longer needed
64406         now that we use prototypes.
64407
64408         * lib/regcomp.c:
64409         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
64410         (re_compile_fastmap_iter, regcomp, regerror, regfree):
64411         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
64412         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
64413         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
64414         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
64415         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
64416         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
64417         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
64418         (build_range_exp, build_collating_symbol, parse_bracket_exp):
64419         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
64420         (build_charclass, build_charclass_op, fetch_number, create_tree):
64421         (create_token_tree, mark_opt_subexp, duplicate_tree):
64422         Use prototypes rather than old-style definitions.
64423
64424         * lib/regex_internal.c:
64425         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
64426         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
64427         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64428         (re_string_reconstruct, re_string_peek_byte_case):
64429         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
64430         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64431         (re_node_set_init_copy, re_node_set_add_intersect):
64432         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64433         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64434         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64435         (re_acquire_state, re_acquire_state_context, register_state):
64436         (create_ci_newstate, create_cd_newstate, free_state):
64437         Likewise.
64438         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
64439         re_search_2):
64440         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
64441         (re_search_internal, prune_impossible_nodes):
64442         (acquire_init_state_context, check_matching, static):
64443         (check_halt_node_context, check_halt_state_context, proceed_next_node):
64444         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
64445         (update_regs, sift_states_backward, build_sifted_states):
64446         (clean_state_log_if_needed, merge_state_array):
64447         (update_cur_sifted_state, add_epsilon_src_nodes):
64448         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
64449         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
64450         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
64451         (find_recover_state, check_subexp_matching_top, transit_state_mb):
64452         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
64453         (check_arrival, check_arrival_add_next_nodes):
64454         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64455         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64456         (check_node_accept_bytes, check_node_accept, extend_buffers):
64457         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
64458         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
64459         (sift_ctx_init):
64460         Likewise.
64461
64462         * lib/regex_internal.h:
64463         (re_string_allocate, re_string_construct, re_string_reconstruct):
64464         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
64465         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
64466         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
64467         (re_string_context_at, re_string_peek_byte_case):
64468         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
64469         is defined, since we now use prototypes always.
64470
64471         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
64472         C89 or better.  All uses removed.
64473
64474 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64475
64476         * config/srclist.txt: Add glibc bugs 1220-1227.
64477
64478 2005-08-20  Jim Meyering  <jim@meyering.net>
64479
64480         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
64481         of unused local, dfa.
64482
64483 2005-08-20  Bruno Haible  <bruno@clisp.org>
64484
64485         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
64486
64487 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64488
64489         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
64490         (re_node_set_insert_last, re_dfa_add_node):
64491         Rename local variables to avoid GCC shadowing warnings.
64492
64493 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64494
64495         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
64496         [defined lint]: Suppress bogus uninitialized-variable warnings.
64497
64498         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
64499         and let the caller return REG_ESPACE if out of space.  This
64500         removes an uninitialied-variable warning with GCC 4.0.1, and also
64501         avoids taking the address of a local variable.  All callers
64502         changed.
64503
64504 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64505
64506         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
64507         $LIBCSRC/posix/regexec.c.
64508         Add glibc bug 1217 for regcomp.c.
64509
64510 2005-08-19  Jim Meyering  <jim@meyering.net>
64511
64512         * lib/regexec.c (proceed_next_node): Redo local variables to
64513         avoid GCC shadowing warnings.
64514
64515 2005-08-18  Bruno Haible  <bruno@clisp.org>
64516
64517         * lib/strstr.c (strstr): Fix return value in multibyte case.
64518         * lib/strcasestr.c (strcasestr): Likewise.
64519
64520 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64521
64522         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
64523
64524 2005-08-17  Jim Meyering  <jim@meyering.net>
64525
64526         Make the %s format (seconds since the epoch) work for a negative
64527         number and when used with a zero-padded field width, e.g. %015s.
64528
64529         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
64530         label so that it precedes the code to set `digits'.  Otherwise,
64531         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
64532         print `00-22'.  Now, it prints `-0022', as it should.
64533
64534 2005-08-17  Bruno Haible  <bruno@clisp.org>
64535
64536         * modules/strstr (Files): Add m4/mbrtowc.m4.
64537         (Depends-on): Add mbuiter.
64538
64539 2005-08-17  Bruno Haible  <bruno@clisp.org>
64540
64541         * modules/strcasestr: New file.
64542         * MODULES.html.sh (String handling, based on ANSI C 89): Add
64543         strcasestr.
64544
64545 2005-08-17  Bruno Haible  <bruno@clisp.org>
64546
64547         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
64548
64549 2005-08-17  Bruno Haible  <bruno@clisp.org>
64550
64551         * modules/mbuiter: New file.
64552         * MODULES.html.sh (Extended multibyte and wide character utilities):
64553         Add mbuiter.
64554
64555 2005-08-17  Bruno Haible  <bruno@clisp.org>
64556
64557         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
64558         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
64559
64560 2005-08-17  Bruno Haible  <bruno@clisp.org>
64561
64562         * m4/strcasestr.m4: New file.
64563
64564 2005-08-17  Bruno Haible  <bruno@clisp.org>
64565
64566         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
64567         * lib/strstr.c: Completely rewritten, with multibyte locale support.
64568
64569 2005-08-17  Bruno Haible  <bruno@clisp.org>
64570
64571         * lib/strcasestr.h: New file.
64572         * lib/strcasestr.c: New file.
64573
64574 2005-08-17  Bruno Haible  <bruno@clisp.org>
64575
64576         * lib/strcasecmp.c: Use mbuiter.h.
64577
64578 2005-08-17  Bruno Haible  <bruno@clisp.org>
64579
64580         * lib/mbuiter.h: New file.
64581
64582 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64583
64584         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
64585         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
64586         and gl_GETOPT are both invoked via different paths (as happens
64587         with GNU tar CVS because it uses both argp and getopt), the former
64588         wins.
64589
64590 2005-08-16  Bruno Haible  <bruno@clisp.org>
64591
64592         * modules/tls: New file.
64593         * MODULES.html.sh (Multithreading): Add tls.
64594
64595 2005-08-16  Bruno Haible  <bruno@clisp.org>
64596
64597         * modules/strnlen1: New file.
64598         * MODULES.html.sh (String handling): Add strnlen1.
64599
64600 2005-08-16  Bruno Haible  <bruno@clisp.org>
64601
64602         * modules/strcase (Files): Add m4/mbrtowc.m4.
64603         (Depends-on): Add strnlen1, mbchar.
64604
64605 2005-08-16  Bruno Haible  <bruno@clisp.org>
64606
64607         * modules/mbiter: New file.
64608         * MODULES.html.sh (Extended multibyte and wide character utilities):
64609         Add mbiter.
64610
64611 2005-08-16  Bruno Haible  <bruno@clisp.org>
64612
64613         * modules/mbfile: New file.
64614         * MODULES.html.sh (Extended multibyte and wide character utilities):
64615         Add mbfile.
64616
64617 2005-08-16  Bruno Haible  <bruno@clisp.org>
64618
64619         * modules/mbchar: New file.
64620         * MODULES.html.sh (Extended multibyte and wide character utilities):
64621         New section.
64622
64623 2005-08-16  Bruno Haible  <bruno@clisp.org>
64624
64625         * m4/tls.m4: New file, from GNU gettext.
64626
64627 2005-08-16  Bruno Haible  <bruno@clisp.org>
64628
64629         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
64630         always.
64631         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
64632
64633 2005-08-16  Bruno Haible  <bruno@clisp.org>
64634
64635         * m4/mbiter.m4: New file.
64636
64637 2005-08-16  Bruno Haible  <bruno@clisp.org>
64638
64639         * m4/mbfile.m4: New file.
64640
64641 2005-08-16  Bruno Haible  <bruno@clisp.org>
64642
64643         * m4/mbchar.m4: New file.
64644
64645 2005-08-16  Bruno Haible  <bruno@clisp.org>
64646
64647         * lib/tls.h: New file, from GNU gettext.
64648         * lib/tls.c: New file, from GNU gettext.
64649
64650 2005-08-16  Bruno Haible  <bruno@clisp.org>
64651
64652         * lib/strnlen1.h: New file.
64653         * lib/strnlen1.c: New file.
64654
64655 2005-08-16  Bruno Haible  <bruno@clisp.org>
64656
64657         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
64658         (mbi_init): Update.
64659         (mbi_avail, mbi_advance): Let the iteration end before the terminating
64660         NUL byte, not after it.
64661
64662 2005-08-16  Bruno Haible  <bruno@clisp.org>
64663
64664         * lib/strcase.h (strcasecmp): Add note in comments.
64665         * lib/strncasecmp.c: Use code from strcasecmp.c.
64666         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
64667         (strcasecmp): Work correctly in multibyte locales.
64668
64669 2005-08-16  Bruno Haible  <bruno@clisp.org>
64670
64671         * lib/mbiter.h: New file.
64672
64673 2005-08-16  Bruno Haible  <bruno@clisp.org>
64674
64675         * lib/mbfile.h: New file.
64676
64677 2005-08-16  Bruno Haible  <bruno@clisp.org>
64678
64679         * lib/mbchar.h: New file.
64680         * lib/mbchar.c: New file.
64681
64682 2005-08-16  Bruno Haible  <bruno@clisp.org>
64683
64684         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
64685         the valid ones. Makes the comparison operations transitive:
64686         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64687         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64688
64689 2005-08-15  Simon Josefsson  <jas@extundo.com>
64690
64691         * modules/ssize_t (License): Change to 'unlimited'.
64692
64693         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64694
64695 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64696
64697         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64698         Add comments for each pending glibc patch.
64699
64700 2005-08-15  Bruno Haible  <bruno@clisp.org>
64701
64702         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64703         __cplusplus is defined.
64704
64705 2005-08-14  Jim Meyering  <jim@meyering.net>
64706
64707         Sync from coreutils.
64708
64709         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64710         Use the hash-table-based cycle-detection code not just when
64711         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64712         Reported by James Youngman in
64713         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64714         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64715         FTS_TIGHT_CYCLE_CHECK.
64716         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64717         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64718         once again.
64719         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64720         * lib/fts.c (fd_safer): Remove decl.
64721         Include fcntl--.h rather than unistd-safer.h
64722         (fts_safe_changedir): Don't call fd_safer; no longer needed
64723         now that we include fcntl--.h.
64724
64725 2005-08-12  Simon Josefsson  <jas@extundo.com>
64726
64727         * modules/getndelim2: Use ssize_t module.
64728         * modules/getnline: Likewise.
64729         * modules/safe-read: Likewise.
64730         * modules/xreadlink: Likewise.
64731
64732         * modules/ssize_t: New file.
64733
64734 2005-08-12  Simon Josefsson  <jas@extundo.com>
64735
64736         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64737
64738 2005-08-12  Simon Josefsson  <jas@extundo.com>
64739
64740         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64741         ssize_t.
64742
64743 2005-08-12  Simon Josefsson  <jas@extundo.com>
64744
64745         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64746         readline, getdelim and check_version.
64747         (Support for systems lacking ISO C 99: Sizes of integer types):
64748         Add size_max.
64749
64750 2005-08-12  Bruno Haible  <bruno@clisp.org>
64751
64752         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64753
64754 2005-08-11  Simon Josefsson  <jas@extundo.com>
64755
64756         * modules/readline: New file.
64757
64758         * modules/strnlen (Files): Add strnlen.h.
64759
64760 2005-08-11  Simon Josefsson  <jas@extundo.com>
64761
64762         * m4/readline.m4: New file.
64763
64764 2005-08-11  Simon Josefsson  <jas@extundo.com>
64765
64766         * lib/readline.h, readline.c: New file.
64767
64768 2005-08-11  Simon Josefsson  <jas@extundo.com>
64769
64770         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64771         gl_AVOID.
64772
64773 2005-08-11  Bruno Haible  <bruno@clisp.org>
64774
64775         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64776
64777 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64778
64779         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64780
64781 2005-08-10  Simon Josefsson  <jas@extundo.com>
64782
64783         * tests/test-iconvme.c: New file.
64784
64785 2005-08-10  Simon Josefsson  <jas@extundo.com>
64786
64787         * m4/strnlen.m4: New file.
64788
64789         * m4/strndup.m4: Don't check for strnlen declaration, done in
64790         strnlen.m4.
64791
64792 2005-08-10  Simon Josefsson  <jas@extundo.com>
64793
64794         * lib/strndup.c: Use strnlen.h.
64795
64796         * lib/strnlen.h: New file.
64797
64798 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64799
64800         * README: Typos.
64801
64802 2005-08-02  Simon Josefsson  <jas@extundo.com>
64803
64804         * modules/readline: New file.
64805
64806 2005-08-02  Simon Josefsson  <jas@extundo.com>
64807
64808         * modules/getdelim: New file.
64809
64810         * modules/getline: Rewrite, don't use getndelim2.
64811
64812 2005-08-02  Simon Josefsson  <jas@extundo.com>
64813
64814         * m4/getline.m4: Separate out getdelim stuff into separate module.
64815
64816         * m4/getdelim.m4: New file.
64817
64818 2005-08-02  Simon Josefsson  <jas@extundo.com>
64819
64820         * lib/getline.h, getline.c: Rewrite.
64821
64822         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64823
64824 2005-07-31  Bruno Haible  <bruno@clisp.org>
64825
64826         * lib/lock.h (gl_lock_initializer): New macro.
64827         (gl_lock_define_initialized): Use it.
64828         (gl_rwlock_initializer): New macro.
64829         (gl_rwlock_define_initialized): Use it.
64830         (gl_recursive_lock_initializer): New macro.
64831         (gl_recursive_lock_define_initialized): Use it.
64832
64833 2005-07-30  Karl Berry  <karl@gnu.org>
64834
64835         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64836         Report from Ben Pfaff, regarding getopt.
64837
64838 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64839
64840         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64841         normal way.
64842         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64843         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64844         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64845         (gl_GETOPT): Use the new macros.  Most of the implementation
64846         is moved to the new macros.  This is for programs like Emacs
64847         that don't want all the functionality of gl_GETOPT.
64848
64849 2005-07-26  Bruno Haible  <bruno@clisp.org>
64850
64851         * m4/lock.m4: Update from GNU gettext.
64852
64853 2005-07-26  Bruno Haible  <bruno@clisp.org>
64854
64855         * lib/lock.h: Update from GNU gettext.
64856         * lib/lock.c: Update from GNU gettext.
64857
64858 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64859
64860         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64861         obsolescent AC_TRY_RUN.  Include the default includes files, for
64862         'exit'.
64863
64864 2005-07-24  Bruno Haible  <bruno@clisp.org>
64865
64866         * modules/visibility: New file.
64867         * MODULES.html.sh (Misc): Add visibility.
64868
64869 2005-07-24  Bruno Haible  <bruno@clisp.org>
64870
64871         * m4/visibility.m4: New file.
64872
64873 2005-07-24  Bruno Haible  <bruno@clisp.org>
64874
64875         * doc/visibility.texi: New file.
64876
64877 2005-07-22  Bruno Haible  <bruno@clisp.org>
64878
64879         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64880         $(ALLOCA_H), redundant through BUILT_SOURCES.
64881         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64882         redundant through BUILT_SOURCES.
64883         * modules/byteswap (Makefile.am): Remove explicit dependency on
64884         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64885         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64886         $(FNMATCH_H), redundant through BUILT_SOURCES.
64887         * modules/getopt (Makefile.am): Remove explicit dependency on
64888         $(GETOPT_H), redundant through BUILT_SOURCES.
64889         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64890         redundant through BUILT_SOURCES.
64891         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64892         redundant through BUILT_SOURCES.
64893         * modules/stdbool (Makefile.am): Remove explicit dependency on
64894         $(STDBOOL_H), redundant through BUILT_SOURCES.
64895         * modules/stdint (Makefile.am): Remove explicit dependency on
64896         $(STDINT_H), redundant through BUILT_SOURCES.
64897         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64898         Remove explicit dependency on $(SYSEXITS_H).
64899         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64900
64901 2005-07-18  Simon Josefsson  <jas@extundo.com>
64902
64903         * lib/check-version.c (check_version): Accept identical versions too.
64904
64905 2005-07-18  Bruno Haible  <bruno@clisp.org>
64906
64907         * modules/lock: New file.
64908         * MODULES.html.sh (Multithreading): New section.
64909
64910 2005-07-18  Bruno Haible  <bruno@clisp.org>
64911
64912         * m4/lock.m4: New file, from GNU gettext.
64913
64914 2005-07-18  Bruno Haible  <bruno@clisp.org>
64915
64916         * lib/lock.h: New file, from GNU gettext.
64917         * lib/lock.c: New file, from GNU gettext.
64918
64919 2005-07-18  Bruno Haible  <bruno@clisp.org>
64920
64921         * lib/lock.h (gl_once_t): New type.
64922         (gl_once_define, gl_once): New macros.
64923         * lib/lock.c (fresh_once): New variable.
64924         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
64925         functions.
64926
64927 2005-07-16  Simon Josefsson  <jas@extundo.com>
64928
64929         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
64930         workaround, suggested by Bruno.
64931
64932 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64933
64934         * modules/xalloc (Depends-on): Add xalloc-die.
64935         * modules/xvasprintf (Depends-on): Add xalloc-die.
64936
64937 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64938
64939         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
64940         with a minor change.
64941
64942 2005-07-15  Bruno Haible  <bruno@clisp.org>
64943
64944         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
64945         When using lib/poll.c, define poll as rpl_poll.
64946
64947 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
64948
64949         * modules/argp (Depends-on): Remove unlocked-io.
64950
64951 2005-07-14  Derek Price  <derek@ximbiot.com>
64952
64953         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
64954         for glob symlink bug.
64955
64956 2005-07-14  Bruno Haible  <bruno@clisp.org>
64957
64958         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
64959         Instead, test for *_unlocked function declarations directly.
64960
64961 2005-07-11  Simon Josefsson  <jas@extundo.com>
64962
64963         * modules/size_max: New file.
64964
64965         * modules/xsize: Depend on size_max module for size_max.m4.
64966
64967 2005-07-11  Simon Josefsson  <jas@extundo.com>
64968
64969         * lib/size_max.h: New file.
64970
64971 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
64972
64973         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
64974         copyright symbol and the year.
64975         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
64976         (version_etc_va): Use parameterized copyright notice.
64977         Reword to conform to the current GNU coding standards.
64978
64979 2005-07-11  Karl Berry  <karl@gnu.org>
64980
64981         * doc/gnulib.texi (Quoting): new node.
64982         (Initial import): more info, from Patrice.
64983
64984 2005-07-11  Bruno Haible  <bruno@clisp.org>
64985
64986         * gnulib-tool (func_usage): Document option --avoid.
64987         (Command line options): Handle --avoid.
64988         (func_acceptable): New function.
64989         (func_modules_transitive_closure): Use it.
64990
64991 2005-07-11  Bruno Haible  <bruno@clisp.org>
64992
64993         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
64994         Reported by Jim Meyering.
64995
64996 2005-07-10  Bruno Haible  <bruno@clisp.org>
64997
64998         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
64999         Needed when size_t is smaller than 'unsigned int'.
65000         Reported by Paul Eggert.
65001
65002 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65003
65004         * modules/argp (Depends-on): Add unlocked-io
65005
65006 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65007
65008         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
65009         block of defines.
65010
65011 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65012
65013         * config/srclist.txt: Comment out regcomp.c, since we have a porting
65014         fix now.
65015
65016 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
65017         and Paul Eggert  <eggert@cs.ucla.edu>
65018
65019         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
65020         in wint_t, not wchar_t.  Remove now-unnecessary cast.
65021
65022 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65023
65024         * modules/regex (Files): Add lib/regex_internal.c,
65025         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
65026         (Depends-on): Add extensions.
65027         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
65028
65029 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65030
65031         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
65032         pathconf.
65033         * m4/same.m4 (gl_SAME): Likewise.
65034         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
65035
65036         * m4/regex.m4: Adjust to new libc regex implementation.
65037         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
65038         all the .c and .h parts of (the new) regex.
65039         Quote the m4 stuff better.
65040         Check for RE_ICASE bug of old gnulib.
65041         Check for REG_STARTEND of recent libc.
65042         Rename local variables from jm_* to gl_*.
65043         Quote operand of "test -f".
65044         Say "recent enough" version of libc, not "version 2".
65045         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
65046         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
65047         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
65048         Remove check for btowc, isascii.
65049         Require AM_LANGINFO_CODESET.
65050
65051 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65052
65053         * lib/regex.c, regex.h: Sync from libc.
65054         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
65055         * lib/regexec.c:
65056         New files, synced from libc, except that regex_internal.h
65057         currently has a small porting fix.
65058
65059 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65060
65061         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
65062         regex_internal.c, regexec.c.
65063         Add regex_internal.h too, but as a comment, since the libc version
65064         is currently broken in gnulib mode.
65065
65066 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65067
65068         Support programs like Emacs that use gnulib but not gettext.
65069         * MODULES.html.sh (Internationalization functions): Add gettext-h.
65070         * modules/gettext-h: New file.
65071         * modules/gettext (Files): Remove lib/gettext.h.
65072         (Depends-on): Add gettext-h.
65073         (Makefile.am): Remove lib_SOURCES.
65074         * modules/argmatch, modules/c-stack, modules/closeout:
65075         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
65076         * modules/execute, modules/file-type, modules/getaddrinfo:
65077         * modules/getopt, modules/human, modules/javacomp:
65078         * modules/javaexec, modules/mkdir-p, modules/obstack:
65079         * modules/openat, modules/pagealign_alloc, modules/pipe:
65080         * modules/quotearg, modules/regex, modules/rpmatch:
65081         * modules/unicodeio, modules/userspec, modules/version-etc:
65082         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
65083         * modules/xsetenv:
65084         Depend on gettext-h, not gettext.
65085
65086 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65087
65088         * gnulib-tool (func_import): Add support for 'public domain' license.
65089         * modules/alloca, modules/atexit, modules/memmove:
65090         Now public domain, not GPL.
65091         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
65092         * modules/realloc, modules/strerror, modules/strtod:
65093         Now LGPL, not GPL.
65094
65095 2005-07-05  Bruno Haible  <bruno@clisp.org>
65096
65097         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
65098         autoconf CVS. Needed for mingw.
65099
65100 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65101
65102         Remove the dependency of the strftime module on the tzset module.
65103         * modules/strftime (Depends-on): Remove dependency on tzset.
65104
65105 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65106
65107         Remove the dependency of the strftime module on the tzset module.
65108         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
65109         gl_FUNC_TZSET_CLOBBER.
65110
65111 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65112
65113         Remove the dependency of the strftime module on the tzset module.
65114         * lib/strftime.c (my_strftime)
65115         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
65116         Copy the input structure, to work around some of the bug with
65117         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
65118         Solaris releases, you should also use the tzset module, but we won't
65119         require it as a dependency any more since we don't want LGPLed code
65120         to depend on GPLed code.
65121
65122 2005-07-02  Jim Meyering  <jim@meyering.net>
65123
65124         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
65125         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
65126         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
65127         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
65128
65129 2005-07-02  Jim Meyering  <jim@meyering.net>
65130
65131         * lib/backupfile.c (backup_args): Change a `0' to NULL.
65132
65133 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65134
65135         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
65136         declares only 'struct timespec;' (!).
65137
65138 2005-07-01  Jim Meyering  <jim@meyering.net>
65139
65140         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
65141         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
65142         * lib/save-cwd.c, tempname.c:
65143         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65144         and don't include <sys/file.h>).
65145
65146 2005-06-29  Jim Meyering  <jim@meyering.net>
65147
65148         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
65149         type name.  Use the variable name instead.
65150         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
65151         Likewise.
65152
65153 2005-06-28  Simon Josefsson  <jas@extundo.com>
65154
65155         * modules/check-version (Files): Add check-version.m4.
65156
65157 2005-06-28  Simon Josefsson  <jas@extundo.com>
65158
65159         * m4/check-version.m4: New file, suggested by Jim Meyering
65160         <jim@meyering.net>.
65161
65162 2005-06-28  Simon Josefsson  <jas@extundo.com>
65163
65164         * lib/check-version.h, lib/check-version.c: New files.
65165
65166 2005-06-28  Simon Josefsson  <jas@extundo.com>
65167
65168         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
65169         collision with global variable.  Better indentation.  Don't
65170         increment buffer pointer beyond buffer end.  Based on comments
65171         from Paul Eggert <eggert@cs.ucla.edu>.
65172
65173         * lib/base64.h: Indent.
65174
65175 2005-06-28  Simon Josefsson  <jas@extundo.com>
65176
65177         * doc/gnulib.texi (Library version handling): New section.
65178
65179 2005-06-28  Jim Meyering  <jim@meyering.net>
65180
65181         * check-module (find_included_lib_files): Hard-code another
65182         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
65183         but modules/fts-lgpl (correctly) does not list those files.
65184
65185         * modules/canonicalize (Files): Add lib/pathmax.h.
65186
65187 2005-06-25  Simon Josefsson  <jas@extundo.com>
65188
65189         * modules/check-version: New file.
65190
65191 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
65192
65193         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
65194         initializer of struct addrinfo, as an indication that we don't
65195         care how many members the structure has.
65196
65197 2005-06-24  Derek Price  <derek@ximbiot.com>
65198         and Bruno Haible  <bruno@clisp.org>
65199
65200         Remove stat module & update lstat.
65201         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
65202         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65203         * m4/stat.m4: Remove this file.
65204
65205 2005-06-24  Derek Price  <derek@ximbiot.com>
65206         and Bruno Haible  <bruno@clisp.org>
65207
65208         Remove stat module & update lstat.
65209         * lib/stat.c: Remove this file...
65210         (slash_aware_lstat): ...moving this content and its support...
65211         * lib/lstat.c (rpl_lstat): ...into here.
65212         * lib/lstat.h: New file.
65213
65214 2005-06-24  Derek Price  <derek@ximbiot.com>
65215         and Bruno Haible  <bruno@clisp.org>
65216
65217         Remove stat module & update lstat.
65218         * config/srclist.txt (libc sources): Remove stat.
65219
65220 2005-06-24  Derek Price  <derek@ximbiot.com>
65221         and Bruno Haible  <bruno@clisp.org>
65222
65223         Remove stat module & update lstat.
65224         * MODULES.html.sh (stat): Remove.
65225         * MODULES.html: Regenerated.
65226         * modules/lstat (Description): Correct function name.
65227         (Files): Add "lstat.h".
65228         (Depends-on): Remove stat, add xalloc, stat-macros.
65229         * modules/stat: Remove this file.
65230         (Include): Add "lstat.h", remove <sys/stat.h>.
65231
65232 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65233
65234         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
65235         (ranged_convert): Don't save conversion in a temporary struct.
65236         This causes a warning with GCC 4.0.0, and anyway in the typical
65237         case it's not worth the extra 100 bytes or so of code.
65238         (ranged_convert, __mktime_internal): When calling a function via a
65239         pointer P, use P () rather than (*P) (), as we now assume C89 or
65240         better.
65241
65242 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65243
65244         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
65245         "who -r" failed to give output.  Problem reported by Tim Waugh.
65246
65247         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
65248         (xcalloc): Use it to avoid needless tests.
65249         Problem reported by Jim Meyering.
65250
65251 2005-06-20  Derek Price  <derek@ximbiot.com>
65252
65253         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
65254         unnecessary for Autoconfs > 2.59c.
65255
65256 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65257
65258         * lib/argp.h (__option_is_short): Check upper limit of
65259         __key. Isprint() requires its argument to have the value
65260         of an unsigned char or EOF.
65261
65262 2005-06-16  Jim Meyering  <jim@meyering.net>
65263
65264         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
65265         when either N or S is zero.
65266
65267 2005-06-16  Derek Price  <derek@ximbiot.com>
65268
65269         * m4/bison.m4: Declare YACC & YFLAGS precious.
65270
65271 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
65272
65273         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
65274         multibyte string or pattern, fall back on unibyte matching.
65275         Problem reported by James Youngman.
65276
65277 2005-06-08  Bruno Haible  <bruno@clisp.org>
65278
65279         * modules/csharpcomp: New file.
65280         * MODULES.html.sh (C#): Add csharpcomp.
65281
65282 2005-06-08  Bruno Haible  <bruno@clisp.org>
65283
65284         * m4/csharpcomp.m4: New file, from GNU gettext.
65285
65286 2005-06-08  Bruno Haible  <bruno@clisp.org>
65287
65288         * lib/csharpcomp.h: New file, from GNU gettext.
65289         * lib/csharpcomp.c: New file, from GNU gettext.
65290         * lib/csharpcomp.sh.in: New file, from GNU gettext.
65291
65292 2005-06-08  Bruno Haible  <bruno@clisp.org>
65293
65294         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
65295         warning on mingw.
65296
65297 2005-06-07  Derek Price  <derek@ximbiot.com>
65298
65299         Sync from CVS.
65300         * lib/glob_.h: Indent nested #ifdef.
65301
65302 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65303
65304         Sync from coreutils.
65305         Use "file name" when talking about file names, instead of "filename"
65306         or "path", as per the GNU coding standards.
65307         * lib/mkdir-p.c: Renamed from makepath.c.
65308         (make_dir_parents): Renamed from make_path.  All callers changed.
65309         * lib/mkdir-p.h: Likewise.  All includers changed.
65310         * lib/filenamecat.c: Renamed from path-concat.c.
65311         (file_name_concat): Renamed from path_concat.  All callers changed.
65312         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
65313         * lib/filenamecat.h: Likewise.  All includers changed.
65314         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
65315         in comments or local variable names.
65316         * lib/basename.c: Likewise.
65317         * lib/canonicalize.c, canonicalize.h: Likewise.
65318         * lib/dirname.c, dirname.h: Likewise.
65319         * lib/euidaccess.c: Likewise.
65320         * lib/exclude.c: Likewise
65321         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
65322         * lib/fsusage.c, fsuage.h: Likewise.
65323         * lib/fts.c, fts_.h: Likewise.
65324         * lib/getcwd.c: Likewise.
65325         * lib/getloadavg.c: Likewise.
65326         * lib/mkstemp.c: Likewise.
65327         * lib/mountlist.c, mountlist.h: Likewise.
65328         * lib/openat.c, openat.h: Likewise.
65329         * lib/readlink-stub.c: Likewise.
65330         * lib/readutmp.c, readutmp.h: Likewise.
65331         * lib/rename.c: Likewise.
65332         * lib/rmdir.c: Likewise.
65333         * lib/same.c: Likewise.
65334         * lib/savedir.c: Likewise.
65335         * lib/stripslash.c: Likewise.
65336         * lib/tempname.c: Likewise.
65337         * lib/xreadlink.c: Likewise.
65338         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
65339         All uses changed.
65340         * lib/exclude.h: Likewise.
65341
65342         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
65343         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65344         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
65345         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65346         * lib/pathmax.h: Include <limits.h> unconditionally, since other
65347         files have been getting away with it for years (MORE/BSD 4.3
65348         is extinct now).
65349         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
65350         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65351
65352         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
65353         Define to 256, not 255, as per modern POSIX.
65354
65355 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65356
65357         Sync from coreutils.
65358         Use "file name" when talking about file names, instead of "filename"
65359         or "path", as per the GNU coding standards.
65360         * MODULES.html.sh: mkdir-p renamed from makepath.
65361         filenamecat renamed from path-concat.
65362         * modules/filenamecat: Renamed from modules/path-concat.
65363         (Files): filenamecat.h and filenamecat.c renamed from
65364         path-concat.h and path-concat.c.
65365         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
65366         (Include): filenamecat.h, not path-concat.h.
65367         * modules/mkdir-p: Renamed from modules/makepath.
65368         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
65369         makepath.c.
65370         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
65371         (Include): mkdir-p.h, not makepath.h.
65372
65373 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65374
65375         Sync from coreutils.
65376         * m4/mkdir-p.m4: Renamed from makepath.m4.
65377         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
65378         Rename files from makepath.c to mkdir-p.c, and from
65379         makepath.h to mkdir-p.h.
65380         * m4/filenamecat.m4: Renamed from path-concat.m4.
65381         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
65382         Rename files from path-concat.c to filenamecat.c,
65383         and from path-concat.h to filenamecat.h.
65384         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
65385         "file name" in local variables or comments.
65386         * m4/rename.m4: Likewise.
65387
65388 2005-06-01  Bruno Haible  <bruno@clisp.org>
65389
65390         * modules/csharpexec: New file.
65391         * MODULES.html.sh (C#): New section.
65392
65393 2005-06-01  Bruno Haible  <bruno@clisp.org>
65394
65395         * m4/csharp.m4: New file, from GNU gettext.
65396         * m4/csharpexec.m4: New file, from GNU gettext.
65397
65398 2005-06-01  Bruno Haible  <bruno@clisp.org>
65399
65400         * lib/csharpexec.h: New file, from GNU gettext.
65401         * lib/csharpexec.c: New file, from GNU gettext.
65402         * lib/csharpexec.sh.in: New file, from GNU gettext.
65403
65404 2005-05-31  Derek Price  <derek@ximbiot.com>
65405             Paul Eggert  <eggert@cs.ucla.edu>
65406
65407         Sync from cvs.
65408         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65409
65410 2005-05-31  Derek Price  <derek@ximbiot.com>
65411             Paul Eggert  <eggert@cs.ucla.edu>
65412
65413         Sync from cvs.
65414         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65415
65416 2005-05-29  Derek Price  <derek@ximbiot.com>
65417
65418         * config/srclist.txt (glob_.h, glob.c): Add these files.
65419
65420 2005-05-29  Derek Price  <derek@ximbiot.com>
65421
65422         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
65423         * modules/glob: New file.
65424         * modules/getlogin_r: Add link to POSIX spec in description.
65425
65426 2005-05-29  Derek Price  <derek@ximbiot.com>
65427             Paul Eggert  <eggert@cs.ucla.edu>
65428
65429         * m4/glob.m4: New file.
65430
65431 2005-05-29  Derek Price  <derek@ximbiot.com>
65432             Paul Eggert  <eggert@cs.ucla.edu>
65433
65434         * lib/glob_.h, lib/glob.c: New files.
65435
65436 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65437
65438         * modules/fts (Files): Remove m4/inttypes-pri.m4.
65439         * modules/fts-lgpl (Depends-on): Remove gettext.
65440
65441 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65442
65443         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
65444         and don't require gt_INTTYPES_PRI.
65445
65446 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65447
65448         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
65449
65450         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
65451         the configuration hassle isn't worth it.
65452         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
65453         (LONGEST_MODIFIER, PRIuMAX): Remove.
65454
65455 2005-05-27  Bruno Haible  <bruno@clisp.org>
65456
65457         * lib/getlogin_r.h: Remove second include of <stddef.h>.
65458
65459 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65460
65461         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
65462         _POSIX_PTHREAD_SEMANTICS for Solaris.
65463
65464 2005-05-25  Derek Price  <derek@ximbiot.com>
65465
65466         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
65467
65468 2005-05-25  Derek Price  <derek@ximbiot.com>
65469             Paul Eggert  <eggert@cs.ucla.edu>
65470
65471         * modules/getlogin_r, m4/getlogin_r.m4: New files.
65472         * lib/getlogin_r.c, getlogin_r.h: New files.
65473
65474 2005-05-25  Bruno Haible  <bruno@clisp.org>
65475             Derek Price  <derek@ximbiot.com>
65476
65477         * lib/getlogin_r.h: Simplify API documentation.
65478
65479 2005-05-23  Derek Price  <derek@ximbiot.com>
65480
65481         * modules/minmax (Files): Add m4/minmax.m4.
65482         (configure.ac): Add gl_MINMAX.
65483
65484 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65485
65486         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
65487         so that unistd-safer.h (GPL'ed code) need not be included.
65488
65489 2005-05-22  Bruno Haible  <bruno@clisp.org>
65490
65491         * m4/minmax.m4: New file.
65492         Based on a patch by Derek Price <derek@ximbiot.com>.
65493
65494 2005-05-22  Bruno Haible  <bruno@clisp.org>
65495
65496         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
65497         (INT64_MIN): Fix definition.
65498         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
65499
65500         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
65501         NEED_SIGNED_INT_TYPES.
65502
65503         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
65504         HAVE_SYSTEM_INTTYPES.
65505
65506 2005-05-22  Bruno Haible  <bruno@clisp.org>
65507
65508         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
65509         Also include <sys/param.h> if it defines MIN, MAX.
65510         Based on a patch by Derek Price <derek@ximbiot.com>.
65511
65512 2005-05-21  Jim Meyering  <jim@meyering.net>
65513
65514         * modules/fts (Files): Add m4/inttypes-pri.m4.
65515         (Depends-on): Add lstat and remove gettext.  Alphabetize.
65516
65517 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65518
65519         New fts module.
65520         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
65521         (setup_dir, free_dir): New functions.
65522         (enter_dir, leave_dir): Define trivial
65523         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
65524         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
65525         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
65526         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
65527         Move to fts-cycle.c.
65528         (fts_open): Use setup_dir.
65529         (fts_close): Use free_dir.
65530         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
65531         This adds a label and some gotos, but the alternatives were messier.
65532         Check for memory allocation failure when entering a dir.
65533         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
65534         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
65535         (FTS): New member fts_cycle, that is a union that contains the
65536         old active_dir_ht and cycle_state.  All uses changed to mention
65537         fts_cycle.ht and fts_cycle.state.
65538         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
65539         fts.c, with the following changes:
65540         (setup_dir, free_dir): New functions.
65541         (enter_dir): Now returns bool.  Return true if successful, false
65542         if memory exhausted.  All callers changed.
65543         Do not bother partly cleaning up on
65544         memory allocation failure; that is free_dir's job.
65545         However, free ad if hash_insert fails, to avoid memory leak.
65546         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
65547         fts->fts_options to see which union member to use.
65548
65549 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65550
65551         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
65552         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
65553
65554 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65555
65556         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
65557
65558 2005-05-20  Jim Meyering  <jim@meyering.net>
65559
65560         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
65561         Now a macro, to pacify GCC.
65562
65563 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65564
65565         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
65566         of -1.
65567
65568 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65569
65570         * lib/chown.c (rpl_chown): Return -1 on failure.
65571
65572 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65573
65574         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
65575         Don't check for stddef.h.
65576         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
65577         don't use its results.
65578         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
65579         since we include them unconditionally.  Don't require
65580         AM_STDBOOL_H, since stdbool is a prerequisite.
65581         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
65582         since we assume C89 or better.
65583         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
65584         as we don't use their results.
65585         Don't check for fchdir, memmove, memset, strrchr, as we use
65586         them unconditionally.
65587         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
65588         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
65589
65590 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65591
65592         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
65593         Include <stddef.h> unconditionally, since we assume C89 now.
65594         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
65595         * lib/fts.c: Include fts_.h first, to check interface.
65596         Do not include intprops.h; no longer needed.
65597         Include cycle-check.h and hash.h, since fts_.h no longer does.
65598         Remove unnecessary casts of closedir to void.
65599         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
65600         decide whether to decrement nlinks.
65601         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
65602         (FTS): Use struct hash_table * instead of Hash_table, so that
65603         we no longer need to include hash.h here.
65604
65605 2005-05-18  Jim Meyering  <jim@meyering.net>
65606
65607         * modules/dirfd (License): Change to LGPL.  Most of the code
65608         is already in the public domain.
65609
65610 2005-05-18  Jim Meyering  <jim@meyering.net>
65611
65612         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
65613         Reported by Yoann Vandoorselaere.
65614
65615 2005-05-17  Jim Meyering  <jim@meyering.net>
65616
65617         * m4/fts.m4: New file, from coreutils.
65618
65619 2005-05-17  Jim Meyering  <jim@meyering.net>
65620
65621         * lib/fts.c, lib/fts_.h: New files, from coreutils.
65622
65623 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65624
65625         Sync from coreutils.
65626         * m4/unlinkdir.m4: New file.
65627
65628 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65629
65630         Sync from coreutils.
65631         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
65632         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
65633         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
65634         White space changes only.
65635         * lib/makepath.c (make_path): Port to hosts where leading "//" is
65636         special.
65637         * lib/yesno.c: Include getline.h, not ctype.h.
65638         (yesno): Don't remove leading white space; POSIX doesn't allow it.
65639         Use getline to remove arbitrary restriction on response length.
65640
65641 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65642
65643         * config/srclist-update: Spell out "Street" in FSF postal
65644         mail address; this is the style the FSF seems to prefer.
65645
65646         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
65647         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
65648         this updates FSF postal mail address.
65649
65650         Sync from coreutils.
65651         * modules/unlinkdir: New file.
65652         * modules/yesno (Depends-on): Add getline.
65653         * MODULES.html.sh (File system functions): Add unlinkdir.
65654
65655 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65656
65657         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
65658         lib/strsep.h:
65659         Change the initial comment to refer to GPL, not LGPL.
65660         gnulib-tool will change it to LGPL as needed.
65661
65662         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
65663         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
65664         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
65665         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
65666         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
65667         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
65668         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
65669         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
65670         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
65671         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
65672         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
65673         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
65674         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
65675         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
65676         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
65677         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
65678         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
65679         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
65680         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
65681         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
65682         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
65683         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
65684         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
65685         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65686         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65687         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65688         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65689         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65690         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65691         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65692         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65693         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65694         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65695         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65696         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65697         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65698         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65699         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65700         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65701         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65702         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65703         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65704         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65705         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65706         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65707         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65708         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65709         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65710         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65711         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65712         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65713         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65714         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65715         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65716         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65717         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65718         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65719         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65720         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65721         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65722         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65723         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65724         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65725         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65726         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65727         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65728         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65729         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65730         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65731         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65732         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65733         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65734         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65735         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65736         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65737         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65738         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65739         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65740         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65741         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65742         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65743         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65744         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65745         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65746         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65747         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65748         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65749         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65750         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65751         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65752         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65753         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65754         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65755         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65756         lib/yesno.c, lib/yesno.h:
65757         Update FSF postal mail address.
65758
65759 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65760
65761         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65762         tests/test-memmem.c, tests/test-stpncpy.c:
65763         Update FSF postal mail address.
65764
65765 2005-05-13  Bruno Haible  <bruno@clisp.org>
65766
65767         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65768         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65769         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65770         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65771         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65772         Add support for 64-bit integers in the MSVC compiler.
65773
65774 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65775
65776         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65777
65778 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65779
65780         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65781
65782 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65783
65784         * doc/getdate.texi (General date syntax): Don't say that date
65785         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65786         Problem reported by Nic Ferrier.
65787
65788 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65789
65790         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65791         specified in ai_socktype. Fix invalid ai_protocol
65792         check. ai_protocol is usually set to 0 or depending on
65793         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65794         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65795         ai_socktype / ai_protocol in the returned addrinfo structure.
65796
65797 2005-05-10  Simon Josefsson  <jas@extundo.com>
65798
65799         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65800         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65801
65802 2005-05-10  Karl Berry  <karl@gnu.org>
65803
65804         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65805         (from http://www.gnu.org/licenses).
65806         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65807         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65808         fdl.texi suffices.
65809
65810 2005-05-10  Karl Berry  <karl@gnu.org>
65811
65812         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65813         (COPYING.DOC): remove.
65814
65815         * config/srclist-update: new FSF address.
65816
65817 2005-05-10  Derek Price  <derek@ximbiot.com>
65818
65819         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65820         possible.
65821
65822 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65823             Bruno Haible  <bruno@clisp.org>
65824
65825         * modules/inet_ntop: New file.
65826         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65827         inet_ntop.
65828
65829 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65830             Bruno Haible  <bruno@clisp.org>
65831
65832         * m4/inet_ntop.m4: New file.
65833
65834 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65835             Bruno Haible  <bruno@clisp.org>
65836
65837         * lib/inet_ntop.h: New file.
65838         * lib/inet_ntop.c: New file, from glibc with modifications.
65839
65840 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65841
65842         * modules/time_r (License): Change to LGPL.
65843         * modules/extensions (License): Change to LGPL.  Actually,
65844         the license is more permissive than that, but currently gnulib-tool
65845         doesn't know how to handle more-permissive licenses.
65846
65847         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65848         Problem reported by Dave Love.
65849
65850 2005-05-08  Jim Meyering  <jim@meyering.net>
65851
65852         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65853         blank.
65854
65855 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65856
65857         * modules/argmatch (Depends-on): Add stdbool.
65858         * modules/backupfile (Depends-on): Likewise.
65859         * modules/chdir-long (Depends-on): Likewise.
65860         * modules/closeout (Depends-on): Likewise.
65861         * modules/cycle-check (Depends-on): Likewise.
65862         * modules/dirname (Depends-on): Likewise.
65863         * modules/fnmatch (Depends-on): Likewise.
65864         * modules/fsusage (Depends-on): Likewise.
65865         * modules/fwriteerror (Depends-on): Likewise.
65866         * modules/getcwd (Depends-on): Likewise.
65867         * modules/getloadavg (Depends-on): Likewise.
65868         * modules/hard-locale (Depends-on): Likewise.
65869         * modules/makepath (Depends-on): Likewise.
65870         * modules/mountlist (Depends-on): Likewise.
65871         * modules/nanosleep (Depends-on): Likewise.
65872         * modules/posixtm (Depends-on): Likewise.
65873         * modules/quotearg (Depends-on): Likewise.
65874         * modules/readtokens (Depends-on): Likewise.
65875         * modules/readtokens0 (Depends-on): Likewise.
65876         * modules/readutmp (Depends-on): Likewise.
65877         * modules/save-cwd (Depends-on): Likewise.
65878         * modules/strftime (Depends-on): Likewise.
65879         * modules/userspec (Depends-on): Likewise.
65880         * modules/utimecmp (Depends-on): Likewise.
65881         * modules/xgetcwd (Depends-on): Likewise.
65882         * modules/xnanosleep (Depends-on): Likewise.
65883         * modules/xstrtod (Depends-on): Likewise.
65884         * modules/yesno (Depends-on): Likewise.
65885
65886 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65887
65888         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65889         needless checks.
65890
65891 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65892
65893         Merge from coreutils.  Among other things,
65894         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65895         * lib/fd-safer.c: New file.
65896         * lib/fcntl-safer.h, open-safer.c: Remove.
65897         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65898         * lib/dup-safer.c: Include unistd-safer.h first.
65899         Don't include errno.h.
65900         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65901         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65902         * lib/file-type.c: Rely on file-type.h change.
65903         * lib/getloadavg.c: Include unistd-safer.h.
65904         (getloadavg): Use safer open.
65905         * lib/getusershell.c: Include "stdio-safer.h".
65906         (getusershell): Use safer fopen.
65907         * lib/long-options.c (long_options): Use NULL rather than 0.
65908         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65909         'free'.
65910         * lib/modechange.c: Likewise.
65911         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65912         (MODE_DONE): New constant.
65913         (struct mode_change): Remove 'next' member.
65914         (make_node_op_equals): New function; like the old one of the
65915         same name, except it allocates an array.
65916         (mode_compile, mode_create_from_ref): Use it.
65917         (mode_compile): Allocate result as an array, not a linked list.
65918         Parse octal string ourself, so that we catch mistakes like "+0".
65919         (mode_adjust): Arg is an array, not a linked list.
65920         * lib/modechange.c: Include stat-macros.h, xalloc.h.
65921         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
65922         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
65923         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
65924         Remove.  This is now stat-macros.h's job.
65925         (talloc): Remove.  All callers replaced by xalloc, so that
65926         our invokers don't have to worry about reporting memory failures.
65927         (make_node_op_equals): Remove.
65928         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65929         New constants.
65930         (struct mode_change): Moved here from modechange.h.
65931         (mode_append_entry): Remove.
65932         (mode_compile): Remove MASKED_OPS arg, since it encouraged
65933         apps to have incorrect behavior.  Use simpler algorithm for head
65934         and tail.  Don't futz with umask; that's now the job of mode_adjust.
65935         Detect more invalid usages rather than having somewhat-random behavior.
65936         Don't insert an "a=" action, as that leads to incorrect behavior.
65937         (mode_compile, mode_create_from_ref): Return NULL on error instead
65938         of an enum, since now there's only one way to have an error.  All
65939         callers changed.
65940         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
65941         at the correct time.  Simplify calculation of "+u" and its ilk.
65942         Don't mishandle "+X".
65943         (mode_free): Remove "register" and localize decls.
65944         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65945         (struct mode_change): Move to modechange.c; callers don't
65946         need to see this stuff.
65947         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
65948         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
65949         (mode_change, mode_adjust): Reflect the new signatures noted above.
65950         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
65951         that might redefine system include files.
65952         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
65953         (my_usleep): Use NULL rather than (void *) 0.
65954         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
65955         Use siginterrupt to specify that system calls should be interrupted.
65956         (rpl_nanosleep): Move initialization of suspended closer to call of
65957         my_usleep.
65958         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
65959         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
65960         (desirable_utmp_entry): New function.
65961         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
65962         using x2nrealloc, to simplify logic.
65963         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
65964         size calculation.  Do not assume utmp file is a regular file.
65965         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
65966         (READ_UTMP_CHECK_PIDS): New constant.
65967         * lib/save-cwd.c: Include unistd-safer.h.
65968         (save_cwd): Use fd_safer.
65969         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
65970         [!_LIBC] Include "stat-macros.h" instead.
65971         * lib/unistd-safer.h (fd_safer): New decl.
65972
65973 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65974
65975         * modules/getloadavg (Depends-on): Add unistd-safer.
65976         * modules/getusershell (Depends-on): Add stdio-safer.
65977         * modules/lstat (Depends-on): Remove xalloc.
65978         * modules/mkstemp (Depends-on): Add stat-macros.
65979         * modules/modechange (Depends-on): Remove xstrtol.
65980         Add stat-macros, xalloc.
65981         * modules/save-cwd (Depends-on): Add unistd-safer.
65982         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
65983         * modules/unistd-safer (Files): Add lib/fd-safer.c
65984         (Makefile.am): Remove lib_SOURCES.
65985
65986         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
65987         Remove fcntl-safer; unistd-safer supersedes it.
65988
65989 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65990
65991         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
65992         AC_HEADER_STAT.
65993         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
65994         (gl_PREREQ_CHOWN): Remove.
65995         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
65996         it.  Don't require AC_HEADER_STAT.
65997         (gl_PREREQ_LSTAT): Remove.
65998         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
65999         Don't require AC_HEADER_STAT.
66000         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
66001         (gl_PREREQ_RMDIR): Remove.
66002         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
66003         mention stat-macros.h or AC_HEADER_STAT, since we'll make
66004         the stat-macros module a prerequisite.
66005         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
66006         * m4/filemode.m4 (gl_FILEMODE): Likewise.
66007         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
66008         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
66009         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
66010         variable names.
66011         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
66012         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
66013         variable prefixes.
66014         * m4/fcntl-safer.m4: Remove.
66015         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
66016         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
66017         Invoke gl_PREREQ_FD_SAFER.
66018         (gl_PREREQ_FD_SAFER): New macro.
66019         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
66020         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
66021         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
66022         Remove duplicate call to AC_LIBOBJ(readutmp).
66023         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
66024
66025         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
66026         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
66027
66028 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66029
66030         * MODULES.html.sh (Misc): Add byteswap.
66031
66032 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66033
66034         * modules/getcwd (Depends-on): Add extensions.
66035         * modules/openat (Depends-on): Likewise.
66036
66037 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66038
66039         * modules/byteswap: New file.
66040
66041 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66042
66043         * m4/byteswap.m4: New file.
66044
66045 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66046
66047         * lib/byteswap_.h: New file.
66048
66049 2005-04-25  Karl Berry  <karl@gnu.org>
66050
66051         * m4/gettext.m4: Update from GNU gettext 0.14.4.
66052
66053 2005-04-25  Albert Chin  <china@thewrittenword.com>
66054
66055         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
66056         Toolkit C bug.
66057
66058 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
66059
66060         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
66061         (func_ln_if_changed) Remove forcibly for no error message
66062         in case file does not exist.
66063
66064 2005-04-19  Simon Josefsson  <jas@extundo.com>
66065
66066         * gnulib-tool (Options): Make --symlink mean --symbolic.
66067
66068 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
66069
66070         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
66071
66072 2005-04-16  Simon Josefsson  <jas@extundo.com>
66073
66074         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
66075
66076 2005-04-15  Simon Josefsson  <jas@extundo.com>
66077
66078         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
66079
66080 2005-04-15  Simon Josefsson  <jas@extundo.com>
66081
66082         * gnulib-tool: Rename --symlink to --symbolic.
66083
66084 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
66085
66086         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
66087         symbolic links to files instead of copying/moving.  Add --aux-dir,
66088         specifying directory relative --dir where auxiliary build tools
66089         are placed.
66090
66091 2005-04-14  Bruno Haible  <bruno@clisp.org>
66092
66093         * modules/allocsa (License): Change to LGPL.
66094         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
66095
66096 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66097
66098         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
66099         that "UTC +1 second" continues to work.  Problem reported
66100         by Dmitry V. Levin.
66101         (relunit_snumber): New rule.
66102         (relunit): Use it.
66103
66104 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66105
66106         * lib/getdate.y (universal_time_zone_table): New constant.
66107         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
66108         universal_time_zone_table.
66109         (lookup_zone): Prefer universal_time_zone_table to
66110         local_time_zone_table, so that "GMT" time stamps are allowed in
66111         London during the summer.  Problem reported by Ian Abbott.
66112
66113 2005-04-12  Jim Meyering  <jim@meyering.net>
66114
66115         * lib/human.c (humblock): Set *options even when returning due to
66116         xstrtoumax conversion failure.  Thanks to a used-uninitialized
66117         warning from gcc-4.
66118
66119 2005-04-09  Jim Meyering  <jim@meyering.net>
66120
66121         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
66122         -Wuninitialized: initialize tm0.tm_year.
66123
66124 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66125
66126         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
66127         count, since there's no maximum.  All uses changed.
66128         Add member dsts_seen.
66129         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
66130         not being INT_MAX.
66131         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
66132         Use pc_rels_seen to decide whther a date is absolute.
66133
66134         * lib/getdate.y (number): Don't overwrite year.
66135         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
66136         check.
66137
66138 2005-04-02  Simon Josefsson  <jas@extundo.com>
66139
66140         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
66141         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
66142
66143 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
66144
66145         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
66146         where no absolute path name can be longer than PATH_MAX.
66147
66148 2005-03-27  Jim Meyering  <jim@meyering.net>
66149
66150         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
66151
66152 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66153
66154         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
66155         "one's complement" -> "ones' complement" in comment, as per Knuth.
66156         "value of type" -> "type or expression" in comment.
66157         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
66158
66159 2005-03-26  Jim Meyering  <jim@meyering.net>
66160
66161         Comment nits.
66162         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
66163         Correct typos: s/or/of/.
66164
66165 2005-03-26  Jim Meyering  <jim@meyering.net>
66166
66167         * modules/check-include-files: Move to ../ and rename to...
66168         * check-module: ...this.
66169
66170 2005-03-25  Jim Meyering  <jim@meyering.net>
66171
66172         * modules/xvasprintf (Files): Add xalloc.h.
66173
66174 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66175
66176         * modules/gettext (Files): config/config.rpath ->
66177         build-aux/config.rpath
66178         * modules/iconv (Files): Likewise.
66179         Problem reported by Oskar Liljeblad.
66180
66181 2005-03-23  Jim Meyering  <jim@meyering.net>
66182
66183         * modules/check-include-files: New script to check for
66184         missing dependencies, multiple includes, etc.
66185
66186         * modules/c-strtold (Depends-on): Add xalloc.
66187         * modules/c-strtod (Depends-on): Add xalloc.
66188         * modules/hash (Depends-on): Add xalloc.
66189         (Files): Remove lib/xalloc.h.
66190
66191         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
66192         * modules/userspec (Files): Add lib/inttostr.h.
66193
66194 2005-03-23  Jim Meyering  <jim@meyering.net>
66195
66196         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
66197
66198 2005-03-22  Jim Meyering  <jim@meyering.net>
66199
66200         * modules/stat-macros: New module.
66201         * modules/canonicalize, modules/euidaccess, modules/file-type,
66202         * modules/filemode, modules/lchown, modules/makepath,
66203         * modules/rmdir, modules/stat: Depend on new stat-macros module
66204         rather than listing lib/stat-macros.h manually.
66205         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
66206
66207 2005-03-22  Jim Meyering  <jim@meyering.net>
66208
66209         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
66210
66211 2005-03-22  Bruno Haible  <bruno@clisp.org>
66212
66213         * config/srclist.txt: Replace target directory 'config' with
66214         'build-aux'.
66215         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
66216         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
66217         ../build-aux/.
66218
66219 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66220
66221         * modules/chdir-long (Depends-on): Add mempcpy.
66222
66223         * modules/acl, modules/backupfile, modules/c-strtod,
66224         modules/c-strtold, modules/canon-host, modules/canonicalize,
66225         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
66226         modules/exclude, modules/exitfail, modules/file-type,
66227         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
66228         modules/getdate, modules/getline, modules/getpagesize,
66229         modules/getpass, modules/getugroups, modules/group-member,
66230         modules/hard-locale, modules/hash, modules/human, modules/idcache,
66231         modules/inttostr, modules/long-options, modules/makepath,
66232         modules/md5, modules/memcasecmp, modules/memcoll,
66233         modules/modechange, modules/mountlist, modules/path-concat,
66234         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
66235         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
66236         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
66237         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
66238         modules/strftime, modules/strndup, modules/strverscmp,
66239         modules/timespec, modules/unlocked-io, modules/userspec,
66240         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
66241         modules/yesno:
66242         Remove lib_SOURCES line from Makefile.am section, as this is now
66243         done automatically by the corresponding Autoconf macro.
66244
66245 2005-03-21  Jim Meyering  <jim@meyering.net>
66246
66247         Changes imported from coreutils.
66248
66249         * lib/cycle-check.c: Don't include xalloc.h.
66250
66251         * lib/path-concat.c: Don't include assert.h.
66252         (path_concat): Remove assertion that would have triggered
66253         for ABASE starting with more than one slash.
66254         Reported by Andreas Schwab.
66255
66256         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
66257         properly when ABASE is an absolute file name.
66258         Correct the description of this function.
66259         Include <assert.h>.
66260         Add an assertion and a test driver.
66261         This fixes a bug introduced on 2004-07-02.
66262         Andreas Schwab reported the resulting failure of cp --parents:
66263         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
66264
66265 2005-03-21  Jim Meyering  <jim@meyering.net>
66266
66267         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
66268         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
66269
66270 2005-03-21  Jim Meyering  <jim@meyering.net>
66271         and  Paul Eggert  <eggert@cs.ucla.edu>
66272
66273         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
66274         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
66275         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
66276         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
66277         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
66278         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
66279         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
66280         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
66281         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
66282         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
66283         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
66284         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
66285         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
66286         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
66287         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
66288         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
66289         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
66290         for these modules.
66291
66292 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
66293
66294         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
66295         (which shouldn't happen), generate nothing instead of returning 0
66296         immediately, so that nstrftime (NULL, ...) doesn't return 0.
66297
66298 2005-03-16  Bruno Haible  <bruno@clisp.org>
66299
66300         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
66301         HAVE_LONGLONG_64BIT.
66302
66303 2005-03-16  Bruno Haible  <bruno@clisp.org>
66304
66305         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
66306         HAVE_LONGLONG_64BIT.
66307
66308 2005-03-16  Bruno Haible  <bruno@clisp.org>
66309
66310         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
66311         HAVE_LONGLONG_64BIT.
66312
66313 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66314
66315         * lib/strftime.c (my_strftime): Prepend space to format so that we can
66316         reliably distinguish strftime failure from empty output on POSIX
66317         hosts.
66318
66319 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66320
66321         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
66322         (iconv_string): Don't guess a size-zero buffer, as that might cause
66323         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
66324         result would be 'too large', where 'too large' is (heuristically)
66325         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
66326         overflow concerns.  This will prevent some unwanted malloc failures
66327         when the inputs are very large.
66328
66329 2005-03-15  Karl Berry  <karl@gnu.org>
66330
66331         * config/srclist.txt (config.rpath): from gettext.
66332         * config/config.rpath: update.
66333
66334 2005-03-15  Bruno Haible  <bruno@clisp.org>
66335
66336         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
66337         to 'negate'.
66338
66339         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
66340         variable.
66341
66342         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
66343         results.
66344
66345 2005-03-14  Simon Josefsson  <jas@extundo.com>
66346
66347         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
66348         <fx@gnu.org>.
66349
66350 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
66351
66352         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
66353         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
66354         intprops.h.
66355         * lib/strtol.c: Likewise.
66356
66357 2005-03-14  Jim Meyering  <jim@meyering.net>
66358
66359         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
66360         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
66361         to be nonzero so that we (and caller) can detect the difference
66362         between a valid zero-length expansion and an error return, even
66363         when the underlying strftime fails before writing anything into
66364         that location.
66365
66366 2005-03-14  Bruno Haible  <bruno@clisp.org>
66367
66368         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
66369         Update from GNU gettext 0.14.3.
66370
66371 2005-03-10  Jim Meyering  <jim@meyering.net>
66372
66373         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
66374
66375 2005-03-10  Jim Meyering  <jim@meyering.net>
66376
66377         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
66378         so that this module works on systems without fchdir.
66379
66380 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
66381
66382         Factor int-properties macros into a single file, except for
66383         glibc-related files.
66384         * lib/intprops.h: New file.
66385         * lib/getloadavg.c: Include it instead of limits.h.
66386         (INT_STRLEN_BOUND): Remove.
66387         * lib/human.c: Include intprops.h.
66388         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
66389         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
66390         302/1000.
66391         * lib/inttostr.h: Include intprops.h instead of limits.h.
66392         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
66393         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
66394         for consistency with intprops.h.
66395         (time_t_is_integer, twos_complement_arithmetic): Use them.
66396         * lib/sig2str.h: Include <signal.h>, intprops.h.
66397         (INT_STRLEN_BOUND): Remove.
66398         * lib/strftime.c (TYPE_SIGNED): Remove.
66399         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
66400         * lib/strtol.c: Adjust comments to match intprops.h.
66401         * lib/userspec.c: Include intprops.h.
66402         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
66403         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
66404         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
66405         instead of rolling our own expressions.
66406         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
66407
66408         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
66409         instead of int.
66410         (my_strftime): Do not mishandle years close to INT_MAX, by doing
66411         the right thing even if adding 1900 would overflow.  Similarly
66412         for tm_mon + 1 and tm_yday + 1.
66413         Make %Y always equivalent to %C%y, and similarly for %G and %g.
66414         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
66415         (DO_SIGNED_NUMBER): New macro.
66416         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
66417
66418 2005-03-07  Bruno Haible  <bruno@clisp.org>
66419
66420         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
66421
66422 2005-03-07  Bruno Haible  <bruno@clisp.org>
66423
66424         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
66425
66426 2005-03-04  Derek R. Price  <derek@ximbiot.com>
66427
66428         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
66429         (func_import): Only replace files via --import when they have actually
66430         changed.
66431
66432 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66433
66434         * m4/mmap-anon.m4: New file.
66435         * m4/pagealign_alloc.m4: New file.
66436
66437 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66438             Bruno Haible  <bruno@clisp.org>
66439
66440         * modules/pagealign_alloc: New file.
66441         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
66442
66443 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66444             Bruno Haible  <bruno@clisp.org>
66445
66446         * lib/pagealign_alloc.h: New file.
66447         * lib/pagealign_alloc.c: New file.
66448
66449 2005-03-03  Bruno Haible  <bruno@clisp.org>
66450
66451         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
66452         Use an all-permissive copyright notice, recommended by RMS.
66453
66454 2005-03-02  Bruno Haible  <bruno@clisp.org>
66455
66456         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
66457         of AIX, the replacement has to be done only after <string.h> is
66458         included, therefore not in config.h. stpncpy.h does the replacement,
66459         and stpncpy.c uses it.
66460
66461 2005-03-02  Bruno Haible  <bruno@clisp.org>
66462
66463         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
66464         stpncpy.c uses it.
66465
66466 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66467
66468         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
66469         The workaround isn't strictly needed for POSIX conformance, and
66470         it's too much of a pain to configure and maintain.  We'll ask
66471         people to fix their kernels instead.
66472         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
66473         (NANOSLEEP_BUG_WORKAROUND): Remove.
66474         (xnanosleep): Remove the workaround.
66475
66476 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66477
66478         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
66479         Reported by Derek Price.
66480         (Include): Add "timespec.h".
66481
66482         * modules/xnanosleep (Depends-on): Remove gethrxtime.
66483
66484 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66485
66486         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
66487         to detect nanosleep bug.
66488
66489 2005-03-01  Bruno Haible  <bruno@clisp.org>
66490
66491         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
66492
66493 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
66494
66495         * modules/gethrxtime: New file.
66496         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
66497         (Depends-on): Add gethrxtime.
66498         (configure.ac): Add gl_XNANOSLEEP.
66499         (Makefile.am): Remove lib_SOURCES line.
66500
66501 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66502
66503         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
66504         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
66505
66506 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66507
66508         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
66509         * lib/timespec.h (gettime): Return void, since it always
66510         succeeds now.  All uses changed.
66511         * lib/gettime.c (gettime) Likewise.
66512         [HAVE_NANOTIME]: Prefer nanotime.
66513         Assume gettimeofday succeeds, as POSIX requires.
66514         Assime time () succeeds, since other code already does.
66515         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
66516         (timespec_subtract): Remove.
66517         (NANOSLEEP_BUG_WORKAROUND): New constant.
66518         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
66519         things considerably.  Use it only on GNU/Linux hosts, since the
66520         workaround shouldn't be needed elsewhere.
66521
66522 2005-02-24  Bruno Haible  <bruno@clisp.org>
66523
66524         * modules/gettext (Files): Add m4/glibc2.m4.
66525
66526 2005-02-24  Bruno Haible  <bruno@clisp.org>
66527
66528         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
66529         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
66530         * m4/progtest.m4:
66531         Update from GNU gettext 0.14.2.
66532         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
66533
66534 2005-02-24  Bruno Haible  <bruno@clisp.org>
66535
66536         * lib/localcharset.c: Update from GNU gettext 0.14.2.
66537         * lib/config.charset: Update from GNU gettext 0.14.2.
66538
66539 2005-02-24  Bruno Haible  <bruno@clisp.org>
66540
66541         * lib/gettext.h: Update from GNU gettext 0.14.2.
66542
66543 2005-02-23  Simon Josefsson  <jas@extundo.com>
66544
66545         * m4/iconvme.m4: New file.
66546
66547 2005-02-23  Jim Meyering  <jim@meyering.net>
66548
66549         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
66550         change.
66551         Thanks to Bruno Haible for catching it.
66552
66553 2005-02-22  Simon Josefsson  <jas@extundo.com>
66554
66555         * modules/iconvme: New file.
66556
66557         * MODULES.html.sh: Add iconvme.
66558
66559 2005-02-22  Simon Josefsson  <jas@extundo.com>
66560
66561         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
66562
66563 2005-02-22  Simon Josefsson  <jas@extundo.com>
66564
66565         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
66566
66567 2005-02-22  Jim Meyering  <jim@meyering.net>
66568
66569         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
66570         s/ifndef/ifdef/.
66571
66572 2005-02-20  Neil Conway  <neilc@samurai.com>
66573
66574         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
66575         returned by OSX/Darwin if the specified buffer is not large
66576         enough for the hostname.
66577
66578 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66579
66580         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
66581         pass it to _help, otherwise the latter coredumps trying to
66582         dereference state.root_argp.
66583
66584 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66585
66586         * modules/chdir-long (Depends-on): Add memrchr.
66587         * modules/memrchr (Files): Add lib/memrchr.h.
66588         (Include): "memrchr.h".
66589
66590 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66591
66592         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
66593
66594 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66595
66596         * lib/memrchr.h: New file.
66597         * lib/chdir-long.c: Include it.
66598         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
66599         Don't bother including stddef.h.
66600
66601 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66602
66603         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
66604         inclusion.
66605         Include <sys/types.h>, for dev_t.
66606         (ME_DUMMY, ME_REMOTE): Move from here....
66607         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
66608         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
66609         Dmitry V. Levin.
66610         Include mountlist.h first, to test the interface.
66611
66612 2005-01-29  Bruno Haible  <bruno@clisp.org>
66613
66614         * lib/progname.c (program_name): Initialize.
66615         Needed when linking statically on MacOS X.
66616
66617 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66618
66619         Sync from coreutils.
66620         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
66621         (Depends-on): Add c-strtod.
66622         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
66623
66624 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66625
66626         Sync from coreutils.
66627         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
66628
66629         Remove files that are specific to coreutils.
66630         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
66631
66632 2005-01-28  Bruno Haible  <bruno@clisp.org>
66633
66634         * modules/javacomp: New file.
66635         * MODULES.html.sh (Java): Add javacomp.
66636
66637 2005-01-28  Bruno Haible  <bruno@clisp.org>
66638
66639         * m4/javacomp.m4: New file, from GNU gettext.
66640
66641 2005-01-28  Bruno Haible  <bruno@clisp.org>
66642
66643         * lib/javacomp.sh.in: New file, from GNU gettext.
66644         * lib/javacomp.h: New file, from GNU gettext.
66645         * lib/javacomp.c: New file, from GNU gettext.
66646
66647 2005-01-26  Simon Josefsson  <jas@extundo.com>
66648
66649         * lib/gai_strerror.c: Use GPL in header.
66650
66651 2005-01-26  Bruno Haible  <bruno@clisp.org>
66652
66653         * modules/javaexec: New file.
66654         * MODULES.html.sh (Java): Add javaexec.
66655
66656 2005-01-26  Bruno Haible  <bruno@clisp.org>
66657
66658         * m4/javaexec.m4: New file, from GNU gettext.
66659
66660 2005-01-26  Bruno Haible  <bruno@clisp.org>
66661
66662         * lib/javaexec.sh.in: New file, from GNU gettext.
66663         * lib/javaexec.h: New file, from GNU gettext.
66664         * lib/javaexec.c: New file, from GNU gettext.
66665
66666 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66667
66668         * modules/lchown (Depends-on): Remove lchown.h
66669
66670 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66671
66672         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
66673         must be defined if the header file was not found, in order
66674         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
66675
66676 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66677
66678         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
66679         initializers for struct pentry_state.
66680         (__argp_error): Check return value of __asprintf
66681         (__argp_failure): Translate error message
66682
66683         * lib/argp-parse.c: Removed braces around the expansion of N_()
66684
66685 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66686
66687         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66688         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66689         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66690         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66691         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66692         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66693         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66694         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66695         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66696         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66697         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66698         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66699         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66700         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66701         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66702         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66703         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66704         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66705         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66706         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66707         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66708         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66709         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66710         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66711         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66712         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66713         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66714         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66715         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66716         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66717         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66718         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66719         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66720         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66721         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66722         Use an all-permissive copyright notice, recommended by RMS.
66723
66724 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66725
66726         * modules/chdir-long (Depends-on): Remove mempcpy.
66727
66728 2005-01-21  Jim Meyering  <jim@meyering.net>
66729
66730         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66731         same value as for Solaris 9.
66732
66733         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66734         component length.  This included changing the parameter to be
66735         of type `char *' rather than `char const *'.
66736         * lib/chdir-long.h (chdir_long): Update prototype.
66737
66738         * lib/openat.c (fdopendir, fstatat): New functions.
66739         * lib/openat.h: Include headers required for use of DIR and struct
66740         stat.
66741         [AT_SYMLINK_NOFOLLOW]: Define.
66742         (fdopendir, fstatat): Add prototypes.
66743
66744 2005-01-21  Bruno Haible  <bruno@clisp.org>
66745
66746         * modules/classpath: New file.
66747         * MODULES.html.sh (Java): Add classpath.
66748
66749 2005-01-21  Bruno Haible  <bruno@clisp.org>
66750
66751         * lib/classpath.h: New file, from GNU gettext.
66752         * lib/classpath.c: New file, from GNU gettext.
66753
66754 2005-01-20  Simon Josefsson  <jas@extundo.com>
66755
66756         * modules/version-etc-fsf: New file.
66757
66758 2005-01-20  Simon Josefsson  <jas@extundo.com>
66759
66760         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66761         * lib/version-etc.c: Remove version_etc_copyright.
66762         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66763         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66764
66765 2005-01-20  Simon Josefsson  <jas@extundo.com>
66766
66767         * lib/base64.h (isbase64): Add.
66768
66769         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66770         using a unsigned prototype, don't inline.
66771         (base64_decode): Use it.
66772
66773 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66774
66775         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66776         it.
66777
66778 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66779
66780         * lib/save-cwd.c (save_cwd): Remove code to support the case
66781         where fchdir is missing or flaky.
66782
66783 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66784
66785         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66786
66787 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66788
66789         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66790         AC_LIBSOURCES now does this.
66791         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66792         with new ullong_max module.
66793
66794 2005-01-19  Bruno Haible  <bruno@clisp.org>
66795
66796         * modules/sh-quote: New file.
66797         * MODULES.html.sh (Executing programs): Add sh-quote.
66798
66799 2005-01-19  Bruno Haible  <bruno@clisp.org>
66800
66801         * lib/sh-quote.h: New file, from GNU gettext.
66802         * lib/sh-quote.c: New file, from GNU gettext.
66803
66804 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66805
66806         Merge from coreutils.
66807         * m4/ullong_max.m4: New file.
66808         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66809         (gl_MACROS): Assume localeconv exists.
66810
66811 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66812
66813         Merge changes from coreutils, as described below in several
66814         changelogs dated today.
66815
66816         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66817         (O_DIRECTORY): Remove; not needed here, since "." must be
66818         a directory.  All uses removed.
66819         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66820         universal on Suns, and we also need to test for IRIX.
66821         Revamp code to use 'if' rather than '#if'.
66822         Avoid unnecessary comparison of cwd->desc to 0.
66823
66824         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66825         for known valid error numbers rather than observed invalid ones.
66826
66827 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66828
66829         * modules/ullong_max: New file.
66830
66831         * modules/chdir-long, modules/openat: New files.
66832         * modules/save-cwd (Depends-on): Depend on chdir-long.
66833         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66834
66835 2005-01-18  Jim Meyering  <jim@meyering.net>
66836
66837         Merge from coreutils.
66838         * m4/chdir-long.m4, m4/openat.m4: New files.
66839         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66840         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66841         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66842         is sane and DOES follow symlinks.  Besides, testing 20 different
66843         systems found no broken chown implementations.
66844         Prompted by a change in rsync's copy of this macro.
66845         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66846
66847         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66848
66849         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66850         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66851         NULL-means-set-to-current-time semantics.
66852         Remove temporary file immediately, rather than waiting
66853         for configure's at-exit trap code to do it.
66854
66855 2005-01-18  Jim Meyering  <jim@meyering.net>
66856
66857         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66858
66859         * lib/utimens.c (futimens): Account for the fact that futimes
66860         can also fail with errno == ENOSYS or errno == ENOENT.
66861         Patch from Dmitry V. Levin.
66862
66863         Change the name of the robust chdir function from chdir to chdir_long.
66864         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66865         (restore_cwd): Use chdir_long, not chdir.
66866         * lib/chdir-long.c: Renamed from chdir.c.
66867         * lib/chdir-long.h: Renamed from chdir.h.
66868         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66869         Hurd.
66870
66871 2005-01-18  Bruno Haible  <bruno@clisp.org>
66872
66873         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66874         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66875         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66876         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66877         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66878         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66879         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66880         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66881         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66882         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66883         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66884         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66885         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66886         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66887         Use an all-permissive copyright notice, recommended by RMS.
66888
66889 2005-01-18  Bob Proulx  <bob@proulx.com>
66890
66891         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66892         simplify offsetof() macro construct to avoid compile failure with
66893         native HP-UX 11.0 ANSI C compiler.
66894
66895 2005-01-17  Bruno Haible  <bruno@clisp.org>
66896
66897         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66898         redundant because stpncpy.m4 takes care of it.
66899
66900 2005-01-17  Bruno Haible  <bruno@clisp.org>
66901
66902         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66903
66904 2005-01-17  Bruno Haible  <bruno@clisp.org>
66905
66906         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66907         used.
66908
66909 2005-01-17  Bruno Haible  <bruno@clisp.org>
66910
66911         * lib/fwriteerror.h (fwriteerror): Change specification to include
66912         fclose.
66913         * lib/fwriteerror.c: Include <stdbool.h>.
66914         (fwriteerror): At the end, close the file stream. Record whether
66915         stdout was already closed.
66916
66917 2005-01-17  Bruno Haible  <bruno@clisp.org>
66918
66919         * lib/execute.c (environ): Declare if needed.
66920         * lib/pipe.c (environ): Likewise.
66921         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
66922
66923 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66924
66925         * modules/argp: Depend on vsnprintf
66926
66927 2005-01-10  Jim Meyering  <jim@meyering.net>
66928
66929         * modules/closeout (Depends-on): Add atexit.
66930
66931 2005-01-06  Bruno Haible  <bruno@clisp.org>
66932
66933         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
66934
66935 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66936
66937         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
66938         definitions to be after all include files, to avoid collisions.
66939         Problem reported by Bob Proulx.
66940
66941 2005-01-04  Jim Meyering  <jim@meyering.net>
66942
66943         Changes imported from coreutils.
66944         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
66945         as the mkstemp template, use a temporary directory and an
66946         8.3-friendly template to avoid trouble on systems like DJGPP.
66947         Reported by Juan M. Guerrero via Stepan Kasal.
66948         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
66949         close. Remove the temporary directory right away, rather than waiting
66950         for configure's at-exit trap code to do it.
66951         Suggestion from Stepan Kasal.
66952
66953 2005-01-01  Simon Josefsson  <jas@extundo.com>
66954
66955         * gnulib-tool: Print #include directives when --import'ing.
66956
66957 2004-12-28  Simon Josefsson  <jas@extundo.com>
66958
66959         * tests/test-base64.c: Include required header files.  Remove
66960         unused variables.
66961
66962 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66963
66964         * modules/error (Depends-on): Remove gettext.
66965
66966 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66967
66968         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
66969         not needed.  This removes a dependency on the gettext module.
66970         [defined _LIBC]: Do not include <libintl.h>; not needed.
66971
66972 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66973
66974         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
66975         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
66976
66977 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66978
66979         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
66980         HAVE_DECL_STRTOLD.
66981
66982 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66983
66984         * modules/getdate (Depends-on): Remove alloca-opt.
66985
66986 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66987
66988         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
66989
66990 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66991
66992         * lib/argp-parse.c: Include <stddef.h>.
66993         (alignof, alignto): New macros.
66994         (parser_init): Don't assume that void * is aligned sufficiently
66995         for struct option.
66996
66997         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
66998         need to extend the stack.
66999         (YYINITDEPTH): New macro, so that the initial stack isn't overly
67000         large.
67001
67002 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67003
67004         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
67005
67006 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67007
67008         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
67009         (2004-10-24) change.  Apparently this was a false alarm.
67010
67011         * modules/getdate: Depend on alloca-opt, not alloca.
67012
67013 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67014
67015         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
67016         Remove now-obsolete comment about AIX.
67017         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
67018         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
67019         (YYMAXDEPTH): New macro.
67020
67021 2004-12-18  Simon Josefsson  <jas@extundo.com>
67022
67023         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
67024
67025 2004-12-18  Bruno Haible  <bruno@clisp.org>
67026
67027         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
67028
67029 2004-12-18  Bruno Haible  <bruno@clisp.org>
67030
67031         * lib/fatal-signal.c (fatal_signals): Make non-const.
67032         (init_fatal_signals): New function.
67033         (uninstall_handlers, install_handlers): Ignore signals that were set to
67034         SIG_IGN.
67035         (at_fatal_signal): Call init_fatal_signals.
67036         (init_fatal_signal_set): Likewise. Ignore signals that were set to
67037         SIG_IGN.
67038         Reported by Paul Eggert.
67039
67040 2004-12-18  Bruno Haible  <bruno@clisp.org>
67041
67042         * doc/alloca.texi: New file.
67043         * doc/alloca-opt.texi: New file.
67044
67045 2004-12-17  Jim Meyering  <jim@meyering.net>
67046
67047         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
67048         Otherwise, install-sh could exit with improper exit status when
67049         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
67050
67051 2004-12-16  Simon Josefsson  <jas@extundo.com>
67052
67053         * tests/test-base64.c: Add license.
67054
67055 2004-12-15  Stepan Kasal  <address@hidden>
67056
67057         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
67058
67059 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
67060
67061         * modules/getcwd (Files): Add m4/d-ino.m4.
67062         Suggested by Mark D. Baushke.
67063
67064 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67065
67066         * lib/getdate.y (textint): New member "negative".
67067         (time_zone_hhmm): New function.
67068         Expect 14 shift-reduce conflicts, not 13.
67069         (o_colon_minutes): New rule.
67070         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
67071         (yylex): Set the "negative" member of signed numbers.
67072
67073 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67074
67075         * doc/getdate.texi (Time of day items, Time zone items):
67076         Describe new formats +00:00, UTC+00:00.
67077
67078 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67079
67080         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
67081         spurious "-l"s.  Problem reported by Stepan Kasal.
67082
67083 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
67084
67085         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
67086         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
67087
67088 2004-12-04  Simon Josefsson  <jas@extundo.com>
67089
67090         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
67091         Vandoorselaere <yoann@prelude-ids.org>.
67092
67093 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67094
67095         Changes imported from coreutils.
67096         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
67097         exist.
67098         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
67099
67100 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67101
67102         Changes imported from coreutils.
67103         * lib/hard-locale.c: Assume <locale.h> exists.
67104         Include "strdup.h".
67105         (GLIBC_VERSION): New macro.
67106         (hard_locale): Assume setlocale exists.
67107         Rewrite to avoid #ifdef.
67108         Use strdup rather than malloc + strcpy.
67109         * lib/human.c: Assume <locale.h> exists.
67110         (human_readable): Assume localeconv exists.
67111
67112 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67113
67114         * modules/hard-locale (Depends-on): Add strdup.
67115
67116 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67117
67118         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
67119         convert T2, not T.  (Imported from libc.)
67120
67121 2004-11-30  Simon Josefsson  <jas@extundo.com>
67122
67123         * modules/restrict (License): Change to LGPL.
67124
67125 2004-11-30  Simon Josefsson  <jas@extundo.com>
67126
67127         * m4/restrict.m4: Add copyright and copying conditions.
67128
67129 2004-11-30  Simon Josefsson  <jas@extundo.com>
67130
67131         * m4/base64.m4: New file.
67132
67133 2004-11-30  Simon Josefsson  <jas@extundo.com>
67134
67135         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
67136         base64.
67137
67138         * tests/test-base64.c: New file.
67139
67140         * modules/base64: New file.
67141
67142 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67143
67144         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
67145         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
67146
67147         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
67148
67149 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67150
67151         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
67152         (__getcwd.c): Don't restore errno; glibc doesn't.
67153         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
67154         first, falling back to our code only if its results look suspicious.
67155         Ensure that the resulting buffer is only as large as necessary.
67156
67157         * lib/readutmp.c: Include readutmp.h first.
67158         Include <errno.h>, since readutmp.h no longer does that.
67159         * lib/readutmp.h: Don't include <errno.h>,
67160         <sys/param.h>, <time.h>; not needed to establish interface.
67161         (errno): Remove decl.
67162         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
67163         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
67164         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
67165
67166 2004-11-28  Simon Josefsson  <jas@extundo.com>
67167
67168         * lib/base64.h, base64.c: New file.
67169
67170 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67171
67172         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
67173
67174 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67175
67176         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
67177         (Depends-on): Remove pathmax, same.  Add mempcpy.
67178         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
67179         (Makefile.am): Append getcwd.h to lib_SOURCES.
67180         (Include): Add getcwd.h.
67181         (Maintainer): Change from Jim Meyering to "all, glibc",
67182         since getdate now uses intended-for-glibc code.
67183         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
67184         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
67185
67186 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67187
67188         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
67189         HP's ANSI C compiler.
67190         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
67191         Declaring int functions causes warnings on some modern systems and
67192         shouldn't be needed to compile on ancient ones.
67193         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
67194         defined.
67195
67196         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
67197         with the following changes.
67198         (__set_errno): Parenthesize properly.
67199         Include <stdbool.h>.
67200         (MIN, MAX, MATCHING_INO): New macros.
67201         (__getcwd): Define with prototype, not K&R form.
67202         Use heuristics to allocate default buffer on stack if possible.
67203         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
67204         behavior, and to avoid the PATH_MAX limit when computing
67205         ../../../../...
67206         Use MATCHING_INO to compare inode number to file.
67207         Check for arithmetic overflow in size calculations.
67208         Fix bug in reallocation of dot array that caused getcwd to fail
67209         on directories nested deeper than 75.
67210         Be more careful about saving errno on error.
67211         Do not use realloc; use only free+malloc, as this is a bit
67212         more flexible and avoids a needless copy operation.
67213         Do not inspect st_dev and st_ino for symbolic links; POSIX
67214         doesn't specify the latter.
67215         Check for closedir errors.
67216         Avoid needless casts.
67217         Use "#ifdef weak_alias" around weak_alias, to be like other
67218         glibc code.
67219         The following changes to getcwd.c have effect only when used in
67220         gnulib; they have no effect inside glibc proper.
67221         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
67222         as alloca isn't used.
67223         (alloca, __alloca): Likewise.
67224         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
67225         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67226         unconditionally, as gnulib assumes C89 or better.
67227         Do not include <sys/param.h>.
67228         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
67229         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
67230         better.
67231         (NULL) [!defined NULL]: Remove; we assume C89 or better.
67232         Include <dirent.h> in a way that is compatible with modern Autoconf.
67233         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
67234         New macros, if not already defined.
67235         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
67236         Use "_LIBC", not "defined _LIBC", for consistency.
67237         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
67238         a mempcpy module.
67239         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
67240         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
67241         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
67242         credit only to Jim Meyering and adjust the copyright dates.
67243         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
67244         <stdlib.h>, <unistd.h>, "pathmax.h".
67245         Instead, include "xgetcwd.h" (first) and "getcwd.h".
67246         (INITIAL_BUFFER_SIZE): Remove.
67247         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
67248
67249 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67250
67251         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
67252         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
67253         Use the _ONCE methods, for efficiency.
67254         Check for fcntl.h.  In test program, include <errno.h>
67255         and <fcntl.h> if available.  Remove old K&R cruft from
67256         test program.  Check for common errors in GNU/Linux,
67257         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
67258         don't do AC_LIBOBJ, as that's getcwd.m4's job.
67259         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
67260         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
67261         name accordingly.
67262         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
67263         accommodate new getcwd.c.
67264         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
67265         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
67266         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
67267         that's all we need now.
67268
67269 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67270
67271         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
67272         argp-parse.c depends on getopt internals, that means we should
67273         always use our getopt, to be on the safe side.
67274         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
67275         order not to spoil the result of an eventual previous invocation
67276         of gl_GETOPT_SUBSTITUTE.
67277
67278 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67279
67280         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
67281         redefinition warnings. To avoid them, include the defines
67282         in `#if !defined __need_getopt ... #endif'. The only place
67283         where __getopt_argv_const is used is in definitions
67284         of getopt_long and getopt_long_only below, which are as well
67285         protected by `#ifndef __need_getopt'.
67286         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
67287         __need_getopt after including <stdio.h> and <unistd.h> These
67288         headers might have defined it.
67289
67290 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67291
67292         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
67293
67294 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67295
67296         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
67297         (futimens): New function, which uses futimes if available.
67298         (futimens, utimens): Support timespec==NULL, with same semantics
67299         as utime and utimens.
67300         * lib/utimens.h (futimens): New decl.
67301
67302 2004-11-23  Jim Meyering  <jim@meyering.net>
67303
67304         * lib/getopt_.h: Remove trailing blanks.
67305
67306 2004-11-23  Jim Meyering  <jim@meyering.net>
67307
67308         * lib/__fpending.c: Add comment.
67309
67310 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
67311
67312         * modules/canonicalize (Depends-on): Add xreadlink.
67313         Problem reported by James Youngman.
67314
67315 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67316
67317         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
67318         New macros.
67319         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
67320         optopt): Use them instead of invoking ## directly; otherwise, the
67321         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
67322
67323 2004-11-19  Bruno Haible  <bruno@clisp.org>
67324
67325         * lib/strtok_r.c: Move comments from here...
67326         * lib/strtok_r.h: ... to here.
67327
67328 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67329
67330         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
67331         implementations that mishandle size_t overflow.
67332
67333 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67334
67335         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
67336         might fail.  Problem reported by Yoann Vandoorselaere.
67337         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
67338         implementations that mishandle size_t overflow.
67339
67340 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67341
67342         * modules/canon-host (Depends-on): Add strdup.
67343
67344 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67345
67346         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
67347
67348 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67349
67350         * lib/canon-host.c: Include "strdup.h".
67351         (canon_host): Use getaddrinfo if available, so that IPv6 works.
67352         Use strdup instead of malloc/strcpy to duplicate strings.
67353
67354         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
67355         (human_space_before_unit): New constant.
67356         * lib/human.c (human_readable): Support it.
67357
67358         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
67359         (xgetcwd): Set errno correctly when failing.
67360         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
67361         the failure is actually due to a PATH_MAX problem.
67362
67363         Further getopt changes to make it more likely that glibc will
67364         buy the changes back.
67365         * lib/getopt.c (POSIXLY_CORRECT): New constant.
67366         (getopt): Use it, so to preserve glibc semantic
67367         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
67368         when compiling for libc.
67369         * lib/getopt_.h (__getopt_argv_const): Bring it back.
67370         (getopt_long, getopt_long_only): Use it.
67371
67372         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67373         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
67374         (getopt): Argv is now char * const *, as per standard.
67375         (_getopt_internal_r, _getopt_internal): Argv is now char **,
67376         not char *__getopt_argv_const *.
67377         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67378         _getopt_long_only_r): Likewise.
67379         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
67380         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67381         _getopt_long_r, _getopt_long_only_r): Likewise.
67382         * lib/getopt_.h (__getopt_argv_const): Remove.
67383         (getopt): Argv is now char * const *, as per standard.
67384
67385         * lib/getdate.y (tORDINAL): New token.
67386         (day, relunit): Allow it for relative times.
67387         (relative_time_table): Use tORDINAL for ordinals.
67388
67389 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67390
67391         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
67392         Document that "second" isn't allowed as an ordinal number.
67393
67394 2004-11-16  Jim Meyering  <jim@meyering.net>
67395
67396         * modules/closeout (Depends-on): Add fpending.
67397
67398 2004-11-15  Jim Meyering  <jim@meyering.net>
67399
67400         * lib/closeout.c: Include "__fpending.h" once again.
67401         Include <stdbool.h>.
67402         (close_stdout): Don't fail just because stdout was closed initially,
67403         since some programs don't write to stdout in the normal course of
67404         operation (other than --version and --help), and we don't want this
67405         function to make e.g. `touch file >&-' fail.
67406         But do fail if it was closed and someone has tried to write to it.
67407         E.g., `printf foo >&-' must fail.
67408
67409 2004-11-13  Jim Meyering  <jim@meyering.net>
67410
67411         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
67412
67413 2004-11-12  Simon Josefsson  <jas@extundo.com>
67414
67415         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
67416         small doc fix is still pending.
67417
67418 2004-11-11  Simon Josefsson  <jas@extundo.com>
67419
67420         * modules/strtok_r: New file.
67421
67422         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67423         strtok_r.
67424
67425 2004-11-11  Simon Josefsson  <jas@extundo.com>
67426
67427         * m4/strtok_r.m4: New file.
67428
67429         * m4/getopt.m4: Replace opterr.
67430
67431 2004-11-11  Simon Josefsson  <jas@extundo.com>
67432
67433         * lib/strtok_r.h, strtok_r.c: New file.
67434
67435 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67436
67437         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
67438         of replacing opterr, getopt, etc.  This should handle the
67439         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
67440
67441 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67442
67443         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
67444         we can stop lying to compilers about the constness of argv when we
67445         are compiled outside glibc.
67446         (getopt, getopt_long, getopt_long_only): Use it.
67447         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67448         _getopt_internal, getopt): Likewise.
67449         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67450         _getopt_long_only_r): Likewise.
67451         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67452         _getopt_long_r, _getopt_long_only_r): Likewise.
67453
67454         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
67455         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
67456         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
67457         the other external symbols.
67458         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
67459         declaration, since the above renaming now works around collisions.
67460
67461 2004-11-11  Jim Meyering  <jim@meyering.net>
67462
67463         * lib/linebreak.c: Remove trailing blanks.
67464         * lib/alloca_.h: Likewise.
67465         * lib/acosl.c: Likewise.
67466         * lib/euidaccess.c: Likewise.
67467         * lib/allocsa.h: Likewise.
67468
67469 2004-11-10  Simon Josefsson  <jas@extundo.com>
67470
67471         * m4/getaddrinfo.m4: New file.
67472
67473 2004-11-10  Simon Josefsson  <jas@extundo.com>
67474
67475         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
67476
67477 2004-11-10  Simon Josefsson  <jas@extundo.com>
67478
67479         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67480         getaddrinfo.
67481
67482         * modules/getaddrinfo: New file.
67483
67484 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67485
67486         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
67487
67488 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67489
67490         * lib/mktime.c (SHR): New macro, which is a portable
67491         substitute for >> that should work even on Crays.
67492         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
67493         Problem reported by Mark D. Baushke in
67494         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
67495         * lib/getdate.y (SHR): Likewise.
67496         (tm_diff): Use it.
67497         * lib/strftime.c (SHR): Likewise.
67498         (tm_diff): Use it.
67499         * lib/quotearg.c (struct quoting_options): Use unsigned int for
67500         quote_these_too, so that right shifts are well defined.  All uses
67501         changed.
67502
67503 2004-11-10  Jim Meyering  <jim@meyering.net>
67504
67505         Ensure that no close failure goes unreported.
67506         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
67507         return early when it seems there's nothing to flush.
67508         Don't include __fpending.h.
67509
67510 2004-11-10  Jim Meyering  <jim@meyering.net>
67511
67512         * modules/closeout (Depends-on): Remove fpending.
67513
67514 2004-11-10  Jim Meyering  <jim@meyering.net>
67515
67516         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
67517
67518 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67519
67520         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
67521         gl_FUNC_STRFTIME.
67522         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
67523         and AC_REQUIRE when possible, to avoid duplicate checks.
67524         Check for <wchar.h>.
67525
67526 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67527
67528         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
67529
67530 2004-11-09  Bruno Haible  <bruno@clisp.org>
67531
67532         * m4/sockpfaf.m4: New file.
67533
67534 2004-11-05  Bruno Haible  <bruno@clisp.org>
67535
67536         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
67537         Reported by Mark D. Baushke <mdb@cvshome.org>.
67538
67539 2004-11-04  Bruno Haible  <bruno@clisp.org>
67540
67541         2004-09-11  Bruno Haible  <bruno@clisp.org>
67542                 * allocsa.valgrind: New file.
67543         2004-02-06  Bruno Haible  <bruno@clisp.org>
67544                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
67545                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
67546                 Reported by Christopher Seip <chris.seip@hp.com>.
67547
67548 2004-11-04  Bruno Haible  <bruno@clisp.org>
67549
67550         * modules/allocsa (Files): Add lib/allocsa.valgrind.
67551         (Makefile.am): Distribute it.
67552
67553 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
67554
67555         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
67556         with errno == ERANGE if the buffer is too small.
67557         Problem reported by Mark D. Baushke.
67558
67559 2004-11-03  Albert Chin  <china@thewrittenword.com>
67560             Paul Eggert  <eggert@cs.ucla.edu>
67561
67562         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
67563         equivalent, substitute $ac_type for equivalent type rather than
67564         blindly using uint32_t *always* which won't work if uint32_t is not
67565         available.  Define _UINT32_T to work around typedef of uint32_t if
67566         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
67567         2.5.1.
67568
67569 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67570
67571         * m4/jm-macros.m4: Sync from coreutils.
67572         (gl_MACROS): Check for mbrlen, for pathchk.
67573         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
67574
67575 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67576
67577         * lib/xreadlink.c (MAXSIZE): New macro.
67578         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
67579         size does not exceed MAXSIZE.  Avoid cast.
67580         As suggested by Mark D. Baushke in
67581         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
67582         if readlink fails with buffer size just under MAXSIZE, try again
67583         with MAXSIZE.
67584
67585 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67586
67587         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
67588
67589 2004-11-02  Derek R. Price  <derek@ximbiot.com>
67590         and  Paul Eggert  <eggert@cs.ucla.edu>
67591
67592         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
67593         (get_date): Overparenthesize to avoid GCC warning.
67594
67595 2004-11-02  Bruno Haible  <bruno@clisp.org>
67596
67597         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
67598         returns void.
67599
67600 2004-11-02  Bruno Haible  <bruno@clisp.org>
67601
67602         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
67603         function returns void.
67604
67605 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67606
67607         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
67608         fflush_unlocked, flockfile, funlockfile, funlockfile,
67609         fputs_unlocked, putc_unlocked.
67610
67611 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67612
67613         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67614         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
67615         already declared.
67616
67617 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67618
67619         * modules/getdate (Files): Add doc/getdate.texi.
67620         (Depends-on): Add setenv, xalloc.
67621
67622 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67623
67624         * lib/getdate.y: Add support for TZ="foo" within a date string.
67625         Fix some bugs near time_t boundaries.  Reject dates with
67626         out-of-range components, e.g., "Sept 31".
67627         Include <stdlib.h>, "setenv.h", "xalloc.h".
67628         (ISDIGIT_LOCALE): Remove; unused.
67629         Note that the TZ and time functions used here are not reentrant.
67630         (mktime_ok, get_tz): New functions.
67631         (TZBUFSIZE): New constant.
67632         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
67633         This requires that we sometimes generate our own TZ="XXX..." setting.
67634
67635 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67636
67637         * doc/getdate.texi: New file, from coreutils with modifications for
67638         the new TZ parsing.
67639
67640 2004-10-27  Derek R. Price  <derek@ximbiot.com>
67641
67642         * lib/mktime.c (not_equal_tm): Remove redundant check.
67643
67644 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67645
67646         * modules/regex (lib_SOURCES): Add regex.c.
67647         Reported by James Youngman in
67648         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
67649
67650 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67651
67652         * lib/getdate.y: Use Bison 1.875 features, and some minor
67653         code cleanups.  This change does not affect semantics.
67654         Don't include <stdlib.h>; no longer needed.
67655         Don't include unlocked-io.h; only the "#if TEST" code uses
67656         stdio, and performance isn't crucial there.
67657         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
67658         Bison 1.875 features as described below.
67659         All uses of "PC." replaced by "pc->".
67660         (YYSTYPE): Add a forward declaration.
67661         (yylex, yyerror): Use full prototypes in forward decls.
67662         Use "%pure-parser" rather than obsolescent "%pure_parser".
67663         Use %parse-param and %lex-param instead of obsolescent
67664         YYPARSE_PARAM and YYLEX_PARAM.
67665         (meridian_table, month_and_day_table, time_units_table,
67666         relative_time_table, time_zone_table, military_table,
67667         lookup_zone, lookup_word, get_date):
67668         Use NULL instead of 0 where appropriate.
67669         (to_hour): Avoid abort (), to avoid a dependency on
67670         stdlib.h.
67671         (yyerror, yylex): Now accepts parser_control * arg.
67672         (main) [TEST]: Use '\0' rather than 0 for char.
67673
67674 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67675
67676         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
67677
67678 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67679
67680         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
67681         It's now the caller's responsibility to handle the case where
67682         !HAVE_GETPAGESIZE && !defined getpagesize.
67683
67684         * lib/mktime.c (leapyear): Arg is long int, not int.
67685
67686 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67687
67688         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67689
67690 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67691
67692         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67693         missing.  Problem reported by James Youngman.
67694
67695 2004-10-16  Simon Josefsson  <jas@extundo.com>
67696
67697         * gnulib-tool: Fix comments.  Fix parse problem.
67698         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67699
67700 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67701
67702         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67703         implementation of getopt_long.  Problem reported by Alexander Taler in:
67704         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67705
67706 2004-10-15  Bruno Haible  <bruno@clisp.org>
67707
67708         * gnulib-tool: Untabify. Initialize supplied_libname.
67709         (func_usage): More homogenous output.
67710         (func_modules_transitive_closure, func_modules_to_filelist,
67711         func_emit_lib_Makefile_am): New functions.
67712         (func_import): New function, extracted from big case statement. Use
67713         func_get_license, func_modules_transitive_closure,
67714         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67715         opt_lgpl. Don't use test -a, as it's not portable.
67716         (func_create_testdir): Use func_modules_transitive_closure,
67717         func_modules_to_filelist, func_emit_lib_Makefile_am.
67718
67719 2004-10-15  Bruno Haible  <bruno@clisp.org>
67720
67721         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67722
67723 2004-10-15  Bruno Haible  <bruno@clisp.org>
67724
67725         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67726         the portions belonging to each module.
67727         Suggested by Derek Robert Price <derek@ximbiot.com>.
67728
67729 2004-10-12  Simon Josefsson  <jas@extundo.com>
67730
67731         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67732         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67733         to real functions.
67734
67735 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67736
67737         * modules/vsnprintf: New file.
67738
67739 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67740
67741         * m4/vsnprintf.m4: New file.
67742
67743 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67744
67745         * lib/vsnprintf.h: New file.
67746         * lib/vsnprintf.c: New file.
67747
67748 2004-10-11  Bruno Haible  <bruno@clisp.org>
67749
67750         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67751         vsnprintf.
67752
67753 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67754
67755         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67756
67757 2004-10-07  Bruno Haible  <bruno@clisp.org>
67758
67759         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67760         fits into the provided buffer.
67761
67762 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67763
67764         * lib/diacrit.c, diacrit.h: Add GPL notice.
67765
67766         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67767         notice.
67768         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67769         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67770         This avoids a potential constant-folding bug.
67771
67772 2004-10-05  Bruno Haible  <bruno@clisp.org>
67773
67774         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67775         for the declaration of strsep.
67776
67777 2004-10-05  Bruno Haible  <bruno@clisp.org>
67778
67779         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67780
67781 2004-10-04  Simon Josefsson  <jas@extundo.com>
67782
67783         * modules/memmem: New file.
67784         * tests/test-memmem.c: New file.
67785         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67786
67787 2004-10-04  Simon Josefsson  <jas@extundo.com>
67788
67789         * m4/memmem.m4: New file.
67790
67791 2004-10-04  Simon Josefsson  <jas@extundo.com>
67792
67793         * lib/memmem.h: New file.
67794         * lib/memmem.c: New file, taken from glibc.
67795
67796 2004-10-04  Simon Josefsson  <jas@extundo.com>
67797
67798         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67799         '#ifdef USE_UNLOCKED_IO'.
67800
67801 2004-10-04  Simon Josefsson  <jas@extundo.com>
67802
67803         * config/srclist.txt: Add memmem from glibc.
67804
67805 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67806
67807         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67808
67809         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67810         modules/exclude, modules/getdate, modules/getline,
67811         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67812         modules/getusershell, modules/linebuffer, modules/md5,
67813         modules/mountlist, modules/posixtm, modules/readtokens,
67814         modules/readutmp, modules/regex, modules/sha1,
67815         modules/version-etc, modules/yesno:
67816         Remove dependency on unlocked-io.
67817
67818 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67819
67820         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67821
67822         * m4/unlocked-io.m4: Add copyright notice.
67823         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67824
67825 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67826
67827         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67828         * lib/xmalloc.c (xmemdup): Likewise.
67829         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67830         XFREE): Remove these long-obsolescent macros.
67831         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67832         * lib/xstrdup.c: Remove.
67833
67834         * lib/regex.c (re_comp): Cast gettext return value to char *,
67835         Problem reported by Martin Neitzel via Mark D. Baushke.
67836
67837 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67838
67839         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67840         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67841         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67842         regex.c, sha1.c, version-etc.c, yesno.c:
67843         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67844         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67845         the includer's responsibility.
67846
67847         Sync from coreutils.
67848
67849         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67850         points to the start of a string, as the C Standard says the
67851         resulting behavior is undefined.
67852
67853         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67854         simple -> simple_backups, numbered_existing ->
67855         numbered_existing_backups, numbered -> numbered_backups
67856         to avoid shadowing problems.  All uses changed.
67857         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67858         * lib/backupfile.c (check_extension, numbered_backup):
67859         Rename locals to avoid shadowing 'basename'.
67860         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67861         once.
67862
67863         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67864         * lib/.cvsignore: Add getopt.h.
67865
67866 2004-10-04  Bruno Haible  <bruno@clisp.org>
67867
67868         * modules/README: New file.
67869         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67870         not a module.
67871
67872 2004-10-02  Jim Meyering  <jim@meyering.net>
67873
67874         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67875
67876 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67877
67878         * modules/strsep: New file.
67879
67880 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67881
67882         * m4/strsep.m4: New file.
67883
67884 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67885
67886         * lib/strsep.h: New file.
67887         * lib/strsep.c: New file.
67888
67889 2004-10-01  Simon Josefsson  <jas@extundo.com>
67890
67891         * lib/snprintf.c (snprintf): Handle size==0.
67892
67893 2004-10-01  Simon Josefsson  <jas@extundo.com>
67894             Bruno Haible  <bruno@clisp.org>
67895
67896         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67897         (snprintf): Declare 'args'.
67898
67899 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67900
67901         * lib/snprintf.c: Remove comments as to why each header is needed.
67902
67903 2004-10-01  Bruno Haible  <bruno@clisp.org>
67904
67905         * MODULES.html.sh: Add strsep.
67906
67907 2004-09-30  Simon Josefsson  <jas@extundo.com>
67908
67909         * modules/snprintf: New file.
67910
67911 2004-09-30  Simon Josefsson  <jas@extundo.com>
67912
67913         * m4/snprintf.m4: New file.
67914
67915 2004-09-30  Simon Josefsson  <jas@extundo.com>
67916
67917         * lib/snprintf.h, lib/snprintf.c: New files.
67918
67919 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67920
67921         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
67922         (hol_entry_help): Never translate an empty string.
67923         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
67924         * lib/argp.h (OPTION_NO_TRANS): New option.
67925
67926 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67927
67928         * modules/argp (Maintainer): Replace Simon Josefsson
67929         by Sergey Poznyakoff.
67930
67931 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67932
67933         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
67934         changes merged back into glibc.
67935
67936 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67937
67938         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
67939
67940 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67941
67942         * lib/xvasprintf.c: Include xalloc.h.
67943         (xvasprintf): Use xalloc_die, not xmalloc_die.
67944
67945 2004-09-29  Bruno Haible  <bruno@clisp.org>
67946
67947         * modules/alloca-opt: New file, derived from modules/alloca.
67948         * modules/allocsa: Depend on alloca-opt instead of alloca.
67949         * modules/setenv: Likewise.
67950         * modules/vasnprintf: Likewise.
67951         * MODULES.html.sh: Add alloca-opt.
67952
67953 2004-09-28  Simon Josefsson  <jas@extundo.com>
67954
67955         * gnulib-tool: New parameter --lgpl, to asseert that modules are
67956         LGPL, and to replace license template from GPL to LGPL.
67957
67958 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67959
67960         * modules/dummy: Change license to LGPL.
67961
67962 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67963
67964         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
67965
67966 2004-09-24  Simon Josefsson  <jas@extundo.com>
67967
67968         * modules/minmax (License): Change from GPL to LGPL.
67969
67970 2004-09-23  Simon Josefsson  <jas@extundo.com>
67971
67972         * gnulib-tool (--import): Typo.
67973
67974 2004-09-23  Simon Josefsson  <jas@extundo.com>
67975
67976         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
67977
67978 2004-09-22  Bruno Haible  <bruno@clisp.org>
67979
67980         * modules/*: Add 'License' field.
67981         * gnulib-tool: Accept --extract-license option.
67982         (func_get_license): New function.
67983
67984 2004-09-21  Bruno Haible  <bruno@clisp.org>
67985
67986         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
67987         Reported by Simon Josefsson.
67988
67989 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67990
67991         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
67992         gl_AC_TYPE_LONG_LONG.
67993
67994 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67995
67996         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
67997
67998 2004-09-18  Simon Josefsson  <jas@extundo.com>
67999         and  Paul Eggert  <eggert@cs.ucla.edu>
68000
68001         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
68002         calls with autoreconf.  Define GL_LIB.
68003
68004 2004-09-14  Karl Berry  <karl@gnu.org>
68005
68006         * config/srclist.txt: unsync setenv.c, sigh.
68007
68008 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68009
68010         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
68011         Problem reported by Bruno Haible in:
68012         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
68013
68014 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68015
68016         * config/srclist.txt: Comment out argp-pvh.c.
68017
68018 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
68019
68020         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
68021         in case some system header has #define'd it.  Problem reported by
68022         Soeren D. Schulze in
68023         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
68024
68025 2004-09-09  Karl Berry  <karl@gnu.org>
68026
68027         * regex.[ch]: delete from the root.  These were supposed to be
68028                 synced with emacs cvs, but this has not happened for about
68029                 a year, and anyway nothing else uses emacs regex.[ch].
68030                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
68031                 lib/regex[.ch] is untouched.
68032
68033 2004-09-09  Bruno Haible  <bruno@clisp.org>
68034
68035         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
68036
68037 2004-09-09  Bruno Haible  <bruno@clisp.org>
68038
68039         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
68040         modifications.
68041         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
68042
68043 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68044
68045         * modules/xvasprintf: New file.
68046         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
68047
68048 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68049
68050         * lib/xvasprintf.h: New file.
68051         * lib/xvasprintf.c: New file.
68052         * lib/xasprintf.c: New file.
68053
68054 2004-09-08  Bruno Haible  <bruno@clisp.org>
68055
68056         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
68057
68058 2004-09-08  Bruno Haible  <bruno@clisp.org>
68059
68060         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
68061         length is > INT_MAX.
68062         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
68063         more.
68064
68065 2004-09-08  Bruno Haible  <bruno@clisp.org>
68066
68067         * lib/stdint_.h: New file, taken from GNU clisp.
68068
68069 2004-09-08  Bruno Haible  <bruno@clisp.org>
68070             Oskar Liljeblad  <oskar@osk.mine.nu>
68071
68072         * modules/stdint: New file.
68073         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
68074
68075 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68076
68077         Import from coreutils.
68078         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
68079         strings on unbounded length.  alloca's performance benefits aren't
68080         that important here.
68081         (V_STRDUP): Remove.
68082         (parse_with_separator): New function, with most of the internals
68083         of the old parse_user_spec.  Allow user to omit both user and group,
68084         for compatibility with FreeBSD.
68085         Clone only the user name, not the entire spec.
68086         Do not set *uid, *gid unless entirely successful.
68087         Avoid memory leak in some failing cases.
68088         Fix regression for USER.GROUP reported by Dmitry V. Levin in
68089         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
68090         (parse_user_spec): Rewrite to use parse_with_separator.
68091
68092 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68093
68094         * modules/userspec: Don't depend on alloca.
68095
68096 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68097
68098         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
68099
68100 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68101
68102         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
68103         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
68104         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
68105
68106 2004-08-16  Simon Josefsson  <jas@extundo.com>
68107
68108         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
68109         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
68110         Add --dry-run for --import.
68111         Let user provided command line parameters override configure.ac
68112         settings.
68113
68114 2004-08-12  Simon Josefsson  <jas@extundo.com>
68115
68116         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
68117         as discussed with Paul Eggert in threads rooted at
68118         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
68119         and
68120         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
68121         Before, the test was empty, and relied on ELIDE_CODE in source
68122         code.)
68123         (gl_PREREQ_GETOPT): New macro.
68124         (gl_GETOPT): Use them.
68125
68126 2004-08-12  Simon Josefsson  <jas@extundo.com>
68127
68128         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
68129         * lib/getopt_.h: Renamed from getopt.h.
68130
68131 2004-08-12  Simon Josefsson  <jas@extundo.com>
68132
68133         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
68134         Change default library name from libfoo to libgnu.
68135         Now, if you have a configure.ac that says:
68136                 gl_SOURCE_BASE(gl)
68137                 gl_M4_BASE(gl/m4)
68138                 gl_MODULES(error getopt etcetera)
68139                 gl_INIT
68140         you can import all you need by running:
68141                 ../gnulib/gnulib-tool --import
68142
68143         * modules/getopt (Files): Rename getopt.h to getopt_.h.
68144         (Makefile.am): Rewrite, use logic from argz.
68145         (Include): Use <getopt.h> instead of "getopt.h".
68146
68147 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68148
68149         * modules/argp (Files): Add m4/unlocked-io.m4.
68150         (Depends-on): Add extensions.
68151
68152 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68153
68154         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
68155         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
68156         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
68157         Check for program_invocation_name, program_invocation_short_name,
68158         flockfile, funlockfile, features.h, _getopt_long_only_r.
68159
68160 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68161
68162         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
68163         its complicated substitute.
68164         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
68165         and program_invocation_name.
68166         (__argp_basename) [!_LIBC]: Remove; the only use was
68167         replaced by its body.
68168         (__argp_short_program_name): Change condition from
68169         !defined __argp_short_program_name to
68170         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
68171         to match argp-namefrob.h.
68172         (__argp_failure): Don't assume strerror_r returns char *.
68173         * lib/argp-parse.c (N_): Define unconditionally.
68174         (argp_default_options): Fill out initializers with 0 to avoid
68175         gcc warnings.
68176
68177 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68178
68179         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
68180         getopt1.c.
68181
68182 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68183
68184         Merge from coreutils.
68185
68186         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
68187
68188         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
68189         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
68190
68191 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68192
68193         Merge from coreutils.
68194
68195         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
68196         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
68197         for Reliant Unix 5.43.
68198
68199         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
68200         (union fooround): Use uintmax_t, not long int.
68201         The rest is a merge from libc:
68202         [defined _LIBC]: Include <shlib-compat.h>.
68203         (_obstack) [defined _LIBC]: Remove after 2.3.4.
68204
68205         * lib/settime.c (settime): Recode to avoid warning with
68206         Sun Forte C 6U2.
68207
68208         * lib/strverscmp.c: Convert to UTF-8.
68209
68210 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68211
68212         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68213         m4/uintmax_t.m4.
68214
68215 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68216
68217         * modules/xalloc-die: New file.
68218         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
68219
68220         * modules/md5 (Files): Add m4/uint32_t.m4.
68221         * modules/sha1: Renamed from modules/sha.
68222         (Files):
68223         Rename lib/sha.h to lib/sha1.h.
68224         Rename lib/sha.c to lib/sha1.c.
68225         Rename m4/sha.m4 to m4/sha1.m4.
68226         (lib_SOURCES): Likewise.
68227         (configure.ac): Rename gl_SHA to gl_SHA1.
68228         (Include): sha.h -> sha1.h.
68229
68230 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68231
68232         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
68233         * m4/sha1.m4: Renamed from sha.m4.
68234         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
68235
68236 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68237
68238         * lib/obstack.h (obstack_empty_p):
68239         Don't assume that chunk->contents is suitably aligned.
68240         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
68241         Likewise. Problem reported by Benno in
68242         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
68243
68244         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
68245         readable.  This could be improved further but it'd take some work.
68246
68247 2004-08-08  Simon Josefsson  <jas@extundo.com>
68248
68249         * modules/xgethostname (Depends-on): Remove exit and error (not
68250         used).
68251
68252         * modules/getpass-gnu: Add getpass.h.
68253         (Depends-on): Add stdbool.
68254         * modules/getpass: Add getpass.h.
68255
68256 2004-08-08  Simon Josefsson  <jas@extundo.com>
68257
68258         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
68259         Check getpass declaration.
68260
68261 2004-08-08  Simon Josefsson  <jas@extundo.com>
68262
68263         * lib/xgethostname.c: Don't include error.h (not used).
68264
68265         * lib/getpass.h: Add.
68266         * lib/getpass.c: Include getpass.h first.
68267
68268 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
68269
68270         * lib/xalloc-die.c: New file.
68271         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
68272         All uses removed.
68273         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
68274         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
68275         xalloc-die.c.
68276         (_, N_, xalloc_die): Move to xalloc-die.c.
68277         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
68278         so that we needn't mess with xalloc_msg_memory_exhausted.
68279
68280         * lib/sha1.h: Renamed from sha.h.
68281         (SHA1_H): Renamed from _SHA_H.
68282         (sha1_ctx): Renamed from sha_ctx.
68283         (sha1_init_ctx): Renamed from sha_init_ctx.
68284         (sha1_process_block): Renamed from sha_process_block.
68285         (sha1_process_bytes): Renamed from sha_process_bytes.
68286         (sha1_finish_ctx): Renamed from sha_finish_ctx.
68287         (sha1_read_ctx): Renamed from sha_read_ctx.
68288         (sha1_stream): Renamed from sha_stream.
68289         (sha1_buffer): Renamed from sha_buffer.
68290         * lib/sha1.c: Likewise; renamed from sha.c.
68291         Do not include <sys/types.h>.
68292         Include <stddef.h> rather than <stdlib.h>.
68293
68294 2004-08-08  Bruno Haible  <bruno@clisp.org>
68295
68296         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
68297         FILESYSTEM_PREFIX_LEN.
68298         * lib/progreloc.c: Likewise.
68299         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
68300
68301 2004-08-06  Simon Josefsson  <jas@extundo.com>
68302
68303         * modules/progname (Depends-on): Don't depend on stdbool.
68304
68305 2004-08-06  Simon Josefsson  <jas@extundo.com>
68306
68307         * modules/getsubopt: New file.
68308         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68309         getsubopt.
68310
68311 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68312
68313         More merge from coreutils.
68314
68315         * m4/utimens.m4, m4/utimecmp.m4: New files.
68316         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
68317         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
68318         prereq.m4, sha.m4: Import changes from coreutils.
68319
68320 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68321
68322         More merge from coreutils.
68323         * modules/raise, modules/readtokens0, modules/utimens:
68324         * modules/utimecmp, module/xnanosleep: New files.
68325         * modules/strftime: Add lib/strftime.h.
68326         Change include from <time.h> to "strftime.h".
68327         * modules/yesno: Add lib/yesno.h.
68328         * modules/backupfile: Remove lib/addext.c.
68329         * modules/euidaccess: Add stat-macros.h.
68330         * modules/canonicalize, modules/euidaccess,
68331         modules/filemode, modules/lchown, modules/makepath,
68332         modules/rmdir, modules/stat: Likewise.
68333
68334 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68335
68336         Merge from tar.
68337         * lib/argp-help.c (make_hol, hol_append): Don't assume that
68338         SIZE_MAX is a valid preprocessor constant.
68339         (__argp_basename): Change from "#ifndef _LIBC"
68340         to "#ifndef __argp_short_program_name", so that
68341         we don't compile these functions for tar.
68342
68343         More merges from coreutils.
68344         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
68345         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
68346         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
68347         * lib/addext.c: Remove; no longer needed.
68348         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
68349         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
68350         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
68351         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
68352         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
68353         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
68354         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
68355         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
68356         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
68357         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
68358         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
68359         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
68360         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
68361         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
68362         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
68363         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
68364         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
68365         Import changes from coreutils.
68366
68367 2004-08-05  Simon Josefsson  <jas@extundo.com>
68368
68369         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
68370
68371 2004-08-05  Simon Josefsson  <jas@extundo.com>
68372
68373         * m4/getsubopt.m4: New file.
68374
68375 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68376
68377         Merge from coreutils.
68378
68379         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
68380         * m4/getcwd-path-max.m4: New files.
68381
68382         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
68383         FILESYSTEM_PREFIX_LEN ->
68384         FILE_SYSTEM_PREFIX_LEN.
68385         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
68386         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
68387         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
68388         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
68389
68390         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
68391         prerequisite modules now handle the DOS stuff.
68392         Don't check for unistd.h.
68393
68394 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68395
68396         Merge from coreutils.
68397
68398         * lib/.gdb-history: Remove; this doesn't belong here.
68399
68400         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
68401         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
68402         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
68403         * lib/getcwd.c: New files.
68404
68405         * lib/dirname.h: Include <stdbool.h>.
68406         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
68407         for consistency with POSIX terminology.  All uses changed.
68408         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
68409         (strip_trailing_slashes): Use bool for booleans.
68410         * lib/stripslash.c (strip_trailing_slashes): Likewise.
68411
68412         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
68413         sometimes returns a positive errno value even when it succeeds.
68414         (print_errno_message) [!LIBC]: Fall back on strerror if
68415         __strerror_r fails.
68416
68417         * lib/path-concat.c (mempcpy): Don't define if a system header defines
68418         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
68419         (longest_relative_suffix): New function.
68420         (path_concat): Use it.  Assume first argument is not NULL.
68421         Port to DOS.  Omit redundant separators.
68422         Report an error instead of returning NULL.
68423         Use mempcpy instead of memcpy.
68424         (xpath_concat): Remove: not declared or used.
68425
68426         * lib/same.h: Include <stdbool.h>
68427         (same_name): Return bool, not int.
68428         * lib/same.c (same_name): Likewise.
68429         (errno): Don't declare; we assume C89 or better now.
68430
68431         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
68432         if not already defined.
68433
68434         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
68435         * lib/dup-safer.c (errno): Likewise.
68436
68437 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68438
68439         Merge from coreutils.
68440         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
68441         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
68442         * modules/path-concat: Don't depend on strdup.
68443
68444 2004-08-03  Simon Josefsson  <jas@extundo.com>
68445
68446         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
68447         * lib/progname.h: Don't include stdbool.h.
68448
68449 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68450
68451         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
68452         * MODULES.html.sh (func_all_modules): Remove fatal.
68453
68454 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68455
68456         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
68457
68458 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68459
68460         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
68461         working.
68462
68463 2004-08-02  Simon Josefsson  <jas@extundo.com>
68464
68465         * lib/getsubopt.h: New file, with comments from Bruno Haible.
68466         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
68467         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
68468
68469 2004-08-01  Simon Josefsson  <jas@extundo.com>
68470
68471         * lib/xgetdomainname.c: Include stdlib.h, for free().
68472
68473 2004-07-19  Bruno Haible  <bruno@clisp.org>
68474
68475         * MODULES.html.sh (func_all_modules): Add dummy.
68476
68477 2004-07-16  Simon Josefsson  <jas@extundo.com>
68478
68479         * modules/dummy: New file.
68480
68481 2004-07-16  Simon Josefsson  <jas@extundo.com>
68482
68483         * lib/dummy.c: New file.
68484
68485 2004-07-16  Bruno Haible  <bruno@clisp.org>
68486
68487         * lib/backupfile.h: Add extern "C" for C++.
68488         * lib/closeout.h: Likewise.
68489         * lib/copy-file.h: Likewise.
68490         * lib/findprog.h: Likewise.
68491         * lib/full-write.h: Likewise.
68492         * lib/pathname.h: Likewise.
68493         * lib/progname.h: Likewise.
68494         * lib/stpcpy.h: Likewise.
68495         * lib/stpncpy.h: Likewise.
68496         * lib/strcase.h: Likewise.
68497         * lib/strstr.h: Likewise.
68498         * lib/xalloc.h: Likewise.
68499
68500         * lib/mbswidth.h: Add extern "C" for C++.
68501         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
68502
68503 2004-07-13  Robert Millan  <robertmh@gnu.org>
68504
68505         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
68506
68507 2004-07-09  Simon Josefsson  <jas@extundo.com>
68508
68509         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
68510         failed without this.)
68511
68512 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68513
68514         * modules/chown (Files): Add lib/fchown-stub.c, since
68515         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
68516
68517 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68518
68519         * lib/fchown-stub.c: New file.
68520
68521 2004-06-24  Jim Meyering  <jim@meyering.net>
68522
68523         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
68524
68525 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68526
68527         * modules/argz: Omit "#include".
68528
68529         * MODULES.html.sh (func_all_modules): Add calloc, to match
68530         2004-06-01 addition of calloc module.
68531
68532 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68533
68534         * m4/argz.m4: New file, which is autoupdated from libtool.
68535
68536 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68537
68538         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
68539         libtool.
68540
68541 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68542
68543         * config/srclist-update: Don't insist on "USA." before the
68544         close-comment, as libtool omits the period and puts the */ on a
68545         separate line.
68546         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
68547         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
68548
68549 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
68550
68551         * modules/argz: New file.
68552         * MODULES.html.sh (func_all_modules): Add argz.
68553
68554 2004-06-12  Jim Meyering  <jim@meyering.net>
68555         and  Paul Eggert  <eggert@cs.ucla.edu>
68556
68557         * modules/hash (Files): Add lib/xalloc.h.
68558         * modules/pipe (Depends-on): Add wait-process.
68559         * modules/stat (Depends-on): Add xalloc.
68560         * modules/userspec (Files): Add lib/userspec.h.
68561         * modules/xstrto
68562
68563         Upgrade from gettext-0.13.
68564         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
68565         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
68566         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
68567
68568 2004-06-10  Jim Meyering  <jim@meyering.net>
68569
68570         * lib/calloc.c: New file.
68571
68572 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68573
68574         * lib/getdate.y (yylex): Allow space between sign and number.
68575         Problem reported by Dan Jacobson.
68576
68577 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68578
68579         Merge from coreutils CVS.
68580
68581         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
68582         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
68583         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
68584         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
68585         xstrtol.m4: Fix copyright date and/or serial number.
68586
68587         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
68588         See if we need an fchown replacement.
68589         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
68590         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
68591         and use the replacement function if we detect either defect.
68592
68593         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
68594         gl_UTIMECMP.
68595
68596 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68597         and  Jim Meyering  <jim@meyering.net>
68598
68599         Merge from coreutils CVS.
68600
68601         * lib/stat-macros.h: New file, with contents from file-type.h
68602         and coreutils' system.h.
68603         * lib/file-type.c: Include "stat-macros.h".
68604         * lib/file-type.h (file_type): Move all macro definitions to new file,
68605         stat-macros.h.
68606
68607         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
68608         Wrap old code with this conditional.
68609         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
68610         function that does not dereference symlinks.
68611         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
68612
68613         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
68614         dependency problems.
68615         (xreadlink): Accept new arg SIZE, for efficiency.
68616         All decls and uses changed.
68617         * lib/xreadlink.h: Include <stddef.h>, for size_t.
68618
68619         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
68620         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
68621
68622         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
68623         sysexits.h.
68624
68625 2004-06-01  Jim Meyering  <jim@meyering.net>
68626
68627         * m4/calloc.m4: New file.
68628
68629 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
68630
68631         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
68632         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
68633         Also, fix a typo in a diagnostic.
68634
68635 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68636
68637         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
68638         or AC_FUNC_REALLOC.
68639
68640 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68641
68642         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
68643         macros to be defined.
68644         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
68645         the allocator returns NULL because the requested size is zero.
68646
68647 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68648
68649         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
68650         var.  Add comment explaining why libc still defines it.  This
68651         merges the following patch from glibc:
68652         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
68653
68654 2004-05-20  Andreas Schwab  <schwab@suse.de>
68655
68656         * m4/free.m4: Replace free if it not known to work, not the other
68657         way round.
68658
68659 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68660
68661         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
68662         present in glibc since revision 1.1 of this file.
68663         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
68664         obstack_alignment_mask, obstack_alloc, obstack_base,
68665         obstack_blank, obstack_blank_fast, obstack_chunk_size,
68666         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
68667         obstack_grow0, obstack_init, obstack_int_grow,
68668         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
68669         obstack_next_free, obstack_object_size, obstack_ptr_grow,
68670         obstack_ptr_grow_fast, obstack_room): Remove declarations of
68671         nonexistent functions.
68672
68673 2004-05-18  Karl Berry  <karl@gnu.org>
68674
68675         * config/srclist.txt: break link for vasnprintf.c.
68676
68677 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68678
68679         Port obstack to the AS/400, where pointers are 16 bytes wide and
68680         you cannot cast an integer to a valid pointer.  This patch is
68681         currently waiting to be integrated into glibc; see
68682         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
68683
68684         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
68685         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68686         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68687         (struct obstack): temp member is now a union of a pointer and
68688         an integer, instead of an integer.  All integer uses changed.
68689         This does not affect the physical layout of struct obstack,
68690         except on hosts (like the AS/400) where the size or alignment of
68691         void * is greater than that of ptrdiff_t.
68692         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68693         __STDC__)]: Store temporary in pointer member of union, not
68694         integer member.
68695         * lib/obstack.c: Include <stddef.h>, for offsetof.
68696         (struct fooalign): Remove; it doesn't need a name.
68697         (union fooround): Change double to long double, and add void *.
68698         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68699         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68700         not a macro.  Hence the values are always int; so remove all
68701         casts-to-int in uses.
68702
68703 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68704
68705         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68706         we can get this patch merged into glibc.
68707
68708 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68709             Paul Eggert  <eggert@cs.ucla.edu>
68710
68711         * m4/argp: Depend on alloca.
68712
68713 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68714             Paul Eggert  <eggert@cs.ucla.edu>
68715
68716         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68717         freecoding.
68718
68719 2004-05-17  Bruno Haible  <bruno@clisp.org>
68720
68721         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68722         precision that consists of a '.' followed by an empty digit string.
68723         Patch by Tor Lillqvist <tml@iki.fi>.
68724
68725 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68726
68727         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68728         for backward compatibility with older code.  We need our own
68729         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68730         it under some other name, and our alloca.h will define it.
68731
68732 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68733             Derek Price  <derek@ximbiot.com>
68734
68735         * lib/alloca.c: Include <alloca.h>, to get our interface.
68736         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68737         include <alloca.h> first.  Use C89 prototype for alloca; this
68738         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68739         Use #elif for simplicity, since we can assume C89 now.
68740         Don't try to source the system alloca.h since it will not be found
68741         and to prevent recursively including its replacement.
68742         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68743         * lib/regex.c: Likewise.
68744
68745 2004-05-16  Derek Price  <derek@ximbiot.com>
68746             Paul Eggert  <eggert@cs.ucla.edu>
68747
68748         getline cleanup.  This changes the getndelim2 API: both order of
68749         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68750         no delimiter).
68751
68752         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68753         interface does that.
68754         (getline): Always use getdelim, so that we don't have two
68755         copies of this code.
68756         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68757         if available.
68758         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68759         (GETNDELIM2_MAXIMUM): New macro.
68760         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68761         instead of the old practice of delim2==0.  All callers changed.
68762         Return -1 on overflow, instead of returning junk.
68763         Do not set *linesize unless allocation succeeds.
68764         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68765         that we include sys/types.h.
68766         * lib/getnline.h: Likewise.
68767         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68768         (getndelim2): Reorder arguments.
68769         * lib/getnline.c (getnline, getndelim):
68770         Don't discard the NMAX argument.
68771         (getnline): Invoke getndelim, to avoid code duplication.
68772         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68773         of (size_t) -1 by callers of the getnline family.
68774
68775 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68776
68777         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68778         Check for gettimeofday.
68779         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68780         Check for settimeofday, stime.
68781
68782 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68783
68784         * lib/nanosleep.c (suspended): Change its type from int to
68785         sig_atomic_t volatile.
68786         (first_call): Make it private to rpl_nanosleep, and have it
68787         be zero initially as that's a bit faster.
68788         (my_usleep): Round up fractional times instead of truncating them,
68789         as this is the usual meaning for 'sleep'.
68790
68791         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68792         doesn't work.
68793         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68794         (ENOSYS): Define if not defined.
68795         (settime): Fall back on stime if it exists and settimeofday fails.
68796         But don't bother with fallbacks if a method fails with errno == EPERM.
68797
68798 2004-05-11  Jim Meyering  <jim@meyering.net>
68799
68800         Prior to this change, the save_cwd caller required read access to the
68801         current directory on most systems (ones with the fchdir function).
68802
68803         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68804         fails, try write-only, and finally, resort to using xgetcwd.
68805
68806 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68807
68808         * lib/obstack.c, obstack.h: Import changes from libc.
68809
68810 2004-04-28  Bruno Haible  <bruno@clisp.org>
68811
68812         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68813         also implicitly appends .exe to executables.
68814         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68815         accepts Windows pathnames.
68816         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68817         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68818         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68819         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68820         Reported by Derek Robert Price <derek@ximbiot.com>.
68821
68822 2004-04-21  Karl Berry  <karl@gnu.org>
68823
68824         * config/srclist.txt (localcharset.c): break sync.
68825
68826 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68827
68828         * m4/host-os.m4: Add a copyright notice.
68829
68830 2004-04-20  Jim Meyering  <jim@meyering.net>
68831
68832         Change UTILS_ to gl_ in AC_DEFINE'd names.
68833         Change utils_- and jm_-prefixed variables, too.
68834         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68835         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68836         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68837
68838         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68839         Don't emit trailing blanks.
68840         Also rename jm_-prefixed variables to have gl_ prefix.
68841
68842         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68843         Also rename jm_-prefixed variables to have gl_ prefix.
68844
68845         * m4/jm-macros.m4: Reflect the renamings.
68846         * m4/prereq.m4: Likewise.
68847
68848 2004-04-20  Jim Meyering  <jim@meyering.net>
68849
68850         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68851         memory.
68852
68853 2004-04-20  Jim Meyering  <jim@meyering.net>
68854             Bruno Haible  <bruno@clisp.org>
68855
68856         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68857         memory when realloc fails.
68858
68859 2004-04-19  Jim Meyering  <jim@meyering.net>
68860
68861         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68862         now that readutmp.c may call `free (0)'.
68863
68864 2004-04-19  Bruno Haible  <bruno@clisp.org>
68865
68866         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68867         * m4/inttypes_h.m4: Likewise.
68868         * m4/stdint_h.m4: Likewise.
68869         * m4/intmax_t.m4: Likewise.
68870         * m4/uintmax_t.m4: Likewise.
68871
68872 2004-04-18  Jim Meyering  <jim@meyering.net>
68873
68874         * m4/prereq.m4: Don't forbid jm_ prefix.
68875
68876         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68877         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68878         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68879         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68880         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68881         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68882         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68883         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68884         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68885         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68886         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68887         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68888         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68889         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68890         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68891         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68892         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68893         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68894         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68895
68896 2004-04-18  Jim Meyering  <jim@meyering.net>
68897
68898         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68899         failure, don't leak memory and do call END_UTMP_ENT.
68900
68901 2004-04-16  Jim Meyering  <jim@meyering.net>
68902
68903         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68904         coreutils' stat program.
68905         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68906
68907 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68908
68909         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68910         C89.
68911         (CHAR_BIT): Remove, since we assume C89.
68912         Include <stdint.h> if available, as per current Autoconf CVS advice.
68913
68914 2004-03-31  Jim Meyering  <jim@meyering.net>
68915
68916         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68917         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68918         * m4/xalloc.m4: Likewise.
68919
68920 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68921
68922         Merge from coreutils.
68923
68924         * m4/inttostr.m4: New file.
68925         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
68926         Require AM_STDBOOL_H and gl_TIMESPEC instead.
68927         Require gl_CLOCK_TIME.
68928         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
68929
68930 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68931
68932         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
68933         not bool, to be more consistent with Unix conventions.
68934         Suggested by Bruno Haible.
68935
68936         Merge from coreutils.
68937
68938         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
68939         * lib/umaxtostr.c: New files.
68940
68941         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
68942         the usual <time.h> dance.
68943         (get_date): Change signature to support fractional time stamps.
68944         All callers changed.
68945         * lib/getdate.y: Include "getdate.h" first, as we can now
68946         assume C89 and don't need to worry about 'const'.
68947         Similarly, include "unlocked-io.h" near start, not in middle.
68948         Include <limits.h>.
68949         (textint.value): Use long int rather than int.
68950         (textint.digits): Use size_t rather than int.
68951         (BILLION, LOG10_BILLION): New constants.
68952         (parser_control): New member rel_ns.  Members day_ordinal,
68953         time_zone, month, day, hour, minutes, rel_year, rel_month,
68954         rel_day, rel_hour, rel_minutes, rel_seconds
68955         are now long int, not int.  Member seconds is now struct timespec,
68956         not int.  New member timespec_seen.  Members dates_seen, days_seen,
68957         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
68958         not int.
68959         (%union.intval): Now long int, not int.
68960         New member timespec.
68961         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
68962         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
68963         (spec): Now is a timespec or an item list.
68964         (timespec, items): New nonterminals.
68965         (time, rel, relunit, number, get_date):
68966         Add support for fractional seconds.
68967         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
68968         (gmtime, localtime, mktime): Remove decls; not needed with C89.
68969         (to_hour): First arg is now long int, not int.
68970         (to_year): Returns long int, not int.
68971         Don't treat year -70 like 70.
68972         (tm_diff): Returns long int, not int.
68973         (lookup_word): Use bool instead of int when appropriate.
68974         (yylex): Use size_t for count, not int.
68975         Detect overflow when parsing large integer constants.
68976         Add support for fractions.
68977         (get_date): Make pointers 'const' if possible.
68978         Use more-portable code to detect integer overflow.
68979         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
68980         Don't use ctime; it's not reliable if the year has >4 digits.
68981
68982         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
68983         This is for compatibility with BSD.
68984
68985         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
68986         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
68987         From coreutils' system.h.
68988
68989         * lib/userspec.c: Don't include "posixver.h".
68990         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
68991         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
68992         compatible extension.  Simplify code by removing a boolean int
68993         that was always nonzero if a string was nonnull.
68994
68995 2004-03-30  Jim Meyering  <jim@meyering.net>
68996
68997         Merge from coreutils.
68998
68999         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
69000         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
69001         on some systems one must include <grp.h> before it.
69002         Reported by Christian Krackowizer.
69003
69004 2004-03-30  Jim Meyering  <jim@meyering.net>
69005
69006         Merge from coreutils.
69007
69008         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
69009
69010         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
69011         an empty input stream.
69012
69013         * lib/readtokens.c: Include <stdbool.h>.
69014         (readtoken): Use `size_t' rather than int/long.
69015         All callers adjusted.
69016         Use `bool' rather than `int' where appropriate.
69017         Use memset rather than an explicit loop.
69018         Use x2nrealloc rather than xrealloc.
69019         Allow the use of `\0' as a delimiter.
69020         (readtokens): Likewise.
69021         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
69022
69023 2004-03-30  Jim Meyering  <jim@meyering.net>
69024
69025         * m4/realloc.m4: Remove file, since now it does no more than
69026         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
69027         the `configure.ac' section of module/realloc.
69028         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
69029
69030 2004-03-30  Bruno Haible  <bruno@clisp.org>
69031
69032         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
69033         nonnull.
69034
69035 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69036
69037         Merge changes to getloadavg.c from coreutils and Emacs.
69038
69039         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
69040         Define to an expression, not to the empty string.
69041         Include cloexec.h and xalloc.h.
69042         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
69043         Use set_cloexec_flag rather than rolling our own.
69044         * lib/cloexec.c, lib/cloexec.h: New files.
69045
69046 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69047
69048         * m4/cloexec.m4: New file.
69049
69050 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69051
69052         * lib/getopt.h: Sync with libc CVS.
69053
69054 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69055             Bruno Haible  <bruno@clisp.org>
69056
69057         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
69058         mbswidth.
69059
69060 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69061             Bruno Haible  <bruno@clisp.org>
69062
69063         * lib/mbswidth.h: Include <wchar.h> only if
69064         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
69065         <wchar.h>.
69066         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
69067
69068 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69069
69070         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
69071         Sync with libc CVS.
69072         * lib/getopt_int.h: New file, also synced from libc.
69073
69074 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69075
69076         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
69077         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
69078         Bring back getopt.c, getopt.h, getopt1.c.
69079
69080 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69081
69082         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
69083         All uses changed.  Check for sa_sigaction member; this fixes
69084         a bug first reported by Jason Andrade in
69085         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69086
69087 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69088
69089         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
69090         '#if' expressions.  Unlike the code it replaces, it does not
69091         depend on (defined _SC_PAGESIZE).  However, it does depend on
69092         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
69093         first reported by Jason Andrade in
69094         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69095
69096 2004-02-25  Simon Josefsson  <jas@extundo.com>
69097
69098         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
69099
69100 2004-02-25  Simon Josefsson  <jas@extundo.com>
69101
69102         * lib/strdup.h: New file.
69103         * lib/strdup.c: Include it.
69104         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
69105         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
69106
69107 2004-02-23  Karl Berry  <karl@gnu.org>
69108
69109         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
69110         (from fencepost.gnu.org:/gd/gnuorg).
69111
69112 2004-02-23  Karl Berry  <karl@gnu.org>
69113
69114         * config/srclistvars.sh (GNUORG) [karl]: redefine.
69115         * config/srclist.txt: add maintain/standards documents.
69116
69117 2004-02-18  Bruno Haible  <bruno@clisp.org>
69118
69119         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
69120         Reported by Derek Robert Price <derek@ximbiot.com>.
69121
69122 2004-02-16  Karl Berry  <karl@gnu.org>
69123
69124         * config/mkinstalldirs, install-sh: update from automake.
69125
69126 2004-02-06  Karl Berry  <karl@gnu.org>
69127
69128         * m4/po.m4: update from gettext 0.14.1.
69129
69130 2004-02-06  Karl Berry  <karl@gnu.org>
69131
69132         * lib/config.charset: update from gettext 0.14.1.
69133
69134 2004-02-05  Paul Eggert  <eggert@twinsun.com>
69135
69136         Add comments and code, prompted by suggestions from Bruno Haible
69137         for sh-quote.
69138         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
69139         describing the enum quoting_style values.
69140         * lib/quotearg.c (quotearg_alloc): New function.
69141         (quotearg_buffer_restyled): Treat lone { and } as special.
69142         Treat = as special.  Work around bug with older shells
69143         that "see" a '\' that is really the 2nd byte of a multibyte char.
69144         Quote empty string with shell_quoting_style.
69145
69146 2004-02-03  Bruno Haible  <bruno@clisp.org>
69147
69148         * m4/pipe.m4: New file, from GNU gettext.
69149
69150 2004-02-03  Bruno Haible  <bruno@clisp.org>
69151
69152         * lib/pipe.h: New file, from GNU gettext.
69153         * lib/pipe.c: New file, from GNU gettext.
69154
69155 2004-01-27  Bruno Haible  <bruno@clisp.org>
69156
69157         * m4/execute.m4: New file, from GNU gettext.
69158
69159 2004-01-27  Bruno Haible  <bruno@clisp.org>
69160
69161         * lib/execute.h: New file, from GNU gettext.
69162         * lib/execute.c: New file, from GNU gettext.
69163         * lib/w32spawn.h: New file, from GNU gettext.
69164
69165 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69166
69167         Merge from diffutils.
69168
69169         * lib/file-type.c (file_type): Add typed memory objects.
69170         * lib/file-type.h (S_TYPEISTMO): New macro.
69171
69172         * lib/c-stack.h (c_stack_action): Remove argv argument.
69173         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
69174         (die): Don't calculate message unless segv_action returns.
69175         (get_stack_location, min_address_from_argv, max_address_from_argv,
69176         volatile stack_base, volatile_stack_size): Remove.
69177         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
69178         that every segmentation violation is a stack overflow.  (Ouch!)
69179         See Debian bug 136249 (still outstanding) for more info about why
69180         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
69181
69182 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69183
69184         Exit-status fix from coreutils.
69185
69186         Use exit_failure consistently in place of EXIT_FAILURE,
69187         so that program exit statuses are consistent on failure.
69188
69189         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
69190         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
69191         * lib/argmatch.h: Comment fix to match the above.
69192         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
69193         Now a macro referring to exit_failure, instead of a separate
69194         variable.  Include "exitfail.h" to get it.
69195         * lib/xstrtol.h: Include "exitfail.h".
69196         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
69197
69198         * lib/long-options.c (parse_long_options): Use prototype
69199         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
69200         for clarity.
69201
69202 2004-01-21  Jim Meyering  <jim@meyering.net>
69203
69204         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
69205         so as not to conflict with a different-sized __mktime_internal
69206         function in GNU libc.
69207         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
69208         Problem building statically-linked `ls' reported by Michael Brunnbauer.
69209
69210 2004-01-20  Karl Berry  <karl@gnu.org>
69211
69212         * config/config.guess: update from config.
69213
69214         * config/srclistvars.sh: GNUWWWLICENSES for karl.
69215
69216 2004-01-20  Bruno Haible  <bruno@clisp.org>
69217
69218         Safer stack allocation.
69219         * lib/setenv.c: Include allocsa.h.
69220         (alloca): Remove fallback definition.
69221         (freea): Remove macro.
69222         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
69223         instead of freea.
69224
69225 2004-01-20  Bruno Haible  <bruno@clisp.org>
69226
69227         * m4/eealloc.m4: New file, from GNU gettext.
69228
69229 2004-01-20  Bruno Haible  <bruno@clisp.org>
69230
69231         * m4/allocsa.m4: New file, from GNU gettext.
69232
69233 2004-01-20  Bruno Haible  <bruno@clisp.org>
69234
69235         * lib/xallocsa.h: New file, from GNU gettext.
69236         * lib/xallocsa.c: New file, from GNU gettext.
69237
69238 2004-01-20  Bruno Haible  <bruno@clisp.org>
69239
69240         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
69241
69242 2004-01-20  Bruno Haible  <bruno@clisp.org>
69243
69244         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
69245         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
69246         specially.
69247
69248 2004-01-20  Bruno Haible  <bruno@clisp.org>
69249
69250         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
69251         patch.
69252
69253 2004-01-20  Bruno Haible  <bruno@clisp.org>
69254
69255         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
69256
69257 2004-01-20  Bruno Haible  <bruno@clisp.org>
69258
69259         * lib/eealloc.h: New file.
69260
69261 2004-01-20  Bruno Haible  <bruno@clisp.org>
69262
69263         * lib/binary-io.h: Avoid warnings on Cygwin.
69264
69265 2004-01-20  Bruno Haible  <bruno@clisp.org>
69266
69267         * lib/allocsa.h: New file, from GNU gettext.
69268         * lib/allocsa.c: New file, from GNU gettext.
69269
69270 2004-01-18  Karl Berry  <karl@gnu.org>
69271
69272         * doc/gpl.texi, doc/lgpl.texi: new files.
69273
69274 2004-01-18  Karl Berry  <karl@gnu.org>
69275
69276         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
69277         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
69278
69279 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69280
69281         Merge from coreutils.
69282
69283         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
69284         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
69285         (gl_DEFAULT_POSIX2_VERSION): Move
69286         the documentation from 'configure' into 'config.hin',
69287         so that 'configure --help' isn't burdened by it and
69288         we don't have to worry about its formatting there.
69289         Reword the documentation so that it's more succinct
69290         and can be run together into a single paragraph.
69291         * m4/same.m4 (gl_SAME): Check for pathconf.
69292
69293 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69294
69295         Merge from coreutils.
69296
69297         * lib/posixver.c: Include posixver.h.
69298
69299         * lib/same.c: Include <stdbool.h>, <limits.h>.
69300         (_POSIX_NAME_MAX): Define if not defined.
69301         (MIN): New macro.
69302         (same_name): If file names are silently truncated, report
69303         that the file names are the same if they are the same after
69304         the silent truncation.
69305
69306         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
69307         conversion function.
69308         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
69309         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
69310         longer needed.
69311
69312 2004-01-15  Jim Meyering  <jim@meyering.net>
69313
69314         Merge from coreutils.
69315
69316         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
69317         if no library is required.
69318         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
69319         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
69320         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
69321         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
69322         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
69323         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
69324         value, $ac_cv_search_crypt, if it's "none required".
69325         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
69326         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
69327         not gl_FUNC_GETLOADAVG.
69328         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
69329         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
69330
69331 2004-01-15  Jim Meyering  <jim@meyering.net>
69332
69333         Merge from coreutils.
69334
69335         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
69336         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
69337         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
69338
69339         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
69340         optional configure-time default.
69341
69342         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69343
69344         * lib/xreadlink.c (xreadlink): Correct outdated comment.
69345
69346 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
69347
69348         Merge from coreutils.
69349
69350         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
69351         value, $ac_cv_search_nanosleep, if it's "none required".
69352
69353 2004-01-14  Paul Eggert  <eggert@twinsun.com>
69354
69355         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
69356         with like-named macro in fnmatch.c.
69357         (EXT): Use an internal constant instead.
69358
69359         Merge fnmatch patches from glibc.
69360         * lib/fnmatch.c (mbsinit): Remove define.
69361         Add libc_hidden_ver (__fnmatch, fnmatch).
69362         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
69363         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
69364
69365 2004-01-14  Karl Berry  <karl@gnu.org>
69366
69367         * config/install-sh: update from automake.
69368
69369 2004-01-13  Karl Berry  <karl@gnu.org>
69370
69371         * config/install-sh: update from automake.
69372
69373 2004-01-09  Karl Berry  <karl@gnu.org>
69374
69375         * config/install-sh: update from automake.
69376
69377 2004-01-05  Karl Berry  <karl@gnu.org>
69378
69379         * config/config.{sub,guess}: update from config.
69380
69381 2003-12-31  Karl Berry  <karl@gnu.org>
69382
69383         * config/depcomp: update from automake.
69384
69385 2003-12-14  Karl Berry  <karl@gnu.org>
69386
69387         * lib/config.charset: update from gettext-runtime.
69388
69389 2003-12-03  Paul Eggert  <eggert@twinsun.com>
69390
69391         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
69392         Bug reported by Alfred M. Szmidt.
69393
69394 2003-12-03  Bruno Haible  <bruno@clisp.org>
69395
69396         * m4/gettext.m4: Upgrade from gettext-0.13.
69397         * m4/po.m4: Upgrade from gettext-0.13.
69398         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
69399         * m4/intmax.m4: New file, from gettext-0.13.
69400         * m4/printf-posix.m4: New file, from gettext-0.13.
69401
69402 2003-11-29  Karl Berry  <karl@gnu.org>
69403
69404         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
69405
69406 2003-11-25  Paul Eggert  <eggert@twinsun.com>
69407             Bruno Haible  <bruno@clisp.org>
69408
69409         * lib/printf-parse.h: Don't include sys/types.h.
69410         (ARG_NONE): New macro.
69411         (char_directive): Change type of *arg_index fields to size_t.
69412         * lib/printf-parse.c: Don't include sys/types.h.
69413         (SSIZE_MAX): Remove macro.
69414         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
69415         Remove unnecessary overflow check.
69416         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
69417         fields.
69418
69419 2003-11-25  Bruno Haible  <bruno@clisp.org>
69420
69421         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
69422
69423 2003-11-25  Bruno Haible  <bruno@clisp.org>
69424
69425         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
69426         gt_TYPE_SSIZE_T.
69427
69428 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69429
69430         * modules/alloca: Remove dependency on xalloc.
69431
69432 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69433
69434         * lib/alloca.c: Remove dependency on xalloc module.
69435         (xalloc_die): Remove.
69436         (memory_full) [!defined emacs]: New macro.
69437         [!defined emacs]: Don't include xalloc.h.
69438         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
69439         address arithmetic overflows.  Change datatypes a bit to avoid
69440         unnecessary casts.
69441
69442 2003-11-22  Jim Meyering  <jim@meyering.net>
69443
69444         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
69445         s/size/size_t/.
69446
69447 2003-11-21  Karl Berry  <karl@gnu.org>
69448
69449         * config/config.{sub,guess}: update from config.
69450
69451 2003-11-18  Karl Berry  <karl@gnu.org>
69452
69453         * config/config.{sub,guess}: update from config.
69454
69455         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
69456
69457 2003-11-17  Paul Eggert  <eggert@twinsun.com>
69458
69459         * README: Mention that S+T cannot overflow if S is the size of
69460         an existing object and T is sufficiently small.
69461
69462 2003-11-17  Jim Meyering  <jim@meyering.net>
69463
69464         On systems without utime and without a utimes function capable of
69465         dealing with a NULL struct utimbuf* argument, this utime replacement
69466         could -- in unusual circumstances -- leak a file descriptor.
69467         * lib/utime.c: Include <unistd.h> and <errno.h>.
69468         (utime_null): Be sure to close `fd' and to preserve errno.
69469         Reported by Geoff Collyer via Arnold Robbins.
69470
69471 2003-11-17  Bruno Haible  <bruno@clisp.org>
69472
69473         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
69474         (Depends-on): Add xsize.
69475
69476 2003-11-17  Bruno Haible  <bruno@clisp.org>
69477
69478         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
69479
69480 2003-11-17  Bruno Haible  <bruno@clisp.org>
69481
69482         * lib/vasnprintf.c (alloca): Remove fallback definition.
69483         (freea): Remove definition.
69484         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
69485         Reported by Paul Eggert.
69486
69487 2003-11-16  Paul Eggert  <eggert@twinsun.com>
69488             Bruno Haible  <bruno@clisp.org>
69489
69490         Protect against address arithmetic overflow.
69491         * lib/printf-args.h: Include stddef.h.
69492         (arguments): Change type of field 'count' to size_t.
69493         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
69494         'unsigned int' where appropriate.
69495         * lib/printf-parse.h: Include sys/types.h.
69496         (char_directive): Change type of *arg_index fields to ssize_t.
69497         (char_directives): Change type of fields 'count', max_*_length to
69498         size_t.
69499         * lib/printf-parse.c: Include sys/types.h and xsize.h.
69500         (SSIZE_MAX): Define fallback value.
69501         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
69502         instead of 'int' where appropriate. Check a_allocated, d_allocated
69503         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
69504         * lib/vasnprintf.c: Include xsize.h.
69505         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
69506         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
69507         overflow. Avoid wraparound when converting a width or precision from
69508         decimal to binary.
69509
69510 2003-11-16  Bruno Haible  <bruno@clisp.org>
69511
69512         Update from GNU gettext.
69513         * lib/printf-parse.c: Generalize to it can be compiled for wide
69514         strings.
69515         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
69516         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
69517         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
69518         SNPRINTF): New macros.
69519         Don't include <alloca.h> if the file is used inside libintl.
69520         (local_wcslen): New function, for Solaris 2.5.1.
69521         (VASNPRINTF): Use it instead of wcslen.
69522
69523 2003-11-16  Bruno Haible  <bruno@clisp.org>
69524
69525         * lib/xsize.h (xmax): New function.
69526         (xsum, xsum3, xsum4): Declare as "pure" functions.
69527
69528 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69529
69530         * modules/xalloc (Files): Undo latest change, since xalloc.h
69531         no longer needs SIZE_MAX or PTRDIFF_MAX.
69532
69533 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69534
69535         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
69536         gl_PTRDIFF_MAX.
69537
69538 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69539
69540         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
69541         "return", to pacify some unknown compiler.  Problem reported
69542         by Joerg Schilling.
69543
69544 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69545
69546         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
69547         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
69548         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
69549         heuristic is just as accurate as far as we know, and it removes a
69550         dependency on size_max.m4 and ptrdiff_max.m4.
69551
69552 2003-11-11  Bruno Haible  <bruno@clisp.org>
69553
69554         * modules/xsize (Files): Add m4/size_max.m4.
69555         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
69556
69557 2003-11-11  Bruno Haible  <bruno@clisp.org>
69558
69559         * m4/size_max.m4: New file.
69560         * m4/ptrdiff_max.m4: New file.
69561         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
69562         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
69563         (gl_XALLOC): Invoke it.
69564
69565 2003-11-11  Bruno Haible  <bruno@clisp.org>
69566
69567         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
69568         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
69569         defined.
69570
69571 2003-11-10  Paul Eggert  <eggert@twinsun.com>
69572
69573         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
69574         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
69575         rejected some allocations of exactly SIZE_MAX - 2 bytes.
69576         From Bruno Haible.
69577         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
69578         not (size_t) -1, since it's defined here.
69579
69580 2003-11-09  Karl Berry  <karl@gnu.org>
69581
69582         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
69583
69584 2003-11-06  Paul Eggert  <eggert@twinsun.com>
69585
69586         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
69587         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
69588         Reject sizes of exactly SIZE_MAX bytes.
69589         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
69590         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
69591
69592 2003-11-05  Bruno Haible  <bruno@clisp.org>
69593
69594         * lib/xsize.h: Include limits.h, to avoid a possible collision with
69595         SIZE_MAX defined in <limits.h> on Solaris.
69596
69597 2003-11-04  Jim Meyering  <jim@meyering.net>
69598
69599         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
69600         variable names, rather than @VAR@.
69601         * modules/poll: Likewise.
69602
69603 2003-11-04  Bruno Haible  <bruno@clisp.org>
69604
69605         * modules/xsize: New file.
69606         * modules/linebreak: Depend on xsize.
69607         * MODULES.html.sh (func_all_modules): Add xsize.
69608
69609 2003-11-04  Bruno Haible  <bruno@clisp.org>
69610
69611         * m4/xsize.m4: New file.
69612
69613 2003-11-04  Bruno Haible  <bruno@clisp.org>
69614
69615         * lib/xsize.h: New file.
69616         * lib/linebreak.c: Include xsize.h.
69617         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
69618         argument for overflow.
69619         Suggested by Paul Eggert.
69620
69621 2003-11-03  Karl Berry  <karl@gnu.org>
69622
69623         * config/config.{guess,sub}: update from config.
69624
69625 2003-11-03  Jim Meyering  <jim@meyering.net>
69626
69627         * modules/userspec (lib_SOURCES): Add userspec.h.
69628         (Include): Add "userspec.h".
69629         Improve description.
69630
69631 2003-11-03  Jim Meyering  <jim@meyering.net>
69632
69633         * lib/userspec.c: Include "userspec.h".
69634         * lib/userspec.h: New file.
69635
69636 2003-11-03  Bruno Haible  <bruno@clisp.org>
69637
69638         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
69639
69640 2003-11-03  Bruno Haible  <bruno@clisp.org>
69641
69642         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
69643         available, to avoid (extremely rare) race condition.
69644         Suggested by Paul Eggert.
69645
69646 2003-11-02  Karl Berry  <karl@gnu.org>
69647
69648         * config/srclist.txt (vasprintf.c): sync broken, sigh.
69649
69650 2003-10-31  Paul Eggert  <eggert@twinsun.com>
69651
69652         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
69653         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
69654         (read_filesystem_list): Set and use me_type_malloced.
69655         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
69656         whatever the type happens to be), for brevity and consistency.
69657         Check for size calculation overflow on Alphas running OSF/1.
69658
69659 2003-10-31  Jim Meyering  <jim@meyering.net>
69660
69661         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
69662
69663         * lib/linebuffer.c: Include <string.h> for declaration of memset.
69664
69665 2003-10-30  Paul Eggert  <eggert@twinsun.com>
69666             Bruno Haible  <bruno@clisp.org>
69667
69668         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
69669         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
69670
69671 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69672
69673         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
69674         netbsd*-gnu*.  Suggested by Robert Millan.
69675
69676 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69677
69678         * modules/group-member: Depend on stdbool.
69679
69680 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69681
69682         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
69683
69684 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69685
69686         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69687         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69688         after the 'gnu' in these cases.  This fixes some bugs in the
69689         previous change, and is based on suggestions by Robert Millan.
69690
69691 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69692
69693         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69694         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69695         no longer needed.
69696         * lib/quotearg.c (quotearg_n_options): Use it.
69697         * lib/group-member.c: Include <stdbool.h>.
69698         (free_group_info): Arg is now const *; don't free arg.
69699         (get_group_info): Now returns bool and accepts struct group_info *,
69700         rather than returning a malloc'ed struct group_info *.
69701         All uses changed.  Check for overflow in internal size calculation.
69702
69703         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69704         rather than xmalloc/xrealloc.
69705         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69706         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69707         conformance bug: the old code used a pointer after freeing the
69708         storage that it addressed.
69709         * lib/hash.c (hash_initialize): Simplify the code by using
69710         xalloc_oversized rather than doing it by hand.
69711         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69712         the buffer preserved.  Use free and xmalloc instead.
69713         * lib/quotearg.c (quotearg_n_options): Likewise.
69714         Use a simpler test for size overflow.  Don't use xalloc_oversized
69715         because unsigned int might be wider than size_t (!); this suggests
69716         that we should switch from unsigned int to size_t for slot numbers.
69717
69718 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69719
69720         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69721         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69722         NetBSD kernels.  Requested by Richard Stallman.
69723
69724 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69725
69726         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69727         to allocate the returned structure.  Do not allocate a subarray,
69728         as x2nrealloc will do that.
69729         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69730         instead of xnrealloc.
69731         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69732
69733 2003-10-27  Bruno Haible  <bruno@clisp.org>
69734
69735         * lib/stdbool_.h: Better support for BeOS.
69736
69737 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69738
69739         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69740         now uses inline.
69741
69742 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69743
69744         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69745         callers that want to do their own size-overflow checking.  Include
69746         <stdbool.h>, since xalloc_oversized returns bool.
69747         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69748         to use xalloc_oversized.
69749
69750         Add two functions x2realloc, x2nrealloc, for programs that grow
69751         arrays dynamically by doubling their sizes.
69752         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69753         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69754         New functions.
69755
69756         Port to C99 semantics for 'inline' of external functions.
69757         Bug reported by Bruno Haible.
69758         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69759         with the old contents of xnmalloc.
69760         (xnmalloc, xmalloc): Use it.
69761         (xnrealloc_inline): New static inline function,
69762         with the old contents of xnrealloc.
69763         (xnrealloc, xrealloc): Use it.
69764
69765         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69766         that.
69767
69768 2003-10-26  Karl Berry  <karl@gnu.org>
69769
69770         * config/srclist.txt (COPYING.DOC): no longer available from
69771         /gd/gnuorg; don't know where the ultimate source is.
69772
69773 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69774
69775         Fix several address-calculation bugs in the hash modules,
69776         plus some minor code cleanup.
69777
69778         * lib/hash.h: Include <stdbool.h>, for bool.
69779         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69780         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69781         hash_get_n_entries, hash_get_max_bucket_length,
69782         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69783         hash_rehash): Use size_t rather than unsigned.
69784         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69785         hash_get_n_buckets_used, hash_get_n_entries,
69786         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69787         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69788         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69789         Likewise.
69790         (SIZE_MAX): Define if not defined.
69791         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69792         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69793         hash_print):
69794         Use const * when possible.
69795         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69796         (check_tuning): Fix bug: if tuning parameters were very close to
69797         0 or 1, rounding errors could have caused subscript violations.
69798         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69799         (hash_initialize): Add 'fail:' label
69800         to free table and return NULL, and use it to simplify code.
69801         Use calloc rather than clearing the storage ourself.
69802         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69803         buffer size calculations.
69804         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69805         Include <stddef.h>, for size_t.
69806         * lib/hash-pjw.c (hash_pjw): Likewise.
69807         Switch to method described by Bruno Haible.
69808         Include <limits.h>, for CHAR_BIT.
69809         (SIZE_BITS): New macro.
69810
69811 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69812
69813         * m4/getline.m4 (AM_FUNC_GETLINE):
69814         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69815         hosts.  Problem reported by Derek Robert Price in
69816         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69817         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69818         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69819
69820 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69821
69822         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69823         ceiling the allocation at NMAX bytes rather than silently
69824         discarding input bytes before NMAX is reached.  This makes
69825         a difference only if NMAX exceeds SIZE_MAX / 2.
69826
69827         * lib/obstack.c: Merge from glibc.
69828         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69829         Add libc_hidden_def (_obstack_newchunk).
69830         (_obstack_free) [! defined _LIBC]: Remove.
69831         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69832         a clone of the function body.
69833         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69834         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69835
69836         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69837         glibc.
69838         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69839         arg to memcpy.
69840
69841         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69842         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69843         Don't use lvalue casts, as GCC plans to remove support for them
69844         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69845         was also present in the non-GCC version, indicating that this
69846         code had always been buggy and had never been widely used.
69847         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69848         Use the fast variant of each macro, rather than copying the
69849         definiens of the fast variant; that way, we'll be more likely to
69850         catch future bugs in the fast variants.
69851
69852 2003-10-20  Bruno Haible  <bruno@clisp.org>
69853
69854         * modules/wait-process: New file.
69855         * MODULES.html.sh (func_all_modules): Add wait-process.
69856
69857 2003-10-20  Bruno Haible  <bruno@clisp.org>
69858
69859         * m4/wait-process.m4: New file.
69860
69861 2003-10-20  Bruno Haible  <bruno@clisp.org>
69862
69863         * lib/wait-process.h: New file, from GNU gettext.
69864         * lib/wait-process.c: New file, from GNU gettext.
69865
69866 2003-10-19  Jim Meyering  <jim@meyering.net>
69867
69868         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69869         HPUX 10.20.
69870
69871 2003-10-18  Karl Berry  <karl@gnu.org>
69872
69873         * config/config.guess: update from config.
69874
69875 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69876
69877         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69878         (getgroups): First arg is int, not size_t.
69879         Don't let 'free' mangle errno.
69880
69881 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69882
69883         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69884
69885 2003-10-16  Karl Berry  <karl@gnu.org>
69886
69887         * config/config.{guess,sub}: update from config.
69888
69889 2003-10-16  Jim Meyering  <jim@meyering.net>
69890
69891         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69892         memcpy.
69893
69894 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69895
69896         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69897         (SIZE_MAX): Remove.
69898         (new_exclude, add_exclude_file): Initial size no longer needs to
69899         be a power of 2.
69900         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69901         our own address arithmetic overflow checking.
69902
69903         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69904         (fnmatch): Do not alloca more than 2000 wide characters;
69905         instead, use malloc for large buffers.
69906         Check for address arithmetic overflow, and return -1
69907         with errno set to ENOMEM in that case.
69908         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69909         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69910         instead, return -1.  Check for address arithmetic overflow.
69911
69912 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69913
69914         Handle invalid suffixes and overflow independently, so that
69915         callers can treat them independently as needed.  Fix some bugs in
69916         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69917         suffix for a human-readable blocksize.  The major caller-visible
69918         change is the addition of a new
69919         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69920         that both overflow and suffix chars were found.
69921
69922         * lib/human.c (humblock): Don't check separately for invalid suffix
69923         char; that is xstrtoumax's job (now that its bug is fixed).
69924         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
69925         INTMAX_MAX]: New macros.
69926         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
69927         TYPE_MAXIMUM): New macros.
69928         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
69929         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
69930         if overflow occurs, as it's what __strtol does and it's more useful
69931         in practice.
69932         (__xstrtol): If __strtol reports some error other than ERANGE,
69933         reflect it to the caller as LONGINT_INVALID.  If it reports
69934         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
69935         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
69936         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
69937         value.
69938         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
69939         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
69940         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
69941         [defined UINTMAX_MAX]: New macros.
69942
69943 2003-10-14  Bruno Haible  <bruno@clisp.org>
69944
69945         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
69946
69947 2003-10-14  Bruno Haible  <bruno@clisp.org>
69948
69949         * m4/sig_atomic_t: New file, from GNU gettext.
69950         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
69951
69952 2003-10-14  Bruno Haible  <bruno@clisp.org>
69953
69954         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
69955         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
69956         Also use volatile where needed.
69957
69958 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69959
69960         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
69961         Change maintainer from Bruno Haible to 'all'.
69962
69963 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69964
69965         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
69966
69967 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69968
69969         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
69970         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
69971         and define in terms of the other primitives.
69972         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
69973         (SIZE_MAX): Define if not already defined.
69974         (array_size_overflow): New function.
69975         (xalloc_die): Abort instead of exiting if 'error' returns.
69976         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
69977         (xmalloc, xrealloc): Use them.
69978         (xcalloc): Check for address arithmetic overflow.
69979         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
69980         a bit faster than strcpy.
69981
69982 2003-10-10  Simon Josefsson  <jas@extundo.com>
69983
69984         * modules/argp (Depends-on): Add restrict and strcase.
69985
69986 2003-10-10  Simon Josefsson  <jas@extundo.com>
69987
69988         * m4/argp.m4: Add AC_C_INLINE.
69989
69990 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69991
69992         Merge getpass from libc, plus a few fixes.
69993
69994         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
69995         Include <stdbool.h>.
69996         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
69997         __fsetlocking to empty.
69998         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
69999         do include <bits/libc-lock.h>.
70000         Do not include <fcntl.h>; not needed.
70001         [_LIBC]: Include <wchar.h>.
70002         (NOTCANCEL_MODE): New macro.
70003         (flockfile, funlockfile) [_LIBC]: New macros.
70004         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
70005         [!_LIBC]: New macros.
70006         (call_fclose): New function.
70007         (getpass): Use it.  Save tty stream separately; this simplifies the
70008         code and makes it more reliable if stdin happens to equal stdout.
70009         Invoke __fsetlocking on tty.
70010         Handle thread cancellation if needed.
70011         Namespace cleanup (use __tcgetattr, __getline).
70012         Use bool for Booleans.
70013         [USE_IN_LIBIO]: Handle wide streams.
70014         [!_LIBC]: Unconditionally do the fseek, since we don't know what
70015         stream might go where.
70016
70017         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
70018         doesn't have to include <stdio.h> before us.
70019         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
70020         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
70021         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
70022         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
70023         if not declared, so that we can use getpass.c code from libc without
70024         rewriting it.
70025         (flockfile, ftrylockfile, funlockfile): New macros.
70026
70027 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70028
70029         * modules/getpass: Depend on stdbool.
70030
70031 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70032
70033         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
70034
70035 2003-10-07  Karl Berry  <karl@gnu.org>
70036
70037         * config/config.{guess,sub}: update from config.
70038
70039 2003-10-06  Jim Meyering  <jim@meyering.net>
70040             Bruno Haible  <bruno@clisp.org>
70041
70042         This lets translators provide better translations for the
70043         "Written by ..." part of --version output.
70044         * lib/version-etc.h: Include stdarg.h.
70045         (version_etc_copyright): Declare as readonly.
70046         (version_etc): Make this function variadic with a NULL-terminated list
70047         of author name strings.
70048         (version_etc_va): New declaration.
70049         * lib/version-etc.c: Include stdarg.h, stdlib.h.
70050         (version_etc_copyright): Declare as readonly.
70051         (version_etc_va): New function. Provide a different translatable string
70052         for each possible number of authors < 10. Abbreviate when there are 10
70053         authors or more.
70054         (version_etc): Make this function variadic. Call version_etc_va.
70055         Suggestion from Gary V. Vaughan.
70056
70057         * lib/long-options.h (parse_long_options): Change prototype: the
70058         authors string is moved to the end and becomes variadic.
70059         * lib/long-options.c: Include stdarg.h.
70060         (parse_long_options): Make this function variadic, too.
70061         Call version_etc_va, not version_etc.
70062
70063 2003-10-06  Bruno Haible  <bruno@clisp.org>
70064
70065         * modules/version-etc-2: Remove file.
70066         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
70067
70068 2003-10-06  Bruno Haible  <bruno@clisp.org>
70069
70070         * modules/fatal-signal: New file.
70071         * MODULES.html.sh (func_all_modules): Add fatal-signal.
70072
70073 2003-10-06  Bruno Haible  <bruno@clisp.org>
70074
70075         * m4/fatal-signal.m4: New file.
70076         * m4/signalblocking.m4: New file, from GNU gettext.
70077
70078 2003-10-06  Bruno Haible  <bruno@clisp.org>
70079
70080         * lib/version-etc-2.h: Remove file.
70081         * lib/version-etc-2.c: Remove file.
70082
70083 2003-10-06  Bruno Haible  <bruno@clisp.org>
70084
70085         * lib/fatal-signal.h: New file, from GNU gettext.
70086         * lib/fatal-signal.c: New file, from GNU gettext.
70087
70088 2003-10-05  Paul Eggert  <eggert@twinsun.com>
70089
70090         * README: Rework advice for preventing empty .o files.
70091         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
70092         not <sys/types.h>.
70093
70094 2003-10-04  Karl Berry  <karl@gnu.org>
70095
70096         * lib/argp*: update from libc.
70097
70098 2003-10-04  Karl Berry  <karl@gnu.org>
70099
70100         * config/config.{guess,sub}: update from config.
70101
70102 2003-10-02  Bruno Haible  <bruno@clisp.org>
70103
70104         * modules/lchown (Include): Add lchown.h.
70105         * modules/time_r (Include): Use "..." syntax.
70106         * modules/xgetdomainname (Include): Add xgetdomainname.h.
70107
70108 2003-10-01  Simon Josefsson  <jas@extundo.com>
70109
70110         * MODULES.html.sh (func_all_modules): Move gethostname from section
70111         'based on' to section 'lacking' POSIX:2001.
70112
70113 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
70114
70115         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
70116         to output mode on the same stream.
70117
70118 2003-09-29  Paul Eggert  <eggert@twinsun.com>
70119
70120         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
70121         Fix arg typo in previous patch.
70122
70123 2003-09-28  Jim Meyering  <jim@meyering.net>
70124
70125         * lib/error.c: Correct cpp indentation.
70126
70127 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70128
70129         * modules/free: New file.
70130
70131 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70132
70133         * m4/free.m4: New file.
70134
70135 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70136
70137         * lib/minmax.h (MIN, MAX)
70138         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
70139         Omit the special code that used __typeof__, since we worry that
70140         it could be more trouble than it's worth.  See:
70141         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
70142         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
70143
70144         * lib/free.c: New file.
70145
70146 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
70147
70148         Trivial fixes to Makefile.am parts of module listings.
70149         * modules/strstr: Append strstr.h to lib_SOURCES.
70150         * modules/strcase: Likewise, for strcase.h.
70151
70152 2003-09-27  Karl Berry  <karl@gnu.org>
70153
70154         * config/mkinstalldirs: update from automake.
70155
70156 2003-09-26  Paul Eggert  <eggert@twinsun.com>
70157
70158         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
70159         (error_tail): Do not loop, reallocating temporary buffer, since
70160         the output cannot contain more wide characters than the input
70161         contains bytes, the size must be big enough already.  This avoids
70162         one potential size overflow calculation.  Check for size overflow
70163         when calculating temporary buffer size.  Free temporary buffer
70164         when done, if it was allocated with malloc; this plugs a memory
70165         leak.  Remove casts from void * to pointers, that are no longer
70166         needed now that we're assuming C89 or better.
70167
70168         Merge error changes from glibc.
70169
70170         * lib/error.c, error.h: Update copyright notice header to match glibc.
70171         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
70172         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
70173         Disable cancellation while printing error.
70174         * lib/error.h: Prepend __ to parameter names.
70175
70176 2003-09-26  Jim Meyering  <jim@meyering.net>
70177
70178         * lib/error.c (error_tail): Move some declarations
70179         into inner scope where the local variables are used.
70180
70181 2003-09-26  Bruno Haible  <bruno@clisp.org>
70182
70183         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
70184         stpncpy().
70185         Don't define stpncpy through config.h; it's now done through stpncpy.h.
70186
70187 2003-09-26  Bruno Haible  <bruno@clisp.org>
70188
70189         * lib/stpncpy.h (gnu_stpncpy): New declaration.
70190         (stpncpy): Define as alias for gnu_stpncpy.
70191         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
70192
70193 2003-09-25  Simon Josefsson  <jas@extundo.com>
70194
70195         * lib/xgetdomainname.h: New file.
70196         * lib/xgetdomainname.c: New file.
70197
70198 2003-09-25  Simon Josefsson  <jas@extundo.com>
70199             Bruno Haible  <bruno@clisp.org>
70200
70201         * modules/getdomainname: New file.
70202         * modules/xgetdomainname: New file.
70203         * MODULES.html.sh (func_all_modules): Add getdomainname,
70204         xgetdomainname.
70205
70206 2003-09-25  Simon Josefsson  <jas@extundo.com>
70207             Bruno Haible  <bruno@clisp.org>
70208
70209         * m4/getdomainname.m4: New file.
70210
70211 2003-09-25  Simon Josefsson  <jas@extundo.com>
70212             Bruno Haible  <bruno@clisp.org>
70213
70214         * lib/getdomainname.h: New file.
70215         * lib/getdomainname.c: New file.
70216
70217 2003-09-25  Karl Berry  <karl@gnu.org>
70218
70219         * lib/argp-fmtstream.c, argp-help.c: update from libc.
70220
70221 2003-09-25  Karl Berry  <karl@gnu.org>
70222
70223         * config/install-sh: update from automake.
70224
70225 2003-09-25  Bruno Haible  <bruno@clisp.org>
70226
70227         * modules/version-etc-2: New file, from modules/version-etc with
70228         modifications.
70229         * MODULES.html.sh (func_all_modules): Add version-etc-2.
70230
70231 2003-09-25  Bruno Haible  <bruno@clisp.org>
70232
70233         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
70234         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
70235
70236 2003-09-24  Simon Josefsson  <jas@extundo.com>
70237
70238         * modules/xgethostname: Add xgethostname.h.
70239
70240 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70241
70242         * lib/linebuffer.c (freebuffer): Don't free the argument, just
70243         the buffer associated with the argument.  Bug reported by
70244         Simon Josefsson.
70245
70246 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70247
70248         * README: Document assumptions that 'int' is at least 32 bits
70249         wide, that integer arithmetic is 2's complement without overflow,
70250         that there are no holes in integer values, that adding sizes of
70251         two nonoverlapping objects can't overflow, and that all-bits-zero
70252         yields scalar zero.  Fix spelling and capitalization typos.
70253
70254 2003-09-19  Karl Berry  <karl@gnu.org>
70255
70256         * lib/argp.h: update from libc.
70257
70258 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70259
70260         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
70261         to avoid spurious warnings like "AC_RUN_IFELSE was called before
70262         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
70263
70264 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70265
70266         * gnulib-tool: Use "test -h", not "test -L", for portability
70267         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
70268         (tags_regexp): Remove, since \| doesn't conform to POSIX.
70269         (sed_extract_prog): Issue s commands one-by-one, rather than
70270         using \| in one s command.
70271
70272 2003-09-16  Paul Eggert  <eggert@twinsun.com>
70273
70274         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
70275         input error, instead of returning NULL the next time we are called
70276         (and therefore losing track of errno).
70277
70278 2003-09-16  Bruno Haible  <bruno@clisp.org>
70279
70280         * gnulib-tool (func_create_testdir): Warn about duplicated
70281         dependencies.
70282
70283 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70284
70285         * modules/argmatch, modules/fatal, modules/obstack,
70286         modules/xalloc, modules/xgethostname: Sort dependencies by
70287         importance, not alphabetically.
70288
70289 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70290
70291         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
70292         fails, so that the caller gets the proper errno.
70293
70294         * lib/readutmp.c (read_utmp): Likewise.
70295         Check for fstat error.  Close stream and free storage
70296         when failing.
70297
70298 2003-09-14  Karl Berry  <karl@gnu.org>
70299
70300         * config/srclist.txt (strdup.c): disable for c89 changes.
70301
70302 2003-09-14  Jim Meyering  <jim@meyering.net>
70303
70304         * lib/getloadavg.c: Correct cpp indentation.
70305         * lib/strdup.c: Likewise.
70306         * lib/vasnprintf.c: Likewise.
70307
70308 2003-09-14  Bruno Haible  <bruno@clisp.org>
70309
70310         * modules/fwriteerror: New file.
70311         * MODULES.html.sh (func_all_modules): Add fwriteerror.
70312
70313 2003-09-14  Bruno Haible  <bruno@clisp.org>
70314
70315         * lib/fwriteerror.h: New file.
70316         * lib/fwriteerror.c: New file.
70317
70318 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70319
70320         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
70321         modules/xgethostname, modules/xalloc: Depend on exit.
70322
70323 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70324
70325         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
70326
70327         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
70328         and AC_MINIX, too, so that their extensions are available.
70329
70330         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
70331         This macro has been superseded by gl_BACKUPFILE.
70332
70333         More patches to assume C89 or better.
70334
70335         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
70336
70337         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
70338         unconditionally.
70339         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
70340         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
70341         Include <string.h>, <stdlib.h> unconditionally.
70342         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
70343         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
70344         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
70345         headers or for string.h.
70346         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
70347         or strtoul.
70348
70349         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
70350         headers.
70351         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
70352         * m4/userspec.m4 (gl_USERSPEC): Likewise.
70353         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
70354         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
70355         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70356         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
70357         memcpy, memset.
70358         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
70359         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
70360         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
70361         strtol.
70362         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
70363         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
70364         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
70365         strtoul.
70366
70367 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70368
70369         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
70370         * lib/obstack.c [!defined _LIBC]: Likewise.
70371         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
70372         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
70373         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
70374
70375         More changes to assume C89 or better.
70376
70377         * lib/error.c (error_tail): Assume vprintf.
70378
70379         * lib/argmatch.c (getenv): Remove decl.
70380         * lib/progreloc.c (get_full_program_name): Define via prototype.
70381         * lib/setenv.c (clearenv): Likewise.
70382         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
70383         needed.
70384         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
70385         (malloc, memcpy): Remove decls.
70386         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
70387         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
70388         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70389         (memcpy): Remove macro.
70390         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
70391         (__P): Remove.  All uses removed.
70392         (PTR): Remove.  All uses changed to void *.
70393         (CHAR_BIT, NULL): Remove.
70394         (spaces, zeros, memset_space, memset_zero)
70395         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
70396         Remove.
70397         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
70398         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
70399         Define with prototype.
70400         Remove now-unnecessary prototype decl.
70401         (extra_args_spec): Assume ANSI C.  All uses changed.
70402         (extra_args_spec_iso): Remove.
70403         (my_strftime, emacs_strftimeu): Define via prototype.
70404         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
70405         unconditionally.
70406         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
70407         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
70408         (strtoul, strtol): Remove decls.
70409         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
70410         LONG_MAX): Remove.
70411         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70412         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
70413         (LOCALE_PARAM_PROTO): New macro.
70414         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
70415         (INTERNAL (strtol), strtol): Define with a prototype.
70416         (PARAMS): Remove.  All uses removed.
70417         * lib/tempname.c: Include <string.h> unconditionally.
70418         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
70419         * lib/xgethostname.c (main): Define with a prototype.
70420         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
70421         Include <stdlib.h> unconditionally.
70422         (calloc, malloc, realloc, free): Remove decls.
70423         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
70424         Include <stdlib.h> unconditionally.  Sort include file names.
70425         (strtod): Remove.
70426         (xstrtod): Define with a prototype.
70427         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
70428         (strtol, strtoul): Remove decls.
70429
70430 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70431
70432         More patches to assume C89 or better.
70433         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
70434         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
70435         string.h, memchr, STDC_HEADERS.
70436
70437 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70438
70439         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
70440         Include <stdlib.h>, <string.h> unconditionally.
70441         Remove now-unnecessary cast to char *.
70442         * lib/strnlen.c: Include <string.h> unconditionally.
70443         * lib/yesno.c (yesno): Define with a prototype.
70444
70445 2003-09-11  Bruno Haible  <bruno@clisp.org>
70446
70447         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
70448
70449 2003-09-10  Jim Meyering  <jim@meyering.net>
70450
70451         * lib/error.c: Correct indentation of cpp directives.
70452
70453 2003-09-10  Bruno Haible  <bruno@clisp.org>
70454
70455         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
70456         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
70457         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
70458         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
70459         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
70460         <stdlib.h> and <string.h> checks.
70461         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
70462         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
70463
70464 2003-09-10  Bruno Haible  <bruno@clisp.org>
70465
70466         * lib/strcspn.c: Include <string.h> unconditionally.
70467         * lib/strpbrk.c: Include <string.h> unconditionally.
70468         * lib/strstr.c: Include <string.h> unconditionally.
70469         * lib/unicodeio.c: Include <string.h> unconditionally.
70470         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
70471         * lib/unsetenv.c: Likewise.
70472         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
70473         * lib/yesno.c: Include <stdlib.h> unconditionally.
70474         (rpmatch): Add prototype.
70475
70476 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70477
70478         More patches to assume C89 or better.
70479         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
70480         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
70481         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
70482         or for string.h.
70483         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
70484         stdlib.h.
70485         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
70486         C headers.
70487         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
70488         string.h.
70489         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
70490         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
70491         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
70492         or for string.h.
70493         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
70494         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
70495         C headers.
70496         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
70497         memcpy.
70498         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
70499         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
70500         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
70501         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
70502         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
70503         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
70504         string.h, free.
70505         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
70506         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
70507         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
70508         C headers, or for string.h.
70509         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
70510         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
70511         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
70512         headers, memory.h, stdlib.h, string.h, strings.h.
70513         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
70514         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
70515         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
70516         strchr.
70517         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
70518         headers, memory.h, string.h.
70519         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
70520         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
70521         free.
70522         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
70523         headers.
70524         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
70525         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
70526         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
70527         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
70528         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
70529
70530 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70531
70532         More K&R removal.
70533
70534         * lib/acosl.c (main): Use a prototype.
70535         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
70536         tanl.c: Likewise.
70537
70538         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
70539
70540         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
70541         (getopt, etopt_long, getopt_long_only, _getopt_internal)
70542         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
70543         with a prototype.
70544         * lib/getopt.c (const): Remove macro.
70545         Include <string.h> unconditionally.
70546         (my_index): Remove; all uses changed to strchr.
70547         (strlen): Remove decl.
70548         (exchange): Remove forward decl; no longer needed.
70549         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
70550         Define with prototype.
70551         * lib/getopt1.c (const): Remove macro.
70552         (getopt_long, getopt_long_only, main): Define with prototype.
70553
70554         * lib/getugroups.c: Include <string.h> unconditionally.
70555
70556         * lib/getusershell.c: Include <stdlib.h> unconditionally.
70557         (getusershell, setusershell, endusershell, readname, main):
70558         Define with prototypes.
70559
70560         * lib/group-member.c: Include group-member.h first.
70561         Include <stdlib.h> unconditionally.
70562
70563         * lib/hard-locale.c: Include hard-locale.h first.
70564         Include <stdlib.h>, <string.h> unconditionally.
70565
70566         * lib/hash.c (free, malloc): Remove decls.
70567         Include <stdlib.h> unconditionally.
70568
70569         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
70570         (getenv): Do not declare.
70571
70572         * lib/idcache.c: Include <string.h> unconditionally.
70573
70574         * lib/long-options.c: Include long-options.h first, to test interface.
70575         Include <stdlib.h> unconditionally.
70576
70577         * lib/makepath.c: Include makepath.h first, to test interface.
70578         Include <stdlib.h> and <string.h> unconditionally.
70579
70580         * lib/linebuffer.c: Include <stdlib.h>.
70581         (free): Remove decl.
70582
70583         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
70584         stddef.h. rpl_malloc returns void *, not char *.
70585         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
70586         prototype.
70587
70588         * lib/md5.h: Include <limits.h> unconditionally.
70589         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
70590         (__P): Remove; all uses removed.
70591         * lib/md5.c: Include "md5.h" first.
70592         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
70593         md5_buffer, md5_process_bytes, md5_process_block):
70594         Define with prototypes.
70595         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
70596         * lib/sha.c: Include "sha.h" first.
70597         Include <stdlib.h>, <string.h> unconditionally.
70598
70599         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
70600         * lib/memcmp.c (__ptr_t): Likewise.
70601         * lib/memrchr.c (__ptr_t): Likewise.
70602         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
70603         Include <string.h> unconditionally.
70604         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
70605         * lib/memchr.c: Include <stdlib.h> unconditionally.
70606         * lib/memchr.c (LONG_MAX): Remove.
70607         * lib/memrchr.c (LONG_MAX): Likewise.
70608         * lib/memchr.c (__memchr): Define via a prototype.
70609         * lib/memrchr.c (__memrchr): Likewise.
70610         * lib/memcmp.c (__P): Remove, and remove all uses.
70611         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
70612         Remove forward decls; no longer needed.
70613         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
70614         Use types required by C89 in prototype.
70615
70616         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
70617         * lib/savedir.c: Likewise.
70618         * lib/mkdir.c (free): Remove decl.
70619         * lib/rmdir.c (rmdir): Define with a prototype.
70620         * lib/savedir.c: Include savedir.h first, to test interface.
70621
70622         * lib/mktime.c (STDC_HEADERS): Remove.
70623         Include <stdlib.h>, <string.h> unconditionally.
70624
70625         * lib/modechange.c: Include <stdlib.h> unconditionally.
70626         (malloc): Remove decl.
70627
70628         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
70629         (free): Remove decl.
70630
70631         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
70632         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
70633         (This type really should be intptr_t, but that's a C99ism.)
70634         (_obstack_memcpy): Remove: all uses changed to memcpy.
70635         Include <string.h> unconditionally.
70636         (struct obstack): Assume __STDC__ for types of members
70637         chunkfun, freefun, extra_arg.
70638         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
70639         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
70640         obstack_begin, obstack_specify_allocation,
70641         obstack_specify_allocation_with_arg, obstack_chunkfun,
70642         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
70643         Remove unprototyped decls and the macros that use them.
70644         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
70645         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
70646         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
70647         (defined __STDC__ && __STDC__)]:
70648         Remove nonprototyped code.
70649         Include <stdlib.h> unconditionally.
70650         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
70651         _obstack_allocated_p, _obstack_free, obstack_free,
70652         _obstack_memory_used, print_and_abort):
70653         Define using prototypes.
70654         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
70655         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
70656         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
70657         obstack_next_free, obstack_object_size, obstack_room) [0]:
70658         Remove unused, unprototyped code.
70659
70660         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
70661
70662         * lib/physmem.c (physmem_total, physmem_available, main): Define
70663         with prototypes.
70664
70665         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
70666         (main): Define with a prototype.
70667
70668         * lib/posixver.c (getenv): Remove decl.
70669
70670         * lib/putenv.c (malloc): Returns void *, not char *.
70671         Include <string.h> unconditionally.
70672         (strchr, memcpy, NULL): Do not define.
70673
70674         * lib/readtokens.c: Include readtokens.h first, to test interface.
70675         Include <stdlib.h>, <string.h> unconditionally.
70676         (init_tokenbuffer): Define with a prototype.
70677
70678         * lib/regex.c (PARAMS): Remove.  All uses removed.
70679         All uses of _RE_ARGS removed, too.
70680         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70681         unconditionally.
70682         (bzero): Assume memset exists.
70683         (memcmp, memcpy, NULL): Remove.
70684         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
70685         char, or assignments to local vars of type signed char.
70686         (init_syntax_once, PREFIX(extract_number_and_incr),
70687         PREFIX(print_partial_compiled_pattern),
70688         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70689         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70690         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70691         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70692         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70693         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70694         wcs_compile_range, byte_compile_range, truncate_wchar,
70695         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70696         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70697         count_mbs_length, wcs_re_match_2_internal,
70698         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70699         PREFIX(alt_match_null_string_p),
70700         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70701         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70702         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70703         now-unnecessary declaration, if any.
70704         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70705         regcomp, regexec):
70706         Remove now-unnecessary casts among pointer types.
70707         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70708
70709         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70710         (free): Remove decl.
70711
70712         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70713
70714         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70715         (free): Remove decl.
70716
70717         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70718         * lib/xgetcwd.c: Likewise.
70719
70720         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70721         (free): Remove decl.
70722
70723         * lib/strchrnul.c (strchrnul): Define with a prototype.
70724         Fix bug: c_in was not converted to char before searching.
70725
70726         The following changes are not K&R related:
70727
70728         * lib/group-member.h: Include <sys/types.h>, so that this file is
70729         self-contained.
70730         * lib/makepath.h: Likewise.
70731
70732         * lib/getusershell.c (readname, default_index, line_size, readname):
70733         Use size_t, not int, for sizes.
70734         (readname): If the size overflows, report an error instead of
70735         looping forever.
70736
70737 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70738
70739         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70740         libc.
70741
70742 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70743
70744         * README: New section: portability guidelines.
70745
70746 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70747
70748         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70749         C89 spec.
70750
70751 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70752
70753         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70754
70755 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70756
70757         Assume C89 or better; remove K&R cruft.
70758         A few of these changes were first proposed by Derek Robert Price
70759         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70760
70761         * lib/addext.c: Include <string.h> unconditionally.
70762         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70763         Don't declare getenv or malloc.
70764
70765         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70766         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70767         (NULL): Remove.
70768         (find_stack_direction, alloca): Use prototypes.
70769
70770         * lib/atexit.c (atexit): Define using a prototype.
70771
70772         * lib/basename.c, dirname.c, stripslash.c:
70773         Include <string.h> unconditionally.
70774
70775         * lib/bcopy.c: Include <stddef.h>.
70776         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70777
70778         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70779
70780         * lib/error.h (error, error_at_line, error_print_progname)
70781         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70782         * lib/error.c: Include error.h first, to check interface.
70783         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70784         (VA_START): Remove; all uses changeed to va_start.
70785         (exit, strerror): Remove decls.
70786         (error_print_progname): Prototype uncondionally.
70787         Don't include <errno.h>; no longer needed.
70788         (private_strerror): Remove.
70789         (error_tail): Always define.
70790         (error, error_at_line): Assume C89 or better; always use prototypes.
70791         * lib/fatal.c: Include "fatal.h" first, to test interface.
70792         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70793         (VA_START): Remove; all uses changed to va_start.
70794         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70795         this case.
70796         (exit): Remove decl.
70797         (fatal): Prototype unconditionally.  Assume va_start works.
70798         Abort at end, to pacify gcc.
70799
70800         * lib/euidaccess.c (main): Define with a prototype.
70801
70802         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70803
70804         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70805
70806         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70807         prototypes.
70808         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70809         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70810         (getenv): Remove decl.
70811         (fnmatch): Define using a prototype.
70812         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70813         (FCT): Define using a prototype.
70814
70815         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70816
70817         * lib/gethostname.c: Include <stddef.h>.
70818         (gethostname): Define with prototype.  Length is size_t, not int.
70819
70820 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70821
70822         Assume C89 or better; remove K&R cruft.
70823         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70824         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70825         string.h, getenv, malloc.
70826         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70827         headers.
70828         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70829         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70830         do not check for strerror.
70831         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70832         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70833         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70834         do not check for doprnt or vprintf.
70835         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70836         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70837
70838 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70839
70840         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70841         getversion.c should have been removed then, but was accidentally
70842         preserved.
70843
70844         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70845         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70846
70847 2003-09-08  Karl Berry  <karl@gnu.org>
70848
70849         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70850                 config, forget about prep.
70851
70852         * config/depcomp, missing: update from automake.
70853
70854 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70855
70856         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70857         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70858
70859 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70860
70861         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70862         copy_tm_result.  Bug reported by Simon Josefsson in
70863         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70864
70865 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70866
70867         * m4/time_r.m4: New file.
70868         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70869         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70870         is. Check for timegm declaration.
70871         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70872         Do not check for gmtime_r.
70873         Replace mktime if __mktime_internal does not exist and if mktime
70874         hasn't been replaced already.
70875
70876 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70877
70878         * lib/time_r.c, lib/time_r.h: New files.
70879
70880         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70881         __localtime_r.
70882         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70883         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70884
70885         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70886         __gmtime_r.
70887         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70888         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70889         Include <time_r.h>.
70890
70891         * lib/timegm.c: Switch to glibc implementation, with the following
70892         changes:
70893         [defined HAVE_CONFIG_H]: Include <config.h>.
70894         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70895         (__mktime_internal) [!defined _LIBC]: New decl.
70896         (__gmtime_r) [!defined _LIBC]: New macro and function.
70897         (timegm): Use a prototype, since gnulib assumes C89.
70898         Do not bother declaring tmp to be const, as it's not really usefu.
70899         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70900         (timegm): Declare only if HAVE_DECL_TIMEGM.
70901
70902 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70903
70904         * MODULES.html.sh (func_all_modules): Add time_r.
70905         * modules/time_r: New file.
70906         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70907         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70908
70909 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70910
70911         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70912         Bug reported by Lute Kamstra in
70913         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70914
70915         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70916         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70917         course with correspondingly smaller numbers for tomorrow and
70918         yesterday.  From Tadayoshi Funaba.  Originally installed into
70919         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70920         coreutils merge?).
70921
70922 2003-08-31  Simon Josefsson  <jas@extundo.com>
70923
70924         * modules/timegm: New file.
70925         * MODULES.html.sh (func_all_modules): Add timegm.
70926
70927 2003-08-31  Simon Josefsson  <jas@extundo.com>
70928
70929         * m4/timegm.m4: New file.
70930
70931 2003-08-31  Simon Josefsson  <jas@extundo.com>
70932
70933         * lib/timegm.h: New file.
70934         * lib/timegm.c: New file.  Based on
70935         wget-1.8.2/src/http.c:mktime_from_utc.
70936
70937 2003-08-31  Karl Berry  <karl@gnu.org>
70938
70939         * lib/argp.h: update from libc.
70940
70941 2003-08-28  Bruno Haible  <bruno@clisp.org>
70942
70943         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
70944         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
70945         followed by '#define fnmatch fnmatch_posix' gives an error.
70946
70947 2003-08-28  Bruno Haible  <bruno@clisp.org>
70948
70949         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
70950         warning on QNX, which defines O_BINARY to 000000.
70951
70952 2003-08-27  Jim Meyering  <jim@meyering.net>
70953
70954         * m4/mkstemp.m4: Require that the system mkstemp be able to create
70955         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
70956         would fail after 32.  Reported by Danny Levinson.  Details here:
70957         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
70958
70959 2003-08-24  Bruno Haible  <bruno@clisp.org>
70960
70961         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
70962         MSVC7 <stdio.h> is included later.
70963
70964 2003-08-22  Simon Josefsson  <jas@extundo.com>
70965
70966         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
70967
70968 2003-08-20  Karl Berry  <karl@gnu.org>
70969
70970         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
70971
70972 2003-08-20  Bruno Haible  <bruno@clisp.org>
70973
70974         * modules/progname: New file.
70975         * MODULES.html.sh (func_all_modules): Add progname.
70976
70977 2003-08-20  Bruno Haible  <bruno@clisp.org>
70978
70979         * lib/progname.h: New file, from GNU gettext.
70980         * lib/progname.c: New file, from GNU gettext.
70981         * lib/progreloc.c: New file, from GNU gettext.
70982
70983 2003-08-19  Jim Meyering  <jim@meyering.net>
70984
70985         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
70986         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
70987
70988 2003-08-19  Bruno Haible  <bruno@clisp.org>
70989
70990         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
70991         more.
70992
70993 2003-08-19  Bruno Haible  <bruno@clisp.org>
70994
70995         * lib/xstrdup.c: Assume <string.h> exists.
70996
70997 2003-08-18  Paul Eggert  <eggert@twinsun.com>
70998
70999         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
71000         in makefile rules.
71001
71002 2003-08-18  Jim Meyering  <jim@meyering.net>
71003
71004         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
71005         * m4/lib-ld.m4: Likewise.
71006
71007 2003-08-18  Jim Meyering  <jim@meyering.net>
71008
71009         * lib/setenv.h: Indent nested cpp directive.
71010         * lib/vasnprintf.c: Remove trailing blanks.
71011
71012 2003-08-17  Simon Josefsson  <jas@extundo.com>
71013
71014         * modules/xstrndup: New file.
71015         * MODULES.html.sh (func_all_modules): Add xstrndup.
71016
71017 2003-08-17  Simon Josefsson  <jas@extundo.com>
71018
71019         * modules/argp: Fix autoconf macro name. Add more dependencies.
71020
71021 2003-08-17  Simon Josefsson  <jas@extundo.com>
71022
71023         * m4/xstrndup.m4: New file.
71024
71025 2003-08-17  Simon Josefsson  <jas@extundo.com>
71026
71027         * m4/argp.m4: New file.
71028
71029 2003-08-17  Simon Josefsson  <jas@extundo.com>
71030             Bruno Haible  <bruno@clisp.org>
71031
71032         * lib/xstrndup.h: New file.
71033         * lib/xstrndup.c: New file.
71034
71035 2003-08-17  Bruno Haible  <bruno@clisp.org>
71036
71037         * modules/strndup (Files, Include): Add lib/strndup.h.
71038
71039 2003-08-17  Bruno Haible  <bruno@clisp.org>
71040
71041         * modules/euidaccess (Files): Add lib/euidaccess.h.
71042
71043 2003-08-17  Bruno Haible  <bruno@clisp.org>
71044
71045         * lib/strndup.h: New file.
71046
71047 2003-08-17  Bruno Haible  <bruno@clisp.org>
71048
71049         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
71050         like AC_GNU_SOURCE.
71051         * modules/extensions (configure.ac): Comment out the invocation of
71052         gl_USE_SYSTEM_EXTENSIONS.
71053
71054 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71055
71056         Merges from coreutils, etc.
71057         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
71058         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
71059         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
71060         fixing a typo.
71061         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
71062         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
71063
71064 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71065
71066         Document merge from coreutils.
71067         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
71068         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
71069         * modules/utime: Add m4/utimes-null.m4.
71070
71071 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71072
71073         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
71074         space, undoing this 2003-08-12 change:
71075         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71076
71077 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71078
71079         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
71080         strtoul.c from libc, undoing this 2003-08-12 change:
71081         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71082
71083 2003-08-16  Jim Meyering  <jim@meyering.net>
71084
71085         Merges from coreutils.
71086         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
71087         prefix.  Adjust cache variables similarly.  Create 500 rather than
71088         just 300 files, to exercise bug on Darwin6.5, too.
71089         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
71090         $missing_dir.
71091         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
71092         AM_SYS_POSIX_TERMIOS.
71093         Reported by mkc@mathdogs.com.
71094         Also change use of $am_cv_sys_posix_termios
71095         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
71096         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
71097         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
71098         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
71099         in /proc/mounts until it finds one with matching device number.  This
71100         is unnecessary when the FILE argument *is* a mount point.  No stat call
71101         is necessary in that case.  So, disable the statvfs-testing code on
71102         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
71103         as RedHat bug# 84846.
71104         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71105         to 1MB, so as not to render systems with no stack size limit (e.g.,
71106         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71107         Include <unistd.h>.  On some systems,
71108         it is required for the definition of _SC_PAGESIZE.
71109
71110 2003-08-16  Jim Meyering  <jim@meyering.net>
71111
71112         Merge from coreutils.
71113         * lib/xstrtoimax.c: #else #if -> #elif.
71114         * lib/xstrtoumax.c: Likewise.
71115
71116 2003-08-16  Jim Meyering  <jim@meyering.net>
71117
71118         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
71119         * m4/utimes.m4: Removed.
71120         * m4/utimes-null.m4: Renamed from utimes.m4.
71121
71122         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71123         to 1MB, so as not to render systems with no stack size limit (e.g.,
71124         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71125         Include <unistd.h>.  On some systems,
71126         it is required for the definition of _SC_PAGESIZE.
71127
71128 2003-08-16  Jim Meyering  <jim@meyering.net>
71129         and Paul Eggert  <eggert@cs.ucla.edu>
71130
71131         Merges from coreutils, etc.
71132
71133         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
71134         using the latest version from cvs.  This avoids problems with #line
71135         directives using a vendor (Sun) compiler.
71136         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
71137         Don't set GETGROUPS_LIB here; now it's
71138         done via getgroups.m4's wrapper function.
71139         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
71140         rather than just in sh-util/configure.in, so that the
71141         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
71142         same.
71143         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
71144         AC_FUNC_GETLOADAVG where to find getloadavg.c.
71145         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
71146         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
71147         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
71148         Remove code that is now done by the newly-required macros.
71149         Append $(EXEEXT) to DF_PROG.
71150         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
71151         Do not invoke or require the following here,
71152         since prereq.m4 or some gnulib .m4 now does this for us:
71153         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
71154         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
71155         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
71156         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
71157         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
71158         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
71159         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
71160         AC_FUNC_OBSTACK.
71161         Do not replace the following functions, as this is now the job
71162         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
71163         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
71164         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
71165         atexit getpass, strdup, getpagesize.
71166         Replace 'raise'.
71167         Do not check for the following functions, as this is now the job
71168         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
71169         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
71170         setregid.
71171         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
71172         Check for sys/sysctl.h.
71173         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
71174         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
71175         of checking for ssize_t ourselves.
71176
71177         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
71178         Require every macro that gnulib/modules/* suggests for us.
71179         (jm_PREREQ_ADDEXT): New macro.
71180         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
71181         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
71182
71183         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
71184         (gl_PHYSMEM): Use it.
71185         Also check for `table' function.
71186         Check for new headers and functions.
71187         Add check for sys/sysmp.h.
71188         With suggestions from Kaveh Ghazi.
71189         Ignore headers that are present but cannot be compiled.  This
71190         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
71191         C 5.4.
71192
71193 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71194
71195         Document merge from coreutils.
71196         * modules/userspec: Depend on posixver.
71197         * modules/strftime: Depend on tzset.
71198
71199 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71200
71201         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
71202         rather than tab, after '#' in shell-script copyright notices.
71203         Suggested by Bruno Haible.
71204
71205 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71206
71207         * config/srclist-update: Use three spaces, rather than tab, after '#'
71208         in shell-script copyright notices.  Suggested by Bruno Haible.
71209         Remove unnecessary parenthesization in regular expression.
71210
71211 2003-08-15  Jim Meyering  <jim@meyering.net>
71212
71213         Merge from coreutils.
71214         * lib/xgethostname.c: Include <stdlib.h>.
71215         (xghostname): Don't exit for anything other than memory-related
71216         failure; just return NULL.
71217         * lib/userspec.c: Include "posixver.h".
71218         (parse_user_spec): Accept `.' as a separator only
71219         in pre-POSIX-200112 mode.
71220         * lib/strtoimax.c: Use #elif rather than #else #if.
71221         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
71222         Remove function, now that we can rely on a working tzset function.
71223         [!_LIBC]: Ensure that the required autoconf test has been run.
71224         [!defined _NL_CURRENT && HAVE_STRFTIME]:
71225         Use underlying_strftime for %r.
71226         * lib/sha.c: Merge in some clean-up and optimization changes from
71227         glibc.
71228         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
71229         Ensure that it is a multiple of 64.
71230         Rearrange loop exit tests so as to avoid performing an
71231         additional fread after encountering an error or EOF.
71232         * lib/realloc.c: Update copyright date.
71233
71234 2003-08-15  Jim Meyering  <jim@meyering.net>
71235         and Paul Eggert  <eggert@twinsun.com>
71236
71237         Merge from coreutils.
71238         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
71239         member but strut utmpx does not.  Needed for AIX 4.3.3.
71240         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
71241
71242 2003-08-15  Jim Meyering  <jim@meyering.net>
71243         and Paul Eggert  <eggert@cs.ucla.edu>
71244
71245         Merges from coreutils, etc.
71246         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
71247         Require gl_FUNC_TZSET_CLOBBER.
71248         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
71249         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
71250         members.
71251
71252 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71253
71254         Help the merge from coreutils.
71255         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
71256         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
71257         * m4/tzset.m4: Use it too.
71258
71259 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71260
71261         * modules/tzset: New file.
71262
71263 2003-08-14  Jim Meyering  <jim@meyering.net>
71264
71265         Merges from coreutils.
71266         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
71267         variable names, rather than @FNMATCH_H@.
71268         * modules/alloca: Likewise for $(ALLOCA_H).
71269
71270         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
71271         the three copies of the literal target, `fnmatch.h'.
71272         * modules/alloca (alloca.h): Likewise.
71273
71274 2003-08-14  Jim Meyering  <jim@meyering.net>
71275
71276         Merge from coreutils.
71277         * m4/tzset.m4: New file.
71278         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
71279         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
71280         otherwise, AIX 5.1 systems would end up using the latter.
71281         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
71282         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
71283         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
71284         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
71285
71286 2003-08-14  Jim Meyering  <jim@meyering.net>
71287
71288         Merge from coreutils.
71289         * lib/obstack.h: Whitespace changes.
71290         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
71291         and xcalloc return values.
71292         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
71293         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
71294         hang on OSF/1 5.1 for DIR on both local and remote file systems.
71295         Reported by (and fix confirmed by) Nelson H. F. Beebe.
71296         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71297         error from mntctl.
71298         Use mntctl's return value to drive the entry-processing loop, since
71299         we can't rely on the value of the vmt_length member in the last
71300         entry.  On some systems doing so could result in exhausting
71301         virtual memory.  Based in part on a patch from Mike Jetzer.
71302
71303 2003-08-14  Jim Meyering  <jim@meyering.net>
71304         and Paul Eggert  <eggert@twinsun.com>
71305
71306         Merges from coreutils, plus other fixes.
71307         * lib/physmem.c: Merge in portability changes from gcc/libiberty
71308         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
71309         for credits and details.  Thanks to Kaveh Ghazi for helping
71310         to keep these files in sync.
71311         (ARRAY_SIZE): Define it.
71312         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
71313         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
71314         (memcasecmp): Don't assume size_t fits in unsigned int.
71315         Remove casts and duplicate code.
71316         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
71317         (memcpy): Remove definition.
71318         Merge in some clean-up and optimization changes from glibc.
71319         [BLOCKSIZE]: Move definition to top of file.
71320         Ensure that it is a multiple of 64.
71321         Rearrange loop exit tests so as to avoid performing an
71322         additional fread after encountering an error or EOF.
71323         * lib/md5.h (md5_uintptr): Define.
71324         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
71325         return to the initial working directory.  Preserve errno
71326         for caller.
71327         * lib/idcache.c: Include "xalloc.h".
71328         (xmalloc, xrealloc): Remove decls.
71329         (getuser): Remove casts no longer required in C89.
71330         * lib/human.c: Include stdio.h, for sprintf.
71331         * lib/group-member.c: Include "xalloc.h".
71332         (xmalloc, xrealloc): Remove decls.
71333         (get_group_info): Remove casts no longer required in C89.
71334         * lib/getusershell.c (readname): Remove casts no longer required in
71335         C89.
71336         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
71337         * lib/getline.c: Whitespace fix, from coreutils.
71338
71339 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71340
71341         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
71342         Check for isascii.
71343
71344         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71345         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71346         Undo previous (whitespace-only) change.
71347
71348 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71349
71350         * lib/exclude.c: Include <ctype.h>
71351         (IN_CTYPE_DOMAIN): New macro.
71352         (is_space): New fn.
71353         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
71354         and empty lines.
71355
71356         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71357         Undo previous (whitespace-only) change.
71358
71359 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71360
71361         * config/srclist-update: Change update back to the old behavior,
71362         leaving whitespace alone.  Use one 'sed' command rather than a
71363         pipeline.
71364         (fixlicense): Now a variable, not a function.
71365         (remove_trailing_blanks): Remove.
71366         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
71367         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71368         Undo previous (whitespace-only) change.
71369
71370 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71371
71372         Merge from coreutils.
71373         * modules/euidaccess: Add lib_SOURCES, include for new
71374         file euidaccess.h
71375
71376 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71377
71378         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71379         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71380         Normalize leading white space and remove trailing white space.
71381
71382         Merge from coreutils
71383         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
71384
71385         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
71386         0.12.1.  These files are now being upgraded automatically by
71387         ../config/srclist-update.
71388
71389 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71390
71391         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71392         Normalize leading white space and remove trailing white space.
71393         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
71394         notice, as per ../config/srclist-update.
71395
71396         Merge from coreutils.
71397         * lib/euidaccess.h: New file.
71398         * lib/euidaccess.c: Include it.
71399         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
71400         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
71401         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
71402
71403 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71404
71405         * config/srclist-update: Add copyright notice.
71406         (remove_id_lines, remove_trailing_blanks): New constants.
71407         (fixfile): Use them to normalize spacing a bit in copied files.
71408         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71409         Normalize leading white space and remove trailing white space.
71410
71411         * config/texinfo.tex: Sync with texinfo.
71412
71413         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
71414         strtoul.c from libc, to merge coreutils whitespace changes.
71415
71416         * config/srclist.txt: Get the following m4 files from gettext:
71417         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
71418         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
71419         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
71420         wint_t.m4.
71421
71422 2003-08-12  Karl Berry  <karl@gnu.org>
71423
71424         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
71425         been made.
71426
71427 2003-08-11  Paul Eggert  <eggert@twinsun.com>
71428
71429         * modules/gnu-source, m4/gnu-source.m4:
71430         Remove; we're assuming Autoconf 2.54 or later now.
71431         Suggested by Bruno Haible.
71432         * MODULES.html.sh (func_all_modules): Remove gnu-source.
71433
71434 2003-08-11  Bruno Haible  <bruno@clisp.org>
71435
71436         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
71437
71438 2003-08-11  Bruno Haible  <bruno@clisp.org>
71439
71440         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
71441         (vasnprintf): Use it instead of wcslen.
71442
71443 2003-08-11  Bruno Haible  <bruno@clisp.org>
71444
71445         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
71446         value to ensure that _Bool promotes to int. Use #define for _Bool when
71447         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
71448
71449 2003-08-10  Karl Berry  <karl@gnu.org>
71450
71451         * lib/regex.h: update from libc (whitespace fix).
71452
71453 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71454
71455         Merge some files from coreutils.  These changes were
71456         originally made by Jim Meyering.
71457         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
71458         many older Unixes require this.
71459         * lib/alloca.c (alloca): Remove cast to argument of free;
71460         no longer needed in C89.
71461         * lib/alloca_.h, regex.h: Fix white space to match
71462         what GNU indent does.
71463
71464 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71465
71466         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
71467         apparently Emacs's Unicode mode got confused before my 2003-08-05
71468         checkin.
71469
71470 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71471
71472         * m4/extensions.m4: New file.
71473         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
71474         Require gl_USE_SYSTEM_EXTENSIONS.
71475         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
71476         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
71477
71478 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71479
71480         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
71481         * modules/extensions, modules/gnu-source: New files.
71482         * modules/timespec, modules/unlocked-io: Depend on extensions.
71483
71484 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71485
71486         * modules/restrict: New file.
71487         * MODULES.html.sh (func_all_modules): Add restrict.
71488         * modules/regex: Depend on restrict.
71489
71490 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71491
71492         * m4/restrict.m4: New file.
71493         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
71494
71495 2003-08-07  Bruno Haible  <bruno@clisp.org>
71496
71497         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
71498         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
71499
71500 2003-08-07  Bruno Haible  <bruno@clisp.org>
71501
71502         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
71503         makes the module 'getndelim2' compatible with the module 'getline'.
71504
71505 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71506
71507         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
71508         byte with "\201" to avoid glitches when editing that source file
71509         with multi-gnome-terminal.
71510
71511 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71512
71513         * lib/bumpalloc.h: Remove.
71514
71515 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71516
71517         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
71518         * modules/bumpalloc: Remove.
71519
71520 2003-08-04  Paul Eggert  <eggert@twinsun.com>
71521
71522         * lib/getloadavg.c: Change copyright notice and spacing to conform to
71523         GNU coding style.
71524
71525         Merge from coreutils.
71526         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
71527         1. From glibc.
71528         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
71529         from Karl Berry, implemented by Jim Meyering.
71530         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
71531         from Dmitry V. Levin.
71532         Remove anachronistic cast of xrealloc.
71533         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
71534         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
71535         type. Otherwise, it wouldn't compile with at least /bin/cc on
71536         ymp-cray-unicos9.0.2.X.
71537         Combine two mostly-identical uses of alloca into one.
71538         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
71539
71540 2003-08-04  Dave Love  <d.love@dl.ac.uk>
71541
71542         [From Emacs.]
71543
71544         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
71545         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
71546         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
71547         obsolete NLIST_NAME_UNION.
71548         [__GNU__]: Undef BSD and FSCALE.
71549         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
71550
71551 2003-08-03  Paul Eggert  <eggert@twinsun.com>
71552
71553         * lib/stdbool_.h (_Bool): Make it signed char, instead of
71554         an enum type, so that it's guaranteed to promote to int.  See:
71555         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
71556
71557 2003-08-03  Karl Berry  <karl@gnu.org>
71558
71559         * config/depcomp: update from automake.
71560
71561 2003-07-31  Paul Eggert  <eggert@twinsun.com>
71562
71563         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
71564         (strerror): Don't assume that a printable int fits in 14 bytes.
71565
71566 2003-07-31  Bruno Haible  <bruno@clisp.org>
71567
71568         * modules/getpass-gnu: New file.
71569         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
71570
71571 2003-07-31  Bruno Haible  <bruno@clisp.org>
71572
71573         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
71574
71575 2003-07-24  Karl Berry  <karl@gnu.org>
71576
71577         * config/missing: update from automake.
71578
71579 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
71580             Bruno Haible  <bruno@clisp.org>
71581
71582         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
71583         * lib/getline.c (getline, getdelim): Likewise.
71584         Remove _GNU_SOURCE define; now it's defined in config.h through
71585         m4/getline.m4.
71586
71587 2003-07-23  Karl Berry  <karl@gnu.org>
71588
71589         * config/config.sub: update from prep.
71590
71591 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71592
71593         * modules/xalloc (Depends-on): Add exitfail.
71594         * modules/xmemcoll: Likewise.
71595
71596 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71597
71598         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
71599         over-parenthesization in macros.
71600
71601         Sync with coreutils.
71602
71603         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
71604         required by C99.
71605
71606         Use `exit_failure' for xalloc and xmemcoll instead of their own
71607         private exit-failure variables.
71608         * lib/xalloc.h (xalloc_exit_failure): Remove.
71609         * lib/xmalloc.c: Likewise.  Include exitfail.h.
71610         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
71611         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
71612         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
71613         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
71614
71615 2003-07-20  Jim Meyering  <jim@meyering.net>
71616
71617         * modules/closeout (Depends-on): Add exitfail.
71618         Suggestion from Bruno Haible.
71619
71620 2003-07-19  Karl Berry  <karl@gnu.org>
71621
71622         * config/config.sub: update from prep.
71623
71624 2003-07-18  Paul Eggert  <eggert@twinsun.com>
71625
71626         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
71627         Remove.
71628         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
71629         to test that it can stand by itself.  Include "exitfail.h".
71630         Clients should set exit_failure instead.
71631         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
71632
71633 2003-07-18  Bruno Haible  <bruno@clisp.org>
71634
71635         * modules/getndelim2: New file.
71636         * modules/getline: Share files with module getndelim2.
71637         * modules/getnline: Depend on getndelim2 instead of sharing files with
71638         it. Add getnline.c to lib_SOURCES.
71639         * MODULES.html.sh (func_all_modules): Add getndelim2.
71640
71641 2003-07-18  Bruno Haible  <bruno@clisp.org>
71642
71643         * m4/getndelim2.m4: New file.
71644         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
71645         invoke gl_PREREQ_GETNDELIM2.
71646         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
71647         gl_PREREQ_GETNDELIM2.
71648         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
71649         gl_GETNDELIM2.
71650
71651 2003-07-18  Bruno Haible  <bruno@clisp.org>
71652
71653         * lib/getndelim2.h: New file.
71654         * lib/getndelim2.c: Make into a module of its own. Include config.h,
71655         getndelim2.h.
71656         (getndelim2): Make non-static. Change return type to ssize_t.
71657         * lib/getline.h: Change argument names.
71658         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
71659         * lib/getnline.c: Include getndelim2.h.
71660
71661 2003-07-18  Andreas Schwab  <schwab@suse.de>
71662
71663         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
71664
71665 2003-07-17  Karl Berry  <karl@gnu.org>
71666
71667         * config/config.sub: update from prep.
71668
71669 2003-07-17  Bruno Haible  <bruno@clisp.org>
71670
71671         * modules/getnline: New file.
71672         * modules/getline: Add lib/getndelim2.c to source file list.
71673         * MODULES.html.sh (func_all_modules): Add getnline.
71674
71675 2003-07-17  Bruno Haible  <bruno@clisp.org>
71676
71677         * m4/getnline.m4: New file.
71678
71679 2003-07-17  Bruno Haible  <bruno@clisp.org>
71680
71681         * m4/Makefile.am.in: Remove file.
71682         * m4/Makefile.am: Remove file.
71683         * m4/Makefile.in: Remove file.
71684
71685 2003-07-17  Bruno Haible  <bruno@clisp.org>
71686
71687         * lib/getnline.h: New file.
71688         * lib/getnline.c: New file.
71689         * lib/getndelim2.c: New file, extracted from getline.c.
71690         (getndelim2): Renamed from getdelim2, with added nmax argument.
71691         * lib/getline.c: Include getndelim2.c.
71692         (getdelim2): Moved out to getndelim2.c.
71693         (getline, getdelim): Update.
71694
71695 2003-07-17  Bruno Haible  <bruno@clisp.org>
71696
71697         * lib/Makefile.am: Remove file.
71698         * lib/Makefile.in: Remove file.
71699
71700 2003-07-17  Bruno Haible  <bruno@clisp.org>
71701
71702         * configure.in: Remove file.
71703         * Makefile.in: Remove file.
71704
71705 2003-07-17  Bruno Haible  <bruno@clisp.org>
71706
71707         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71708
71709 2003-07-16  Karl Berry  <karl@gnu.org>
71710
71711         * config/srclist-update: was running fixlicense twice, which caused
71712                 texinfo.tex to be nullified for some reason.  Simplify,
71713                 $gplsrc is no longer needed as far as I can see?
71714
71715 2003-07-16  Jim Meyering  <jim@meyering.net>
71716
71717         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71718
71719 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71720
71721         * config/srclist.txt: Get the following files from gettext-runtime/intl
71722         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71723         ref-del.sin.  From Bruno Haible.
71724         * config/srclist-update (fixfile): Change grep pattern again, since the
71725         previous fix didn't work (there was another trailing $).  Use
71726         '[$]' to escape the $s.
71727
71728 2003-07-15  Karl Berry  <karl@gnu.org>
71729
71730         * lib/vasnprintf.c: update from gettext.
71731
71732 2003-07-15  Karl Berry  <karl@gnu.org>
71733
71734         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71735         gets expanded when surrounded by '$'.
71736
71737 2003-07-15  Jim Meyering  <jim@meyering.net>
71738
71739         * modules/save-cwd: Don't depend on error.  From Derek Price.
71740
71741 2003-07-15  Jim Meyering  <jim@meyering.net>
71742
71743         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71744
71745 2003-07-14  Simon Josefsson  <jas@extundo.com>
71746
71747         * modules/mempcpy: New file.
71748         * MODULES.html.sh (func_all_modules): Add mempcpy.
71749
71750 2003-07-14  Simon Josefsson  <jas@extundo.com>
71751
71752         * m4/mempcpy.m4: New file.
71753
71754 2003-07-14  Simon Josefsson  <jas@extundo.com>
71755
71756         * lib/mempcpy.h: New file.
71757         * lib/mempcpy.c: New file.
71758
71759 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71760
71761         * modules/getdate, modules/posixtm: Depend on mktime.
71762
71763 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71764
71765         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71766         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71767         unicodeio.c, unicodeio.h, unlocked-io.h:
71768         Switch from LGPL to GPL.
71769
71770 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71771
71772         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71773         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71774         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71775         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71776         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71777         updated automatically by ../config/srclist-update.  This changes
71778         their license from LPGL to GPL.
71779
71780 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71781
71782         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71783         assumed to refer to the root of the most recent stable gettext version.
71784         * config/srclistvars.sh: Add defaults for eggert.
71785         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71786         Match "This program" as well as "The program".  This is needed
71787         for gettext.
71788
71789 2003-07-14  Jim Meyering  <jim@meyering.net>
71790
71791         Don't emit diagnostics.  Let callers do that.
71792         * lib/save-cwd.c: Don't include "error.h".
71793         (save_cwd): Don't call error.  Ensure that errno is valid
71794         when returning nonzero.
71795
71796         * lib/save-cwd.h (restore_cwd): Update prototype.
71797         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71798         Simplify.  Don't call error upon failure.  Let callers do that.
71799         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71800         when auditing is enabled.  But don't bother updating the #if.
71801
71802 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71803
71804         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71805         it breaks C++ compilation.
71806         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71807
71808 2003-07-10  Simon Josefsson  <jas@extundo.com>
71809
71810         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71811
71812 2003-07-10  Jim Meyering  <jim@meyering.net>
71813
71814         * m4/clock_time.m4: Remove trailing blank.
71815         * m4/intmax_t.m4: Likewise.
71816
71817 2003-07-10  Jim Meyering  <jim@meyering.net>
71818
71819         * lib/vasnprintf.c: Remove trailing blanks.
71820         Make cpp indentation consistent.
71821
71822 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71823
71824         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71825         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71826         Switch from LGPL to GPL.
71827
71828 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71829
71830         * config/srclist.txt: Sort sublists.  Add
71831         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71832         that differ from gnulib for one reason or another; we'd like this list
71833         to be smaller but for now let's document what we have.
71834
71835 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71836
71837         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71838         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71839         and sweeter "eval x=$x".
71840         * config/srclist.txt: Get lib/argp* from glibc.
71841
71842 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71843
71844         * lib/mktime.c: Fix some boundary cases and remove need for floating
71845         point.
71846
71847         Issue a compile-time diagnostic if time_t is floating point, or if
71848         two's complement arithmetic is not in effect, or if arithmetic
71849         right shift does not propagate the sign.  These assumptions were
71850         all in the original code but they weren't checked.
71851
71852         (TIME_T_MIDPOINT, verify): New macros.
71853         (__isleap): Remove; it has integer overflow problems.
71854         (leapyear): New function, without those problems.
71855         (ydhms_tm_diff): Remove; splitting into two parts.
71856         (ydhms_diff): New function, containing the arithmetic part of
71857         the old ydhms_tm_diff function.  Issue a compile-time
71858         diagnostic if we are not using C99 integer division.
71859         Avoid casts when possible.
71860         (guess_time_tm): New function, containing the checking part of
71861         the old ydhms_tm_diff function.  Return the new value, rather than
71862         the difference between it and the old.  Accept a new argument T
71863         so that *T specifies the old value.  Check for overflow in the result.
71864
71865         (__mktime_internal): Use a time_t offset, not a long int offset.
71866         This undoes the 2003-06-04 change, which is no longer needed now
71867         that we have better overflow checking.
71868         (localtime_offset): Likewise.
71869
71870         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71871         and long are 64-bit but int is only 32-bit.
71872         (ydhms_diff): Use long int to store year1 and yday1.
71873         Issue a compile-time diagnostic if long int is not wide enough.
71874
71875         (__mktime_internal): Use long int to store adjusted year and yday.
71876         Use plain C rather than preprocessor commands, if that doesn't
71877         affect efficiency.
71878         Check for overflow (and try to repair) after each probe
71879         rather than checking only at the very end.  This avoids some bugs
71880         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71881         does not equal GMT offset at maximum time).
71882         Use integer to check for overflow rather than floating point; this
71883         is more portable to non-IEEE hosts, and is a tad faster.
71884         When we detect that we are oscillating between two values,
71885         don't check whether tm_isdst has the requested value, since
71886         we already know the answer.  When tm_isdst has the wrong value,
71887         use a different heuristic to find the right one, based on the
71888         extreme values actually observed in practice in tz2003a,
71889         rather than the (overly optimistic) "previous 3 calendar quarters".
71890
71891         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71892         "T const" to accommodate glibc style.
71893         (check_result): Use less-confusing report format.  "long" -> "long int.
71894         (main): Likewise.
71895         Don't loop if the iteration overflows time_t.
71896         Allow a negative step in the iteration.
71897
71898 2003-07-06  Karl Berry  <karl@gnu.org>
71899
71900         * config/depcomp: update from automake.
71901         * config/config.sub: update from prep.
71902
71903 2003-07-03  Karl Berry  <karl@gnu.org>
71904
71905         * config/config.guess: update from prep.
71906
71907 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71908
71909         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71910         xreadlink.c now includes it unconditionally.
71911
71912 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71913
71914         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71915         having it depend on HAVE_SYS_TYPES_H.
71916
71917 2003-07-01  Bruno Haible  <bruno@clisp.org>
71918
71919         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71920         <sys/types.h> should be sufficient.
71921         Reported by Paul Eggert.
71922
71923 2003-06-26  Karl Berry  <karl@gnu.org>
71924
71925         * config/depcomp: update from automake.
71926
71927 2003-06-26  Bruno Haible  <bruno@clisp.org>
71928
71929         * modules/human: Depend on module stdbool.
71930
71931 2003-06-25  Bruno Haible  <bruno@clisp.org>
71932
71933         * modules/readlink: New file.
71934         * modules/xreadlink: Depend on it.
71935         * MODULES.html.sh (func_all_modules): Add readlink.
71936
71937 2003-06-25  Bruno Haible  <bruno@clisp.org>
71938
71939         * m4/readlink.m4: New file.
71940
71941 2003-06-25  Bruno Haible  <bruno@clisp.org>
71942
71943         * lib/readlink.c: New file.
71944
71945 2003-06-22  Karl Berry  <karl@gnu.org>
71946
71947         * config/srclist.txt: update mkinstalldirs from automake.
71948         * config/mkinstalldirs: update.
71949
71950 2003-06-22  Bruno Haible  <bruno@clisp.org>
71951
71952         Portability to mingw32.
71953         * m4/ssize_t.m4: New file, from GNU gettext.
71954         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
71955         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
71956
71957 2003-06-22  Bruno Haible  <bruno@clisp.org>
71958
71959         * modules/safe-read: Add m4/ssize_t.m4.
71960         * modules/xreadlink: Add m4/ssize_t.m4.
71961
71962 2003-06-20  Bruno Haible  <bruno@clisp.org>
71963
71964         Assume C89, so PARAMS isn't needed.
71965         * lib/unicodeio.h (PARAMS): Remove.
71966         * lib/unicodeio.c: Don't use PARAMS.
71967
71968 2003-06-18  Karl Berry  <karl@gnu.org>
71969
71970         * config/config.{guess,sub}: update from prep.
71971
71972 2003-06-18  Jim Meyering  <jim@meyering.net>
71973
71974         Merge changes from coreutils.
71975         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
71976         Remove explicit declarations of xmalloc and realloc.
71977         Include xalloc.h.
71978         (read_utmp): Remove anachronistic cast of xmalloc.
71979
71980 2003-06-17  Paul Eggert  <eggert@twinsun.com>
71981
71982         Assume C89, so PARAMS isn't needed.
71983         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
71984         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
71985         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
71986         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
71987         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
71988         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
71989         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
71990         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
71991         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
71992         lib/xstrtod.h, lib/xstrtol.h: Likewise.
71993         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
71994         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
71995         no longer needed. Anyway, config.h should always be included before any
71996         other file.
71997
71998 2003-06-11  Simon Josefsson  <jas@extundo.com>
71999
72000         * modules/sysexits: New file.
72001         * MODULES.html.sh (func_all_modules): Add sysexits.
72002
72003 2003-06-11  Simon Josefsson  <jas@extundo.com>
72004
72005         * lib/sysexit_.h: New file.
72006
72007 2003-06-11  Derek Price  <derek@ximbiot.com>
72008
72009         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
72010         necessary.
72011
72012 2003-06-11  Bruno Haible  <bruno@clisp.org>
72013
72014         * m4/sysexits.m4: New file.
72015
72016 2003-06-10  Simon Josefsson  <jas@extundo.com>
72017
72018         * lib/argp.h: New file, from glibc.
72019         * lib/argp-ba.c: New file, from glibc.
72020         * lib/argp-eexst.c: New file, from glibc.
72021         * lib/argp-fmtstream.c: New file, from glibc.
72022         * lib/argp-fmtstream.h: New file, from glibc.
72023         * lib/argp-fs-xinl.c: New file, from glibc.
72024         * lib/argp-help.c: New file, from glibc.
72025         * lib/argp-namefrob.h: New file, from glibc.
72026         * lib/argp-parse.c: New file, from glibc.
72027         * lib/argp-pv.c: New file, from glibc.
72028         * lib/argp-pvh.c: New file, from glibc.
72029         * lib/argp-xinl.c: New file, from glibc.
72030
72031 2003-06-10  Simon Josefsson  <jas@extundo.com>
72032
72033         * modules/strchrnul: New file.
72034
72035 2003-06-10  Simon Josefsson  <jas@extundo.com>
72036
72037         * modules/argp: New file.
72038
72039 2003-06-10  Simon Josefsson  <jas@extundo.com>
72040
72041         * m4/strchrnul.m4: New file.
72042
72043 2003-06-10  Simon Josefsson  <jas@extundo.com>
72044
72045         * lib/strchrnul.h: New file.
72046         * lib/strchrnul.c: New file.
72047
72048 2003-06-10  Bruno Haible  <bruno@clisp.org>
72049
72050         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
72051
72052 2003-06-07  Karl Berry  <karl@gnu.org>
72053
72054         * config/config.{guess,sub}: update from prep.
72055
72056 2003-06-07  Jim Meyering  <jim@meyering.net>
72057
72058         * modules/strtod: Use $(...) notation, not @...@ for
72059         AC_REPLACE'd variables.
72060         * modules/localcharset: Likewise.
72061
72062 2003-06-07  Jim Meyering  <jim@meyering.net>
72063
72064         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
72065         in place of my name in the copyright comment.
72066         Remove definition and uses of __P.
72067
72068         From coreutils.
72069         * lib/stat.c: Don't declare xmalloc explicitly.
72070         Instead, include "xalloc.h".
72071         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
72072         xrealloc, and xcalloc return values.
72073         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
72074         Improve comment.
72075         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
72076
72077 2003-06-07  Bruno Haible  <bruno@clisp.org>
72078
72079         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
72080         avoid AC_CONFIG_LINKS.
72081         * modules/fnmatch (Makefile.am): Use explicit creation rule for
72082         fnmatch.h, to avoid AC_CONFIG_LINKS.
72083         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
72084
72085 2003-06-07  Bruno Haible  <bruno@clisp.org>
72086
72087         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
72088         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
72089         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72090         directory.
72091         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
72092         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72093         directory.
72094
72095 2003-06-06  Jim Meyering  <jim@meyering.net>
72096
72097         Merge from coreutils.
72098         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
72099         Consolidate declarations and initializations of *_base* locals.
72100
72101         Merge from coreutils.
72102         This avoids a core dump on systems without GNU putenv,
72103         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
72104         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
72105         (unsetenv): New static function, from GNU libc.
72106         (rpl_putenv): Use it.
72107
72108         * lib/modechange.c: Remove trailing blanks.
72109
72110         Merge from coreutils.
72111         * lib/fsusage.c: Remove declaration of statfs.
72112         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
72113
72114         * lib/posixtm.c: Include <stdbool.h> unconditionally.
72115
72116 2003-06-06  Jim Meyering  <jim@meyering.net>
72117
72118         * lib/stdbool_.h: Renamed from stdbool.h.in.
72119
72120 2003-06-06  Jim Meyering  <jim@meyering.net>
72121             Bruno Haible  <bruno@clisp.org>
72122
72123         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
72124         Adjust Makefile.am snippet not to redirect directly to target.
72125         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
72126
72127 2003-06-05  Paul Eggert  <eggert@twinsun.com>
72128
72129         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
72130         mismatch, look in future quarters as well as past.  This fixes a
72131         bug when processing fall-backwards gaps immediately after a long
72132         period of daylight-saving time.
72133
72134         * lib/mktime.c: Assume freestanding C89 or better.
72135         (HAVE_LIMITS_H): Remove.  Assume it's 1.
72136         (__P): Remove; not used.
72137         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
72138         (mktime, not_equal_tm, print_tm, check_result,
72139         main): Use prototypes.  Use const * where appropriate.
72140         (main): Fix typo in testing code that uncovered by above changes.
72141         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
72142
72143 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72144
72145         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
72146         locale.h, localeconv.  This merges changes from coreutils.
72147
72148         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
72149         It can be removed after the next Autoconf is released.
72150         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
72151         needed.
72152
72153 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72154
72155         * lib/mktime.c: Fix Debian bug 177940
72156         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
72157         (localtime_offset): Now long int, not time_t, because we want it
72158         to be guaranteed to be signed.  All uses changed.
72159         (__mktime_internal): If overflow would occur when adding offset,
72160         don't add it.
72161
72162         Merge 'human' changes from coreutils.  Rewrite to support
72163         locale-specific notations like thousands separators.
72164         * lib/human.c: Simplify authorship notice.
72165         Include human.h immediately after config.h.
72166         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
72167         <limits.h>: Do not include, since human.h does.
72168         (SIZE_MAX, UINTMAX_MAX): New macros.
72169         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
72170         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
72171         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
72172         (power_letter): Renamed from suffixes.
72173         (generate_suffix_backwards): Remove.
72174         (adjust_value): Now takes int style (because of human.h changes)
72175         and long double value (for greater precision on some platforms).
72176         (group_number): New function.
72177         (human_readable): Use it.  Use integer options, not enum.
72178         Put the options before the sizes in the arg list.
72179         Support all the new options.
72180         The old human_readable function has been removed;
72181         use inttostr.h instead.
72182         (human_readable, default_block_size, humblock):
72183         Use uintmax_t, not int, for block sizes.
72184         (human_readable_inexact, block_size_types): Remove.
72185         (block_size_opts): New constant.
72186         (human_options): Renamed from human_block_size, with new signature
72187         that allows block sizes up to UINTMAX_MAX.  All callers changed.
72188         * lib/human.h: Add copyright and authorship notice.
72189         Include <limits.h> and <stdbool.h> unconditionally.
72190         (PARAMS): Remove.  All uses removed.
72191         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
72192         (enum human_inexact_style): Remove tag; now a nameless enum.
72193         (human_floor, human_ceiling, human_round_to_even): Now have
72194         values 2, 0, 1 rather than -1, 1, 0.
72195         (human_group_digits, human_suppress_point_zero, human_autoscale,
72196         human_base_1024, human_SI, human_B): New constants.
72197         (human_readable_inexact, human_block_size): Remove.
72198         (human_readable): Size args are now uintmax_t, not int.
72199         (human_options): New decl.
72200
72201         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
72202         unnecessary now that we assume C89 or better.  This change
72203         imported from coreutils.
72204
72205         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72206         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
72207         in the 2003-05-30 sync from glibc.
72208
72209         .h files should stand alone, but we shouldn't include <sys/types.h>
72210         if we can get away with just <stddef.h>.
72211
72212         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
72213         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
72214         rather than <sys/types.h>, as we merely need size_t.
72215         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
72216         to get size_t.
72217         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
72218         Include <stdio.h>, to get FILE.
72219         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
72220         memcasecmp.h has included <stddef.h> and all we need is size_t.
72221         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
72222         our interface, instead of including <sys/types.h>
72223
72224 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72225
72226         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
72227         now, as glibc mktime is buggy on non-glibc systems.
72228
72229 2003-06-03  Karl Berry  <karl@gnu.org>
72230
72231         * config/config.sub: update from prep.
72232
72233 2003-06-02  Paul Eggert  <eggert@twinsun.com>
72234
72235         [from coreutils]
72236         Fix some minor time-related bugs with POSIX time arguments.
72237         Some valid time stamps were being rejected (notably -1, and
72238         time stamps before 1900 on 64-bit hosts).  And some invalid
72239         time stamps were being accepted, e.g. September 31.
72240
72241         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
72242         that we can return (time_t) -1 successfully.
72243         * lib/posixtm.c: Likewise.
72244         [HAVE_STDBOOL_H]: Include <stdbool.h>.
72245         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
72246         (t): Remove static var.
72247         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
72248         of static var.  All uses changed.
72249         (year): Do not reject years before 1900; they can occur with
72250         64-bit time_t.
72251         (posix_time_parse): Do not check for out-of-range components;
72252         that is now the caller's responsibility, since our checks were
72253         only approximations.
72254         (posixtime): Use mktime to check for out-of-range components,
72255         since it knows them exactly.
72256         If mktime returns (time_t) -1, check whether an error actually occurred
72257         by invoking localtime on -1.
72258         (main) [TEST_POSIXTIME]: Check for input data errors, and report
72259         posixtime failures better.
72260         Improve the test data (in comments only).
72261
72262 2003-06-02  Karl Berry  <karl@gnu.org>
72263
72264         * config/mkinstalldirs (version): new variable.
72265         (--version): new option.
72266         (usage): improve message.
72267
72268 2003-05-30  Karl Berry  <karl@gnu.org>
72269
72270         * lib/mktime.c: update from libc.
72271
72272 2003-05-30  Bruno Haible  <bruno@clisp.org>
72273
72274         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
72275         * config/config.rpath: Upgrade to gettext-0.12.1.
72276
72277 2003-05-30  Bruno Haible  <bruno@clisp.org>
72278
72279         * m4/gettext.m4: Upgrade to gettext-0.12.1.
72280         * m4/nls.m4: New file, from gettext-0.12.1.
72281         * m4/po.m4: New file, from gettext-0.12.1.
72282         * m4/progtest.m4: Upgrade to gettext-0.12.1.
72283
72284 2003-05-30  Bruno Haible  <bruno@clisp.org>
72285
72286         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
72287         * lib/localcharset.h: Likewise.
72288         * lib/localcharset.c: Likewise.
72289
72290 2003-05-29  Karl Berry  <karl@gnu.org>
72291
72292         * config/config.rpath: update from gettext.
72293
72294 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72295
72296         Assume the headers required for C89 freestanding compilers.
72297         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
72298         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
72299         * m4/human.m4 (gl_HUMAN): Likewise.
72300         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
72301         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
72302         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72303         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
72304         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72305         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
72306
72307 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72308
72309         Assume the headers required for C89 freestanding compilers.
72310         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
72311         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
72312         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
72313         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
72314         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
72315         define, since <limits.h> is guaranteed to do that.
72316         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
72317         * lib/exclude.c: Include <stdbool.h> unconditionally.
72318         * lib/tempname.c: Include <stddef.h> unconditionally.
72319         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
72320         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
72321         <stddef.h> does that.
72322         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
72323         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
72324         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
72325         needed.
72326         * lib/xstrtol.c: Likewise.
72327         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
72328         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
72329
72330         * lib/addext.c (addext): Use assignment rather than cast, to avoid
72331         warnings on some platforms.
72332
72333         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72334         arbitrarily.
72335
72336 2003-05-26  Jim Meyering  <jim@meyering.net>
72337
72338         Merge in a change from coreutils:
72339         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
72340         that is guaranteed to be `no'.  Use `no_such_member' to indicate
72341         that condition, rather than `-1' which is slightly misleading.
72342         Change the name of the cache variable to have the gl_ prefix.
72343         Prompted by a patch from Richard Dawe for DJGPP.
72344
72345 2003-05-24  Karl Berry  <karl@gnu.org>
72346
72347         * config/config.guess: update from prep.
72348
72349 2003-05-22  Karl Berry  <karl@gnu.org>
72350
72351         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
72352
72353 2003-05-20  Karl Berry  <karl@gnu.org>
72354
72355         * config/config.guess: update from prep.
72356
72357 2003-05-18  Karl Berry  <karl@gnu.org>
72358
72359         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
72360         might actually be set by the user.
72361
72362         * config/depcomp, install-sh, mdate-sh: update from automake.
72363
72364 2003-05-17  Bruno Haible  <bruno@clisp.org>
72365
72366         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
72367         invalid expansion for AC_EGREP_CPP.
72368         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
72369         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
72370         Suggested by Akim Demaille <akim@epita.fr> in
72371         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
72372
72373 2003-05-12  Jim Meyering  <jim@meyering.net>
72374
72375         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
72376         the space-padded-by-default conversion specifiers, %e, %k, %l.
72377
72378 2003-05-12  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
72381         the string is longer than 4 KB.
72382
72383 2003-05-11  Karl Berry  <karl@gnu.org>
72384
72385         * config/config.{guess,sub}: update from prep.
72386
72387 2003-05-09  Bruno Haible  <bruno@clisp.org>
72388
72389         * modules/error: Add m4/strerror_r.m4 to file list.
72390
72391 2003-05-03  Bruno Haible  <bruno@clisp.org>
72392
72393         Upgrade to Unicode-4.0.
72394         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
72395         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
72396         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
72397         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
72398         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
72399         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
72400         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
72401         Change width of U+E0100..U+E01EF from 1 to 0.
72402
72403 2003-04-25  Jim Meyering  <jim@meyering.net>
72404
72405         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
72406         of type size_t, not int.
72407
72408 2003-04-25  Bruno Haible  <bruno@clisp.org>
72409
72410         * lib/copy-file.c: Include <stddef.h>, for size_t.
72411
72412 2003-04-21  Paul Eggert  <eggert@twinsun.com>
72413
72414         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
72415         code which expansion is under static control.  Patch imported from
72416         Akim Demaille's patch to Bison; see
72417         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
72418
72419 2003-04-14  Bruno Haible  <bruno@clisp.org>
72420
72421         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
72422
72423 2003-04-11  Jim Meyering  <jim@meyering.net>
72424
72425         Merge changes from Coreutils.
72426
72427         2003-03-22  Jim Meyering  <jim@meyering.net>
72428
72429         * lib/strftime.c (widen): Cast alloca return value to proper type.
72430
72431         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
72432
72433         From GNU libc.
72434         * lib/strftime.c (my_strftime): Handle very large width
72435         specifications for numeric values correctly.  Improve checks for
72436         overflow.
72437
72438         2003-01-19  Jim Meyering  <jim@meyering.net>
72439
72440         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
72441         definitions.
72442         (nl_get_alt_digit) [! defined my_strftime]: Define.
72443         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
72444         _nl_get_alt_digit and _nl_get_walt_digit.
72445
72446         * lib/strftime.c (my_strftime): Merge in locale-related changes from
72447         libc. These changes have no effect outside of _LIBC.
72448
72449 2003-04-10  Bruno Haible  <bruno@clisp.org>
72450
72451         * modules/findprog: New file.
72452         * MODULES.html.sh (func_all_modules): Add it.
72453
72454 2003-04-10  Bruno Haible  <bruno@clisp.org>
72455
72456         * m4/findprog.m4: New file.
72457         * m4/eaccess.m4: New file.
72458
72459 2003-04-10  Bruno Haible  <bruno@clisp.org>
72460
72461         * lib/findprog.h: New file, from GNU gettext.
72462         * lib/findprog.c: New file, from GNU gettext.
72463
72464 2003-04-05  Jim Meyering  <jim@meyering.net>
72465
72466         Merge changes from Coreutils.
72467
72468         * lib/exclude.h (PARAMS): Remove definition and uses.
72469         * lib/exclude.c: Remove uses of `PARAMS'.
72470
72471         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
72472         Add test-cases for DOS filenames. Declare program_name.
72473         (main): Set up program_name.  Patch by Rich Dawe.
72474
72475         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72476         error from mntctl.
72477         Use mntctl's return value to drive the entry-processing loop, since
72478         we can't rely on the value of the vmt_length member in the last
72479         entry.  On some systems doing so could result in exhausting
72480         virtual memory.  Based in part on a patch from Mike Jetzer.
72481
72482 2003-04-04  Bruno Haible  <bruno@clisp.org>
72483
72484         * modules/linebreak: New file.
72485         * MODULES.html.sh (func_all_modules): Add it.
72486
72487 2003-04-04  Bruno Haible  <bruno@clisp.org>
72488
72489         * m4/linebreak.m4: New file.
72490
72491 2003-04-04  Bruno Haible  <bruno@clisp.org>
72492
72493         * lib/linebreak.h: New file, from GNU gettext.
72494         * lib/linebreak.c: New file, from GNU gettext with slight
72495         modifications.
72496         * lib/lbrkprop.h: New file, from GNU gettext.
72497
72498 2003-04-03  Bruno Haible  <bruno@clisp.org>
72499
72500         * modules/utf8-ucs4: New file.
72501         * modules/utf16-ucs4: New file.
72502         * modules/ucs4-utf8: New file.
72503         * modules/ucs4-utf16: New file.
72504         * MODULES.html.sh (func_all_modules): Add them.
72505
72506 2003-04-03  Bruno Haible  <bruno@clisp.org>
72507
72508         * m4/utf-ucs4.m4: New file.
72509         * m4/ucs4-utf.m4: New file.
72510
72511 2003-04-03  Bruno Haible  <bruno@clisp.org>
72512
72513         * lib/utf8-ucs4.h: New file, from GNU gettext.
72514         * lib/utf16-ucs4.h: New file, from GNU gettext.
72515         * lib/ucs4-utf8.h: New file, from GNU gettext.
72516         * lib/ucs4-utf16.h: New file, from GNU gettext.
72517
72518 2003-04-02  Bruno Haible  <bruno@clisp.org>
72519
72520         * modules/binary-io: New file.
72521         * MODULES.html.sh (func_all_modules): Add it.
72522
72523 2003-04-02  Bruno Haible  <bruno@clisp.org>
72524
72525         * lib/binary-io.h: New file, from GNU gettext.
72526
72527 2003-04-01  Bruno Haible  <bruno@clisp.org>
72528
72529         * modules/pathname: New file.
72530         * MODULES.html.sh (func_all_modules): Add it.
72531
72532 2003-04-01  Bruno Haible  <bruno@clisp.org>
72533
72534         * lib/pathname.h: New file, from GNU gettext.
72535         * lib/concatpath.c: New file, from GNU gettext.
72536
72537 2003-03-30  Bruno Haible  <bruno@clisp.org>
72538
72539         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
72540
72541 2003-03-30  Bruno Haible  <bruno@clisp.org>
72542
72543         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
72544         function chown() doesn't exist.
72545
72546 2003-03-28  Bruno Haible  <bruno@clisp.org>
72547
72548         * modules/copy-file: New file.
72549         * MODULES.html.sh (func_all_modules): Add it.
72550
72551 2003-03-28  Bruno Haible  <bruno@clisp.org>
72552
72553         * m4/copy-file.m4: New file.
72554
72555 2003-03-28  Bruno Haible  <bruno@clisp.org>
72556
72557         * lib/copy-file.h: New file, from GNU gettext.
72558         * lib/copy-file.c: New file, from GNU gettext.
72559
72560 2003-03-18  Jim Meyering  <jim@meyering.net>
72561
72562         * lib/quote.c (quote_n): Fix typo in comment.
72563
72564 2003-03-18  Bruno Haible  <bruno@clisp.org>
72565
72566         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
72567         checking.
72568         * m4/onceonly_2_57.m4: Likewise.
72569
72570 2003-03-17  Bruno Haible  <bruno@clisp.org>
72571
72572         * m4/onceonly.m4: Require autoconf 2.54 or newer.
72573         (m4_quote): Remove macro.
72574         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
72575
72576 2003-03-14  Jim Meyering  <jim@meyering.net>
72577
72578         Merge changes from Coreutils.
72579         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
72580         to be const, in order to avoid warnings.
72581         (obstack_room): Likewise.
72582         (obstack_empty_p): Likewise.
72583
72584 2003-03-14  Bruno Haible  <bruno@clisp.org>
72585
72586         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
72587         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
72588
72589 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72590
72591         Merge changes from Bison.
72592         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
72593         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
72594         when compiling Bison 1.875's `bitset bset = obstack_alloc
72595         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
72596         * lib/hash.c: Include <stdbool.h> unconditionally.
72597
72598 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72599
72600         * m4/onceonly.m4 (m4_quote): New macro.
72601         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
72602         Quote AC_FOREACH variable-expansions properly.
72603
72604 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72605
72606         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
72607
72608 2003-03-09  Paul Eggert  <eggert@twinsun.com>
72609
72610         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
72611         Reported by Bruce Becker; see:
72612         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
72613
72614 2003-03-03  Paul Eggert  <eggert@twinsun.com>
72615             Bruno Haible  <bruno@clisp.org>
72616
72617         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
72618         Reported by John Hughes, see
72619         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
72620
72621 2003-02-20  Bruno Haible  <bruno@clisp.org>
72622
72623         * MODULES.html.sh (func_all_modules): Add poll.
72624
72625 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72626
72627         * modules/poll: New file.
72628
72629 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72630
72631         * lib/poll_.h: New file.
72632         * lib/poll.c: New file.
72633
72634 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72635
72636         * m4/poll.m4: New file.
72637
72638 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72639
72640         * modules/mathl: New file.
72641
72642 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72643
72644         * lib/mathl.h: New file.
72645         * lib/acosl.c: New file.
72646         * lib/asinl.c: New file.
72647         * lib/atanl.c: New file.
72648         * lib/ceill.c: New file.
72649         * lib/cosl.c: New file.
72650         * lib/expl.c: New file.
72651         * lib/floorl.c: New file.
72652         * lib/frexpl.c: New file.
72653         * lib/ldexpl.c: New file.
72654         * lib/logl.c: New file.
72655         * lib/sincosl.c: New file.
72656         * lib/sinl.c: New file.
72657         * lib/sqrtl.c: New file.
72658         * lib/tanl.c: New file.
72659         * lib/trigl.c: New file.
72660         * lib/trigl.h: New file.
72661
72662 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72663
72664         * m4/mathl.m4: New file.
72665
72666 2003-02-18  Bruno Haible  <bruno@clisp.org>
72667
72668         * MODULES.html.sh (func_all_modules): Add mathl.
72669
72670 2003-02-17  Bruno Haible  <bruno@clisp.org>
72671
72672         * modules/mkdtemp: New module.
72673         * MODULES.html.sh (func_all_modules): Add it.
72674
72675 2003-02-17  Bruno Haible  <bruno@clisp.org>
72676
72677         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
72678
72679 2003-02-17  Bruno Haible  <bruno@clisp.org>
72680
72681         * lib/mkdtemp.h: New file, from GNU gettext.
72682         * lib/mkdtemp.c: New file, from GNU gettext.
72683
72684 2003-02-02  Jim Meyering  <jim@meyering.net>
72685
72686         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72687         e.g. glibc-2.2.93.
72688
72689 2003-01-31  Bruno Haible  <bruno@clisp.org>
72690
72691         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72692         'rpl_rename'.
72693         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72694         'rpl_strnlen'.
72695         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72696         'rpl_strtod'.
72697         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72698         'rpl_utime'.
72699
72700 2003-01-31  Bruno Haible  <bruno@clisp.org>
72701
72702         * lib/rename.c: #undef rename before defining rpl_rename.
72703         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72704
72705 2003-01-30  Bruno Haible  <bruno@clisp.org>
72706
72707         * modules/vasnprintf, modules/vasprintf: New modules.
72708         * MODULES.html.sh (func_all_modules): Add them.
72709
72710 2003-01-30  Bruno Haible  <bruno@clisp.org>
72711
72712         * m4/signed.m4: New file, from GNU gettext.
72713         * m4/longdouble.m4: New file, from GNU gettext.
72714         * m4/wchar_t.m4: New file, from GNU gettext.
72715         * m4/wint_t.m4: New file, from GNU gettext.
72716         * m4/vasnprintf.m4: New file.
72717         * m4/vasprintf.m4: New file.
72718
72719 2003-01-30  Bruno Haible  <bruno@clisp.org>
72720
72721         * lib/printf-args.h: New file, from GNU gettext.
72722         * lib/printf-args.c: New file, from GNU gettext.
72723         * lib/printf-parse.h: New file, from GNU gettext.
72724         * lib/printf-parse.c: New file, from GNU gettext.
72725         * lib/vasnprintf.h: New file, from GNU gettext.
72726         * lib/vasnprintf.c: New file, from GNU gettext.
72727         * lib/asnprintf.c: New file, from GNU gettext.
72728         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72729         * lib/vasprintf.c: New file, from GNU gettext.
72730         * lib/asprintf.c: New file, from GNU gettext.
72731
72732 2003-01-29  Bruno Haible  <bruno@clisp.org>
72733
72734         * modules/stpncpy: New module.
72735         * MODULES.html.sh (func_all_modules): Add it.
72736
72737 2003-01-29  Bruno Haible  <bruno@clisp.org>
72738
72739         * m4/stpncpy.m4: New file.
72740
72741 2003-01-29  Bruno Haible  <bruno@clisp.org>
72742
72743         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72744         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72745
72746 2003-01-28  Bruno Haible  <bruno@clisp.org>
72747
72748         * modules/c-ctype: New module.
72749         * MODULES.html.sh (func_all_modules): Add it.
72750
72751 2003-01-28  Bruno Haible  <bruno@clisp.org>
72752
72753         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72754         Paul Eggert.
72755         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72756         Paul Eggert.
72757
72758 2003-01-27  Bruno Haible  <bruno@clisp.org>
72759
72760         * modules/xsetenv: New module.
72761         * MODULES.html.sh (func_all_modules): Add it.
72762
72763 2003-01-27  Bruno Haible  <bruno@clisp.org>
72764
72765         * lib/xsetenv.h: New file, from GNU gettext.
72766         * lib/xsetenv.c: New file, from GNU gettext.
72767
72768 2003-01-23  Jim Meyering  <jim@meyering.net>
72769
72770         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72771         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72772
72773 2003-01-23  Bruno Haible  <bruno@clisp.org>
72774
72775         * modules/minmax: New module.
72776         * MODULES.html.sh (func_all_modules): Add it.
72777
72778 2003-01-23  Bruno Haible  <bruno@clisp.org>
72779
72780         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72781         Eggert.
72782
72783 2003-01-22  Bruno Haible  <bruno@clisp.org>
72784
72785         * modules/exit: New module.
72786         * MODULES.html.sh (func_all_modules): Add it.
72787
72788 2003-01-22  Bruno Haible  <bruno@clisp.org>
72789
72790         * lib/exit.h: New file, from GNU gettext.
72791
72792 2003-01-19  Bruno Haible  <bruno@clisp.org>
72793
72794         * gnulib-tool: Recognize option --extract-maintainer.
72795         (func_get_maintainer): New function.
72796         * modules/*: Add Maintainer entry.
72797
72798 2003-01-16  Jim Meyering  <jim@meyering.net>
72799
72800         * m4/regex.m4: The `regex' struct is both input and output.
72801         Initialize it before each use.  Patch by Tim Waugh.
72802
72803 2003-01-16  Bruno Haible  <bruno@clisp.org>
72804
72805         * MODULES.html.sh: Add a table of contents. Add the module name as
72806         leftmost column. Add hyperlinks.
72807
72808 2003-01-15  Bruno Haible  <bruno@clisp.org>
72809
72810         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72811
72812 2003-01-15  Bruno Haible  <bruno@clisp.org>
72813
72814         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72815         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72816         suffix.
72817
72818 2003-01-15  Bruno Haible  <bruno@clisp.org>
72819
72820         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72821
72822 2003-01-15  Bruno Haible  <bruno@clisp.org>
72823
72824         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72825         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72826
72827 2003-01-14  Jim Meyering  <jim@meyering.net>
72828
72829         * lib/same.c (same_name): Tweak a comment.
72830
72831 2003-01-14  Bruno Haible  <bruno@clisp.org>
72832
72833         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72834         when a string comparison is sufficient.
72835
72836 2003-01-14  Bruno Haible  <bruno@clisp.org>
72837
72838         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72839         'unsigned int'.
72840
72841 2003-01-14  Bruno Haible  <bruno@clisp.org>
72842
72843         * lib/hash-pjw.c: Add comment about low quality of this function.
72844
72845 2003-01-13  Bruno Haible  <bruno@clisp.org>
72846
72847         * modules/stpcpy: Distribute lib/stpcpy.h.
72848         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72849
72850 2003-01-13  Bruno Haible  <bruno@clisp.org>
72851
72852         * modules/*: Add a description.
72853         * modules/strpbrk: Fix Makefile.am snippet.
72854         * modules/strtoimax: Fix dependencies.
72855         * modules/strtoumax: Likewise.
72856
72857 2003-01-13  Bruno Haible  <bruno@clisp.org>
72858
72859         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72860         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72861         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72862
72863 2003-01-13  Bruno Haible  <bruno@clisp.org>
72864
72865         * gnulib-tool (func_create_testdir): Store config/* files in the main
72866         directory.
72867         * config.rpath: Move to ...
72868         * config/config.rpath: ... here.
72869         * modules/gettext: Contains config/config.rpath, not config.rpath.
72870         * modules/iconv: Likewise.
72871
72872 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72873
72874         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72875         to avoid collisions with libcurses and libreadline.
72876
72877         * m4/getstr.m4: Remove.
72878         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72879
72880 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72881
72882         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72883         to avoid collisions with libcurses and libreadline.
72884
72885         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72886         * lib/getstr.h, getstr.c: Remove.
72887         * lib/getline.c: Include "getline.h", to check interface.
72888         Move body of old getstr.c here: this defines MIN_CHUNK and
72889         declares getdelim2, which is renamed from getstr.
72890         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72891
72892         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72893         All uses changed.
72894         * lib/linebuffer.h: Likewise.
72895         (readline): Remove backward-compatibility macro.
72896
72897 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72898
72899         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72900         to avoid collisions with libcurses and libreadline.
72901         * getstr: Remove.
72902         * MODULES.html.sh: Remove getstr.
72903         * modules/getline: Depend on unlocked-io, not getstr.
72904
72905 2003-01-12  Jim Meyering  <jim@meyering.net>
72906
72907         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72908
72909 2003-01-10  Bruno Haible  <bruno@clisp.org>
72910
72911         * modules/alloca: Change Makefile.am requirements. Simplify Include
72912         requirements. Add lib/alloca_.h to file list.
72913
72914 2003-01-10  Bruno Haible  <bruno@clisp.org>
72915
72916         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72917
72918 2003-01-10  Bruno Haible  <bruno@clisp.org>
72919
72920         * lib/alloca_.h: New file.
72921         * lib/getdate.y: Unconditionally include alloca.h.
72922         * lib/makepath.c: Likewise.
72923         * lib/setenv.c: Likewise.
72924         * lib/userspec.c: Likewise.
72925
72926 2003-01-09  Karl Berry  <karl@gnu.org>
72927
72928         * MODULES.html.sh: include `dirname $0` in PATH, to find
72929         gnulib-tool.
72930
72931 2003-01-09  Bruno Haible  <bruno@clisp.org>
72932
72933         * modules/stdbool: Change configure.ac, Makefile.am requirements.
72934         Simplify Include requirements. Add lib/stdbool.h.in to file list.
72935
72936 2003-01-09  Bruno Haible  <bruno@clisp.org>
72937
72938         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
72939
72940 2003-01-09  Bruno Haible  <bruno@clisp.org>
72941
72942         * lib/stdbool.h.in: New file.
72943
72944 2003-01-09  Bruno Haible  <bruno@clisp.org>
72945
72946         * gnulib-tool (func_all_modules): Ignore files ending in ~.
72947         * MODULES.html.sh: Likewise.
72948
72949 2003-01-08  Jim Meyering  <jim@meyering.net>
72950
72951         * lib/full-write.c: Undefine and define-away `const' after inclusion
72952         of errno.h, not before.  Suggestion from Bruno Haible.
72953
72954 2003-01-08  Bruno Haible  <bruno@clisp.org>
72955
72956         * modules/full-read: Depend on full-write.
72957
72958 2003-01-08  Bruno Haible  <bruno@clisp.org>
72959
72960         * lib/safe-read.c: Include specification header first, to ensure its
72961         selfcontainedness.
72962         * lib/full-write.c: Likewise.
72963
72964 2003-01-07  Jim Meyering  <jim@meyering.net>
72965
72966         * lib/full-write.c: Rework so that it may serve to define full_read,
72967         too.
72968         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
72969
72970 2003-01-07  Bruno Haible  <bruno@clisp.org>
72971
72972         * lib/strtoimax.c: Include <stdint.h> as an alternative to
72973         <inttypes.h>.
72974         * lib/xstrtol.h: Likewise.
72975         * lib/xstrtoimax.c: Likewise.
72976         * lib/xstrtoumax.c: Likewise.
72977         * lib/human.h: Likewise.
72978
72979         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
72980         on systems that have <inttypes.h> but not <stdint.h>.
72981
72982 2003-01-07  Bruno Haible  <bruno@clisp.org>
72983
72984         * MODULES.html.sh: Add copyright notice.
72985         (missed_files): Omit CVS directory entries.
72986         (func_module): Make it work with sed-3.02.
72987         * MODULES.txt: Remove file.
72988
72989 2003-01-06  Jim Meyering  <jim@meyering.net>
72990
72991         * lib/version-etc.c: Update year in translatable copyright string.
72992
72993 2003-01-03  Karl Berry  <karl@gnu.org>
72994
72995         * config/config.{guess,sub}: update from prep.
72996
72997 2003-01-02  Karl Berry  <karl@gnu.org>
72998
72999         * doc/COPYING.DOC: belatedly updated to 1.2.
73000
73001 2003-01-01  Karl Berry  <karl@gnu.org>
73002
73003         * gnulib-tool (func_verify_module): report module name $module in
73004         error message, not $1.
73005         * gnulib-tool (create-testdir): don't complain if destdir couldn't
73006         be created, only if it doesn't exist.
73007         * gnulib-tool (last_checkin_date): don't expand the $Date here.
73008
73009 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73010
73011         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
73012
73013 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73014
73015         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
73016         memcmp if strcoll doesn't work.
73017
73018 2002-12-31  Bruno Haible  <bruno@clisp.org>
73019
73020         * lib/utime.c (utime_null): No need to call ftruncate if the file was
73021         nonempty.
73022
73023 2002-12-31  Bruno Haible  <bruno@clisp.org>
73024
73025         * lib/memcoll.c (STRCOLL): New macro.
73026         (memcoll): Use it.
73027
73028 2002-12-31  Bruno Haible  <bruno@clisp.org>
73029
73030         * lib/localcharset.h: New file.
73031         * lib/localcharset.c: Include it.
73032         * lib/unicodeio.c: Likewise.
73033
73034 2002-12-31  Bruno Haible  <bruno@clisp.org>
73035
73036         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
73037         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
73038
73039 2002-12-31  Bruno Haible  <bruno@clisp.org>
73040
73041         * lib/getline.h: Include <stddef.h>, for size_t.
73042
73043         * lib/unicodeio.h: Include <stddef.h>, for size_t.
73044         * lib/unicodeio.c: Don't include <stddef.h>.
73045
73046 2002-12-31  Bruno Haible  <bruno@clisp.org>
73047
73048         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
73049         HAVE_TM_ZONE.
73050
73051 2002-12-24  Karl Berry  <karl@gnu.org>
73052
73053         * config/config.guess: update from prep.
73054
73055 2002-12-24  Bruno Haible  <bruno@clisp.org>
73056
73057         General infrasructure.
73058         * m4/README: Rewritten.
73059         * m4/onceonly.m4: New file.
73060         * m4/onceonly_2_57.m4: New file.
73061
73062         Module atexit.
73063         * m4/atexit.m4: New file.
73064
73065         Module strtod.
73066         * m4/strtod.m4: New file.
73067
73068         Module strtol.
73069         * m4/strtol.m4: New file.
73070
73071         Module strtoul.
73072         * m4/strtoul.m4: New file.
73073
73074         Module memchr.
73075         * m4/memchr.m4: New file.
73076
73077         Module memcmp.
73078         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
73079         (jm_FUNC_MEMCMP): Invoke it.
73080
73081         Module memcpy.
73082         * m4/memcpy.m4: New file.
73083
73084         Module memmove.
73085         * m4/memmove.m4: New file.
73086
73087         Module memset.
73088         * m4/memset.m4: New file.
73089
73090         Module strcspn.
73091         * m4/strcspn.m4: New file.
73092
73093         Module strpbrk.
73094         * m4/strpbrk.m4: New file.
73095
73096         Module strstr.
73097         * m4/strstr.m4: New file.
73098
73099         Module strerror.
73100         * m4/strerror.m4: New file.
73101
73102         Module mktime.
73103         * m4/mktime.m4: Renamed from jm-mktime.m4.
73104         (gl_PREREQ_MKTIME): New macro.
73105         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
73106
73107         Module malloc.
73108         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
73109         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
73110         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
73111
73112         Module realloc.
73113         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
73114         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
73115         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
73116
73117         Module strftime.
73118         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
73119         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
73120         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
73121         gl_TM_GMTOFF.
73122         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
73123
73124         Module xalloc.
73125         * m4/xalloc.m4: New file.
73126
73127         Module alloca.
73128         * m4/alloca.m4: New file.
73129
73130         Module putenv.
73131         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
73132         (jm_FUNC_PUTENV): Invoke it.
73133
73134         Module setenv.
73135         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
73136         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
73137         when invoked twice.
73138         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
73139         gt_FUNC_SETENV.
73140
73141         Module memrchr.
73142         * m4/memrchr.m4: New file.
73143
73144         Module stpcpy.
73145         * m4/stpcpy.m4: New file.
73146
73147         Module strcase.
73148         * m4/strcase.m4: New file.
73149
73150         Module strdup.
73151         * m4/strdup.m4: New file.
73152
73153         Module strnlen.
73154         * m4/strnlen.m4: New file.
73155
73156         Module strndup.
73157         * m4/strndup.m4: New file.
73158
73159         Module xstrtod.
73160         * m4/xstrtod.m4: New file.
73161
73162         Module xstrtol.
73163         * m4/xstrtol.m4: New file.
73164
73165         Module getdate.
73166         * m4/getdate.m4: New file.
73167
73168         Module unlocked-io.
73169         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
73170         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
73171         * m4/jm-glibc-io.m4n: Remove file.
73172
73173         Module long-options.
73174         * m4/long-options.m4: New file.
73175
73176         Module md5.
73177         * m4/md5.m4: New file.
73178
73179         Module sha.
73180         * m4/sha.m4: New file.
73181
73182         Module getstr.
73183         * m4/getstr.m4: New file.
73184
73185         Module getline.
73186         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
73187         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
73188         <sys/types.h>, for size_t. Use the function name gnu_getline, not
73189         simply getline. Infoke gl_PREREQ_GETLINE.
73190
73191         Module obstack.
73192         * m4/obstack.m4: New file.
73193
73194         Module hash.
73195         * m4/hash.m4: New file.
73196
73197         Module readtokens.
73198         * m4/readtokens.m4: New file.
73199
73200         Module strverscmp.
73201         * m4/strverscmp.m4: New file.
73202
73203         Module stdbool.
73204         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
73205         OSF/1.
73206
73207         Module strtoll.
73208         * m4/strtoll.m4: New file.
73209
73210         Module strtoull.
73211         * m4/strtoull.m4: New file.
73212
73213         Module strtoimax.
73214         * m4/strtoimax.m4: New file.
73215
73216         Module strtoumax.
73217         * m4/strtoumax.m4: New file.
73218
73219         Module xstrtoimax.
73220         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
73221         jm_AC_PREREQ_XSTRTOIMAX.
73222         Moved the strtol prerequisites to strtol.m4.
73223         Moved the strtoll prerequisites to strtoll.m4.
73224         Moved the strtoimax prerequisites to strtoimax.m4.
73225
73226         Module xstrtoumax.
73227         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
73228         jm_AC_PREREQ_XSTRTOUMAX.
73229         Moved the strtoul prerequisites to strtoul.m4.
73230         Moved the strtoull prerequisites to strtoull.m4.
73231         Moved the strtoumax prerequisites to strtoumax.m4.
73232
73233         Module chown.
73234         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
73235         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
73236
73237         Module dup2.
73238         * m4/dup2.m4: New file.
73239
73240         Module ftruncate.
73241         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
73242         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
73243
73244         Module getgroups.
73245         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
73246         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
73247
73248         Module gettimeofday.
73249         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
73250         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
73251         gl_PREREQ_GETTIMEOFDAY.
73252
73253         Module mkdir.
73254         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
73255         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
73256
73257         Module mkstemp.
73258         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
73259         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
73260         jm_AC_TYPE_UINTMAX_T.
73261         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
73262
73263         Module stat.
73264         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
73265         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
73266
73267         Module lstat.
73268         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
73269         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
73270
73271         Module timespec.
73272         * m4/timespec.m4 (gl_TIMESPEC): New macro.
73273         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
73274         * m4/st_mtim.m4: Indentation.
73275
73276         Module nanosleep.
73277         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
73278         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
73279         gl_PREREQ_NANOSLEEP.
73280
73281         Module regex.
73282         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
73283         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
73284         (gl_REGEX): New macro.
73285
73286         Module rename.
73287         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
73288         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
73289
73290         Module rmdir.
73291         * m4/rmdir.m4: New file.
73292
73293         Module utime.
73294         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
73295         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
73296         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
73297
73298         Module dirname.
73299         * m4/dirname.m4: New file.
73300
73301         Module getopt.
73302         * m4/getopt.m4: New file.
73303
73304         Module unistd-safer.
73305         * m4/unistd-safer.m4: New file.
73306
73307         Module fnmatch.
73308         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
73309         declaration.
73310         (gl_PREREQ_FNMATCH_EXTRA): New macro.
73311         (gl_FUNC_FNMATCH_POSIX): New macro.
73312         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
73313         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
73314         simply fnmatch.
73315
73316         Module exclude.
73317         * m4/exclude.m4: New file.
73318
73319         Module human.
73320         * m4/human.m4: New file.
73321
73322         Module acl.
73323         * m4/acl.m4: Nop.
73324
73325         Module backupfile.
73326         * m4/backupfile.m4: New file.
73327         * m4/d-ino.m4: Indentation.
73328
73329         Module fsusage.
73330         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
73331         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
73332         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
73333
73334         Module dirfd.
73335         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
73336         requirements.
73337
73338         Module euidaccess.
73339         * m4/euidaccess.m4: New file.
73340
73341         Module file-type.
73342         * m4/file-type.m4: New file.
73343
73344         Module fileblocks.
73345         * m4/fileblocks.m4: New file.
73346
73347         Module filemode.
73348         * m4/filemode.m4: New file.
73349
73350         Module isdir.
73351         * m4/isdir.m4: New file.
73352
73353         Module lchown.
73354         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
73355         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
73356
73357         Module makepath.
73358         * m4/makepath.m4: New file.
73359
73360         Module modechange.
73361         * m4/modechange.m4: New file.
73362
73363         Module mountlist.
73364         * m4/mountlist.m4: New file.
73365         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
73366         Indentation.
73367
73368         Module path-concat.
73369         * m4/path-concat.m4: New file.
73370
73371         Module pathmax.
73372         * m4/pathmax.m4: New file.
73373
73374         Module same.
73375         * m4/same.m4: New file.
73376
73377         Module save-cwd.
73378         * m4/save-cwd.m4: New file.
73379
73380         Module savedir.
73381         * m4/savedir.m4: New file.
73382
73383         Module xgetcwd.
73384         * m4/xgetcwd.m4: New file.
73385         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
73386
73387         Module xreadlink.
73388         * m4/xreadlink.m4: New file.
73389
73390         Module safe-read.
73391         * m4/safe-read.m4: New file.
73392
73393         Module safe-write.
73394         * m4/safe-write.m4: New file.
73395
73396         Module closeout.
73397         * m4/closeout.m4: New file.
73398
73399         Module stdio-safer.
73400         * m4/stdio-safer.m4: New file.
73401
73402         Module getpass.
73403         * m4/getpass.m4: New file.
73404
73405         Module getugroups.
73406         * m4/getugroups.m4: New file.
73407
73408         Module group-member.
73409         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
73410         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
73411
73412         Module idcache.
73413         * m4/idcache.m4: New file.
73414
73415         Module userspec.
73416         * m4/userspec.m4: New file.
73417
73418         Module gettime.
73419         * m4/clock_time.m4: New file.
73420         * m4/gettime.m4: New file.
73421
73422         Module settime.
73423         * m4/settime.m4: New file.
73424
73425         Module posixtm.
73426         * m4/posixtm.m4: New file.
73427
73428         Module gethostname.
73429         * m4/gethostname.m4: New file.
73430
73431         Module canon-host.
73432         * m4/canon-host.m4: New file.
73433
73434         Module gettext.
73435         * m4/codeset.m4: New file, from gettext-0.11.5.
73436         * m4/gettext.m4: New file, from gettext-0.11.5.
73437         * m4/glibc21.m4: New file, from gettext-0.11.5.
73438         * m4/iconv.m4: New file, from gettext-0.11.5.
73439         * m4/intdiv0.m4: New file, from gettext-0.11.5.
73440         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
73441         * m4/inttypes.m4: New file, from gettext-0.11.5.
73442         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
73443         * m4/isc-posix.m4: New file, from gettext-0.11.5.
73444         * m4/lcmessage.m4: New file, from gettext-0.11.5.
73445         * m4/lib-ld.m4: New file, from gettext-0.11.5.
73446         * m4/lib-link.m4: New file, from gettext-0.11.5.
73447         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
73448         * m4/progtest.m4: New file, from gettext-0.11.5.
73449         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
73450         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
73451         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
73452
73453         Module localcharset.
73454         * m4/localcharset.m4: New file.
73455
73456         Module hard-locale.
73457         * m4/hard-locale.m4: New file.
73458
73459         Module mbswidth.
73460         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
73461         onceonly macros.
73462         * m4/mbrtowc.m4: Add comment.
73463
73464         Module memcasecmp.
73465         * m4/memcasecmp.m4: New file.
73466
73467         Module memcoll.
73468         * m4/memcoll.m4: New file.
73469
73470         Module unicodeio.
73471         * m4/unicodeio.m4: New file.
73472
73473         Module rpmatch.
73474         * m4/rpmatch.m4: New file.
73475
73476         Module yesno.
73477         * m4/yesno.m4: New file.
73478
73479         Module exitfail.
73480         * m4/exitfail.m4: New file.
73481
73482         Module c-stack.
73483         * m4/c-stack.m4 (gl_C_STACK): New macro.
73484         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
73485
73486         Module error.
73487         * m4/error.m4 (gl_ERROR): New macro.
73488         (jm_PREREQ_ERROR): Use onceonly macros.
73489
73490         Module fatal.
73491         * m4/fatal.m4: New file.
73492
73493         Module getloadavg.
73494         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
73495         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
73496
73497         Module getpagesize.
73498         * m4/getpagesize.m4: New file.
73499
73500         Module getusershell.
73501         * m4/getusershell.m4: New file.
73502
73503         Module physmem.
73504         * m4/physmem.m4: New file.
73505
73506         Module posixver.
73507         * m4/posixver.m4: New file.
73508
73509         Module quotearg.
73510         * m4/quotearg.m4: New file.
73511
73512         Module quote.
73513         * m4/quote.m4: New file.
73514
73515         Module readutmp.
73516         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
73517
73518         Module sig2str.
73519         * m4/sig2str.m4: New file.
73520
73521         Other.
73522         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
73523         ulonglong.m4.
73524         * m4/intmax_t.m4: New file.
73525         * m4/d-type.m4: Indentation.
73526         * m4/jm-macros.m4: Update.
73527         * m4/prereq.m4 (jm_PREREQ): Update.
73528         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
73529         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
73530         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
73531         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
73532         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
73533         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
73534         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
73535         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
73536         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
73537         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
73538         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
73539         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
73540         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
73541         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
73542         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
73543         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
73544         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
73545         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
73546         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
73547
73548 2002-12-24  Bruno Haible  <bruno@clisp.org>
73549
73550         * MODULES.txt: Update according to m4/ changes.
73551
73552         Module gettext.
73553         * config.rpath: New file, from gettext-0.11.5.
73554
73555         * modules/*: New module descriptions.
73556         * gnulib-tool: New file.
73557         * MODULES.html.sh: New file.
73558
73559 2002-12-21  Karl Berry  <karl@gnu.org>
73560
73561         * doc/fdl.texi: update to version 1.2.
73562
73563 2002-12-19  Karl Berry  <karl@gnu.org>
73564
73565         * config/config.guess: update from prep.
73566
73567 2002-12-18  Bruno Haible  <bruno@clisp.org>
73568
73569         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
73570         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
73571
73572 2002-12-17  Bruno Haible  <bruno@clisp.org>
73573
73574         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
73575         stdlib.h, string.h.
73576
73577 2002-12-17  Bruno Haible  <bruno@clisp.org>
73578
73579         * lib/canon-host.c (strdup): Remove unused declaration.
73580
73581         * lib/fsusage.c: Include full_read.h.
73582         (get_fs_usage): Use full_read instead of safe_read.
73583
73584         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
73585
73586 2002-12-12  Karl Berry  <karl@gnu.org>
73587
73588         * config/config.guess: update from prep.
73589
73590 2002-12-11  Bruno Haible  <bruno@clisp.org>
73591
73592         * m4/setenv.m4: New file, from gettext-0.11.5.
73593
73594 2002-12-11  Bruno Haible  <bruno@clisp.org>
73595
73596         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
73597         not unsetenv().
73598         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
73599         modifications:
73600
73601         2002-12-11  Bruno Haible  <bruno@clisp.org>
73602
73603                 * setenv.c (alloca): Fall back to malloc.
73604                 (freea): New macro.
73605                 (setenv): Use freea() to free memory allocated with alloca().
73606
73607         2002-11-13  Bruno Haible  <bruno@clisp.org>
73608
73609                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
73610                 function declarations.
73611                 * unsetenv.c (unsetenv): Likewise.
73612
73613         2002-03-04  Bruno Haible  <bruno@clisp.org>
73614
73615                 Portability to AIX 4.3.3.
73616                 * unsetenv.c: New file, extracted from setenv.c.
73617                 * setenv.c: Move the unsetenv() function to unsetenv.c.
73618
73619         2001-12-20  Bruno Haible  <bruno@clisp.org>
73620
73621                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
73622                 use malloc instead. For SunOS 4.
73623
73624         2001-12-11  Bruno Haible  <bruno@clisp.org>
73625
73626                 * setenv.c: Declare alloca.
73627                 (compar_fn_t): New typedef.
73628                 (KNOWN_VALUE, STORE_VALUE): Use it.
73629
73630         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
73631         setenv.h.
73632
73633 2002-12-10  Paul Eggert  <eggert@twinsun.com>
73634
73635         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
73636         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
73637         Choose values that are less likely to collide with system fnmatch
73638         options.
73639         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
73640         defined (e.g., a pure POSIX system).
73641         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
73642         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
73643
73644 2002-12-06  Paul Eggert  <eggert@twinsun.com>
73645
73646         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
73647         a pain in practice to deal with generated m4 files.  This change
73648         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
73649
73650         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
73651         and jm-glibc-io.m4, as they are no longer a special case.
73652         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
73653         kludge and the auto-generation stuff.  Check only whether the
73654         functions are declared, not whether they exist, since older hosts
73655         that don't declare the functions can't use the optimization anyway.
73656
73657 2002-12-06  Jim Meyering  <jim@meyering.net>
73658
73659         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
73660
73661         Merge in changes from libc's misc/error.c, in preparation
73662         for the merge of gnulib's changes back into libc.
73663
73664         * lib/error.c (_): Define only if not already defined.
73665         Move definition to follow all #include directives.
73666         Include unlocked-io.h only if !_LIBC.
73667         [_LIBC]: Include <libio/libioP.h>.
73668         [USE_IN_LIBIO]: Include <libio/iolibio.h>
73669         (fflush): Tweak definition to use INTUSE.
73670         (putc): Define.
73671
73672 2002-12-05  Paul Eggert  <eggert@twinsun.com>
73673
73674         * lib/alloca.c [defined emacs]: Include "lisp.h".
73675         (xalloc_die) [defined emacs]: New macro.
73676         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
73677         [! defined emacs]: Include <xalloc.h>.
73678         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
73679         (pointer): Typedef to POINTER_TYPE *.
73680         (malloc): Remove decl; we now always use xmalloc.
73681         (alloca): Use old-style definition, since Emacs needs this.
73682         Check for arithmetic overflow when computing combined size.
73683
73684 2002-12-04  Paul Eggert  <eggert@twinsun.com>
73685
73686         Do not generate unlocked-io.h automatically, since it's easier to
73687         maintain it by hand.
73688
73689         * lib/unlocked-io.h: New file, from GNU diffutils,
73690         but with proper copyright notice and attribution.
73691         * lib/gen-uio: Remove.
73692         * lib/Makefile.am: Add copyright notice.
73693         (libfetish_a_SOURCES): Add unlocked-io.h.
73694         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73695         (DISTCLEANFILES, io_functions): Remove macros.
73696         (EXTRA_DIST): Remove gen_uio.
73697         (unlocked-io.h): Remove rule.
73698
73699 2002-12-04  Jim Meyering  <jim@meyering.net>
73700
73701         Reflect the fact that stat.c and lstat.c are no longer generated.
73702         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73703         (DISTCLEANFILES): Likewise.
73704         (EXTRA_DIST): Likewise.
73705         (all_local): Don't depend on stat.c or lstat.c.
73706         (stat.c, lstat.c): Remove rules.
73707         (EXTRA_DIST): Remove xstat.in.
73708
73709         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73710         * lib/stat.c: New file.  Contents mostly from xstat.in.
73711         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73712         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73713
73714         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73715         too.
73716         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73717
73718 2002-12-03  Jim Meyering  <jim@meyering.net>
73719
73720         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73721         but not semantics, to minimize the differences between these two files.
73722         (safe_read): Change comment to mention SAFE_READ_ERROR.
73723
73724         * lib/safe-read.c (IS_EINTR): Define.
73725         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73726
73727 2002-12-02  Jim Meyering  <jim@meyering.net>
73728
73729         * lib/safe-read.c (EINTR): Define.
73730         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73731         (INT_MAX): Provide fallback.
73732         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73733
73734         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73735
73736 2002-12-02  Bruno Haible  <bruno@clisp.org>
73737
73738         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73739         Define, taken from safe-read.c.
73740         (INT_MAX): Provide fallback.
73741         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73742         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73743
73744         * lib/safe-read.c (EINTR): Remove definition.
73745         (safe_read): Don't use EINTR if it is absent.
73746
73747 2002-12-01  Jim Meyering  <jim@meyering.net>
73748
73749         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73750         zero.
73751         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73752
73753 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73754
73755         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73756         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73757         with `if (! (value < limit)) abort ();', for readability.
73758
73759 2002-11-26  Karl Berry  <karl@gnu.org>
73760
73761         * lib/strdup.c: copy from libc again, with jim's ok.
73762         * lib/.cppi-disable: re-add strdup.c
73763
73764 2002-11-25  Karl Berry  <karl@gnu.org>
73765
73766         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73767         instead of "strtol.c".
73768
73769 2002-11-25  Karl Berry  <karl@gnu.org>
73770
73771         * config/install-sh: update from automake for variable quoting, $0 in
73772         error msgs, etc.
73773
73774         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73775         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73776         entry.
73777
73778 2002-11-25  Jim Meyering  <jim@meyering.net>
73779
73780         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73781
73782 2002-11-24  Karl Berry  <karl@gnu.org>
73783
73784         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73785         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73786
73787 2002-11-24  Jim Meyering  <jim@meyering.net>
73788
73789         Update from coreutils:
73790
73791         * lib/mktime.c: Merge in changes from libc.
73792
73793         Avoid a link-time failure on some Linux systems.
73794         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73795         (otherwise).
73796         (__mon_yday): Declare with the STATIC attribute.
73797         (__mktime_internal): Likewise.
73798         Based on a report from Greg Schafer.
73799
73800 2002-11-23  Jim Meyering  <jim@meyering.net>
73801
73802         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73803         Use `unsigned', not `int', as type of index.
73804
73805         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73806
73807         * lib/fsusage.c: Remove unneeded parentheses around operands of
73808         `defined'.
73809
73810 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73811
73812         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73813         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73814         so that we can be included first.
73815         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73816         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73817         No need to include stddef.h or sys/types.h any more.
73818         Surround local include files with "", not "<>".
73819         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73820         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73821         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73822         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73823         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73824         (ISPRINT): Remove; no longer needed now that we assume C89.
73825
73826         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73827         Preserve errno.
73828
73829         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73830         quotearg_char): Use SIZE_MAX rather than
73831         (size_t) -1 when we are talking about "infinity".
73832
73833         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73834
73835 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73836
73837         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73838         hint that one should use `if (! x) abort ();' rather than `assert
73839         (x);', and anyway it's one less thing to worry about configuring.
73840         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73841         hash_rehash, hash_insert): Use abort rather than assert.
73842
73843 2002-11-22  Bruno Haible  <bruno@clisp.org>
73844
73845         * lib/safe-read.h: Assume C89. Add comments.
73846         (safe_read): Change return type to size_t.
73847         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73848         byte counts > SSIZE_MAX correctly.
73849         * lib/safe-write.h: New file.
73850         * lib/safe-write.c: New file.
73851         * lib/full-read.h: New file.
73852         * lib/full-read.c: New file.
73853         * lib/full-write.h: Assume C89. Add comments.
73854         * lib/full-write.c: Include safe-write.h.
73855         (full_write): Rewritten to use safe_write.
73856         Suggested by Jim Meyering and Paul Eggert.
73857
73858 2002-11-21  Jim Meyering  <jim@meyering.net>
73859
73860         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73861
73862         Merge in changes from the coreutils.
73863
73864         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73865         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73866         <stdint.h>.
73867         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73868         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73869         int.  Work more efficiently if X is the same width as uintmax_t.
73870         Do not compare X to -1, to avoid bogus compiler warning.
73871         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73872         Don't assume that f_frsize and f_bsize are the same type.
73873
73874         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73875         warning on FreeBSD.
73876
73877         * lib/makepath.c (make_path): Restore umask *before* creating the final
73878         component.
73879         (make_path): Minor reformatting.
73880
73881         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73882         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73883         HAVE_MALLOC/HAVE_REALLOC.
73884
73885         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73886         dummy ones.  At least on GNU/Linux systems, `auto' means something
73887         else.
73888         From Michael Stone.
73889
73890 2002-11-21  Bruno Haible  <bruno@clisp.org>
73891
73892         Remove case insensitive option matching.
73893         * lib/argmatch.h (argcasematch): Remove declaration.
73894         (ARGCASEMATCH): Remove macro.
73895         (__xargmatch_internal): Remove case_sensitive argument.
73896         (XARGMATCH): Update.
73897         (XARGCASEMATCH): Remove macro.
73898         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73899         case_sensitive argument.
73900         (argcasematch): Remove function.
73901         (__xargmatch_internal): Remove case_sensitive argument.
73902         (main): Use XARGMATCH instead of XARGCASEMATCH.
73903
73904         * lib/xmalloc.c: Change compile-time error message. Add comment about
73905         required autoconf version.
73906
73907 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73908
73909         Merge argmatch cleanups from Bison.  Assume C89.
73910
73911         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73912         Include stdlib.h, for EXIT_FAILURE.
73913         Always include <string.h>, since we assume C89.
73914         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73915         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73916         Include <stddef.h> instead, since it's all we need for size_t.
73917         (PARAMS): Remove.  All uses removed.
73918         (ARRAY_CARDINALITY): Do not bother to #undef.
73919         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73920         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73921         Remove unnecessary parentheses.
73922         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73923         Insert necessary parentheses.
73924         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
73925         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
73926
73927 2002-11-19  Bruno Haible  <bruno@clisp.org>
73928
73929         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
73930         * lib/mbswidth.h: Include <stddef.h>, for size_t.
73931
73932         * lib/mbswidth.h (PARAMS): Remove macro.
73933         (mbswidth, mbsnwidth): Use ANSI C function declarations.
73934         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
73935
73936         * lib/gcd.h (PARAMS): Remove macro.
73937         (gcd): Use ANSI C function declarations.
73938         * lib/gcd.c (gcd): Likewise.
73939
73940 2002-11-15  Bruno Haible  <bruno@clisp.org>
73941
73942         * lib/strcspn.c: Include <stddef.h>.
73943         (strcspn): Use ANSI C function declaration. Change return type to
73944         size_t. Use NULL.
73945         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
73946         (strpbrk): Use NULL.
73947         * lib/strpbrk.h (PARAMS): Remove macro.
73948         (strpbrk): Use ANSI C function declaration.
73949         * lib/strstr.c: Don't include <sys/types.h>.
73950         * lib/strstr.h (PARAMS): Remove macro.
73951         (strstr): Use ANSI C function declarations.
73952
73953 2002-11-14  Karl Berry  <karl@gnu.org>
73954
73955         * config/mkinstalldirs: `do' on separate line, instead of
73956         `for var; do'.
73957
73958 2002-11-06  Bruno Haible  <bruno@clisp.org>
73959
73960         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
73961         * lib/gcd.c (gcd): Likewise.
73962
73963 2002-11-05  Bruno Haible  <bruno@clisp.org>
73964
73965         * lib/gcd.h: New file, from gettext-0.11.5.
73966         * lib/gcd.c: New file, from gettext-0.11.5.
73967
73968 2002-11-05  Bruno Haible  <bruno@clisp.org>
73969
73970         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73971         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73972         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73973         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73974
73975         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
73976         <libintl.h>.
73977         * lib/makepath.c: Include gettext.h instead of <locale.h> and
73978         <libintl.h>.
73979
73980         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
73981         * lib/human.c: Include gettext.h instead of <libintl.h>.
73982         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
73983         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
73984         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
73985         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
73986         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
73987         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
73988         (textdomain): Remove definition.
73989         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
73990
73991         * lib/long-options.c: Remove include of <libintl.h> and definition of
73992         _.
73993         * lib/same.c: Remove include of <libintl.h> and definition of _.
73994
73995 2002-11-04  Owen Taylor  <otaylor@redhat.com>
73996
73997         * lib/config.charset: A few additions for Solaris.
73998
73999 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74000
74001         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
74002         * lib/localcharset.c (locale_charset): Declare as extern "C".
74003
74004 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74005
74006         * lib/config.charset: msdos in uk_UA uses CP1125.
74007
74008 2002-11-04  Bruno Haible  <bruno@clisp.org>
74009
74010         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
74011         * lib/strcase.h: New file, from GNU gettext-0.11.5.
74012         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
74013         * lib/strstr.h: New file, from GNU gettext-0.11.5.
74014         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
74015
74016 2002-11-04  Bruno Haible  <bruno@clisp.org>
74017
74018         * lib/localcharset.c (locale_charset): Don't return an empty string.
74019
74020 2002-11-04  Bruno Haible  <bruno@clisp.org>
74021
74022         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
74023         aliases.
74024
74025 2002-11-04  Bruno Haible  <bruno@clisp.org>
74026
74027         * lib/config.charset: Update for newest glibc. Add canonical names
74028         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
74029
74030 2002-11-04  Bruno Haible  <bruno@clisp.org>
74031
74032         * lib/config.charset: Add support for NetBSD.
74033
74034 2002-11-04  Bruno Haible  <bruno@clisp.org>
74035
74036         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
74037
74038 2002-11-01  Bruno Haible  <bruno@clisp.org>
74039
74040         * configure.in: Add AC_CONFIG_AUX_DIR call.
74041         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
74042         test/Makefile.
74043         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
74044
74045 2002-09-28  Karl Berry  <karl@gnu.org>
74046
74047         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
74048         installed automake until the next release, since changes have been
74049         made.
74050
74051 2002-09-25  Karl Berry  <karl@gnu.org>
74052
74053         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
74054         * lib/getopt*: copy from libc/posix.
74055         * lib/gettext.h: copy from gettext.
74056         * lib/.cppi-disable: add strdup.c, gettext.h.
74057
74058 2002-09-25  Karl Berry  <karl@gnu.org>
74059
74060         * config/srclist.txt: enable gettext.h check.
74061         * config/config.{guess,sub}: update from prep.
74062         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
74063                 from automake 1.6.3.
74064         See srclist*.
74065
74066 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
74067
74068         * regex.c (PATFETCH): Remove the translating fetch.
74069         (PATFETCH_RAW): Rename to PATFETCH.
74070         (set_image_of_range): New fun.
74071         (SET_RANGE_TABLE_WORK_AREA): Use it.
74072         (regex_compile): Don't translate the pattern chars so eagerly.
74073         Only do it when inserting an `exactn' bytecode or when handling
74074         a char-range.
74075         (mutually_exclusive_p): Avoid empty statement.
74076
74077 2002-07-06  Jim Meyering  <meyering@lucent.com>
74078
74079         * m4/README: Don't mention Makefile.am.in.
74080         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
74081
74082 2002-07-01  Jim Meyering  <meyering@lucent.com>
74083
74084         * lib/c-stack.c: Include sys/time.h.
74085         From Volker Borchert.
74086
74087 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74088
74089         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
74090
74091 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74092
74093         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
74094         New macro.  Use it uniformly instead of
74095         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
74096         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
74097         reported by Vin Shelton.
74098
74099 2002-06-22  Paul Eggert  <eggert@twinsun.com>
74100
74101         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
74102         Do not assume SA_SIGINFO behavior.
74103         Bug reported by Jim Meyering on NetBSD 1.5.2.
74104
74105 2002-06-22  Jim Meyering  <meyering@lucent.com>
74106
74107         * m4/c-stack.m4: New file, from diffutils-2.8.2.
74108         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
74109
74110         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
74111         now that configure.ac uses AC_GNU_SOURCE.
74112         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
74113         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
74114
74115         Update to latest tools.  Suggestions from Paul Eggert.
74116         * m4/stdbool.m4: New file, from diffutils-2.8.2.
74117         * m4/gnu-source.m4: Update from diffutils-2.8.2.
74118         * m4/fnmatch.m4: Likewise.
74119         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
74120         to AC_HEADER_STDBOOL
74121
74122 2002-06-22  Jim Meyering  <meyering@lucent.com>
74123
74124         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
74125         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
74126
74127 2002-06-22  Jim Meyering  <meyering@lucent.com>
74128
74129         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
74130
74131         * lib/exitfail.c, exitfail.h: Likewise.
74132         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
74133
74134         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
74135         of fnmatch.h.
74136         (EXTRA_DIST): Add fnmatch_loop.c.
74137         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
74138
74139         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
74140         * lib/fnmatch.c: Update from diffutils-2.8.2.
74141         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
74142         * lib/fnmatch.h: Remove file.
74143
74144 2002-06-21  Jim Meyering  <meyering@lucent.com>
74145
74146         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
74147         * m4/mbrtowc.m4: Likewise.
74148
74149         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
74150         * m4/mbswidth.m4: Reflect name change:
74151         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
74152         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74153
74154         * m4/lib-link.m4: Update from gettext-0.11.2.
74155         * m4/gettext.m4: Likewise.
74156
74157         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
74158         From Alfred M. Szmidt.
74159
74160 2002-06-18  Paul Eggert  <eggert@twinsun.com>
74161
74162         * lib/file-type.h: Report an error if neither S_ISREG nor
74163         S_IFREG is defined, instead of using a test specific to glibc
74164         2.2.  This should be safe, since POSIX requires S_ISREG and
74165         Unix Version 7 had S_IFREG.  We don't need to check for
74166         <sys/types.h> since we don't use any symbols that it defines.
74167
74168 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
74169
74170         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
74171         $@-t, so that each temporary file name is unique and valid in the first
74172         8 characters, for operation under DOS.
74173
74174 2002-06-15  Paul Eggert  <eggert@twinsun.com>
74175
74176         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
74177
74178 2002-06-15  Jim Meyering  <meyering@lucent.com>
74179
74180         Work even with DJGPP 2.03, which lacks support for symlinks.
74181         From Richard Dawe.
74182         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
74183         is defined.
74184         * lib/lchown.c (S_ISLNK): Likewise.
74185
74186 2002-06-15  Jim Meyering  <meyering@lucent.com>
74187
74188         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
74189         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
74190         have been included before this file.
74191
74192 2002-06-14  Jim Meyering  <meyering@lucent.com>
74193
74194         * lib/file-type.h: Use the version from diffutils-2.8.2.
74195         * lib/file-type.c: Likewise.
74196
74197 2002-06-07  Jim Meyering  <meyering@lucent.com>
74198
74199         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
74200         They're needed at least for NetBSD 1.5.2.
74201         ($statxfs_includes): Include those same headers.
74202         ($statxfs_includes): Include sys/vfs.h if available.
74203         ($statxfs_includes): Likewise for sys/statvfs.h.
74204         Check for the following members in both structs statfs and statvfs:
74205         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
74206
74207 2002-06-01  Jim Meyering  <meyering@lucent.com>
74208
74209         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
74210         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
74211
74212 2002-05-28  Jim Meyering  <meyering@lucent.com>
74213
74214         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
74215         Reported by Volker Borchert.
74216
74217 2002-05-27  Jim Meyering  <meyering@lucent.com>
74218
74219         Fix a problem seen only on nonconforming systems whereby ls.c's
74220         use of localtime, and then of gettimeofday would cause trouble:
74221         the localtime call used to initialize rpl_gettimeofday's save
74222         mechanism would clobber ls's current local time information so
74223         that in any long listing the first file would always be listed
74224         with date 1970-01-01.  Analysis by Volker Borchert.
74225
74226         * lib/gettimeofday.c (localtime): Undefine.
74227         (rpl_localtime): New function.
74228
74229 2002-05-27  Jim Meyering  <meyering@lucent.com>
74230
74231         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
74232         localtime.
74233
74234         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
74235         use the replacement function; it wouldn't resolve at link time.
74236         Reported by Volker Borchert.
74237
74238 2002-05-22  Jim Meyering  <meyering@lucent.com>
74239
74240         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
74241         file-type.h.
74242         * lib/file-type.h: New file.
74243         * lib/file-type.c (file_type): New file/function.  Extracted from
74244         diffutils.
74245
74246 2002-04-30  Jim Meyering  <meyering@lucent.com>
74247
74248         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
74249
74250 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74251
74252         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
74253
74254 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74255
74256         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
74257         Do not check for alloca.h (no longer used) or stdbool.h (was never
74258         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
74259
74260 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74261
74262         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
74263
74264 2002-04-29  Jim Meyering  <meyering@lucent.com>
74265
74266         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
74267         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
74268         Use AC_FUNC_STRNLEN here instead.
74269
74270         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
74271         With autoconf-2.53a, it's part of AC_PROG_CC.
74272
74273 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74274
74275         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
74276         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
74277
74278 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74279
74280         * lib/sig2str.h, lib/sig2str.c: New files.
74281         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
74282
74283 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74284
74285         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
74286         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
74287         of 127, since 64 is the largest conceivable number for ancient
74288         nonstandard hosts.
74289         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
74290
74291 2002-04-28  Jim Meyering  <meyering@lucent.com>
74292
74293         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
74294
74295 2002-04-24  Jim Meyering  <meyering@lucent.com>
74296
74297         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
74298         (jm_PREREQ): Use it.
74299
74300         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
74301         mach/mach.h fcntl.h.
74302         Check for this function: setlocale.
74303
74304 2002-04-24  Jim Meyering  <meyering@lucent.com>
74305
74306         * lib/gettext.h: New file, from Gettext.
74307         * lib/Makefile.am (INCLUDES): Remove -I../intl.
74308         (libfetish_a_SOURCES): Add gettext.h.
74309
74310 2002-04-16  Jim Meyering  <meyering@lucent.com>
74311
74312         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
74313         ut_pid, ut_id, ut_exit.
74314
74315 2002-04-16  Jim Meyering  <meyering@lucent.com>
74316
74317         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
74318         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
74319         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
74320
74321 2002-04-12  Jim Meyering  <meyering@lucent.com>
74322
74323         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
74324         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
74325         existence of the getmntinfo function.  Needed for Darwin 5.3.
74326
74327         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
74328         This is necessary at least on Darwin 5.3.
74329
74330         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
74331         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
74332         strnlen.o in the library, and that makes some versions of ranlib
74333         object.
74334
74335 2002-04-12  Jim Meyering  <meyering@lucent.com>
74336
74337         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
74338
74339 2002-04-09  Jim Meyering  <meyering@lucent.com>
74340
74341         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
74342         to be more precise.  Rather than saying we're checking whether the
74343         function `works', say what we're testing.
74344         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
74345         Reported by Bruno Haible.
74346
74347 2002-03-10  Jim Meyering  <meyering@lucent.com>
74348
74349         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
74350         Suggestion from Santiago Vila.
74351
74352 2002-03-08  Jim Meyering  <meyering@lucent.com>
74353
74354         * lib/rename.c: Mention that this wrapper is needed also on
74355         mips-dec-ultrix4.4 systems.
74356
74357 2002-03-02  Jim Meyering  <meyering@lucent.com>
74358
74359         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
74360         not HAVE_CLOCK_SETTIME.
74361
74362 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74363
74364         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
74365         Check for clock_settime.
74366
74367 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74368
74369         * lib/nanosleep.h: Rename to....
74370         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
74371
74372         * lib/gettime.c: New file.
74373         * lib/settime.c: New file.
74374         * lib/stime.c: Remove.
74375
74376         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
74377         timespec.h.  Remove nanosleep.h.
74378
74379 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74380
74381         * m4/acl.m4: New file.
74382         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
74383         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
74384
74385 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74386
74387         * lib/acl.c, lib/acl.h: New files.
74388         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
74389
74390 2002-02-24  Jim Meyering  <meyering@lucent.com>
74391
74392         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
74393         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
74394         cause trouble.  Reported by Nelson Beebe.
74395
74396 2002-02-23  Paul Eggert  <eggert@twinsun.com>
74397
74398         * lib/path-concat.c (xpath_concat): Reorder code to pacify
74399         compilers that don't know that xalloc_die never returns.
74400
74401 2002-02-20  Jim Meyering  <meyering@lucent.com>
74402
74403         * lib/getdate.c: Regenerate using bison-1.33.
74404
74405 2002-02-17  Jim Meyering  <meyering@lucent.com>
74406
74407         * config/config.guess (main): Don't use `head -1'; it's no longer
74408         portable. Use `sed 1q' instead.
74409
74410 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
74411
74412         * m4/codeset.m4: Upgrade to gettext-0.11.
74413         * m4/gettext.m4: Upgrade to gettext-0.11.
74414         * m4/glibc21.m4: Upgrade to gettext-0.11.
74415         * m4/iconv.m4: Upgrade to gettext-0.11.
74416         * m4/isc-posix.m4: Upgrade to gettext-0.11.
74417         * m4/lcmessage.m4: Upgrade to gettext-0.11.
74418         * m4/lib-ld.m4: New file, from gettext-0.11.
74419         * m4/lib-link.m4: New file, from gettext-0.11.
74420         * m4/lib-prefix.m4: New file, from gettext-0.11.
74421         * m4/progtest.m4: Upgrade to gettext-0.11.
74422
74423 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74424
74425         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
74426         (jm_PREREQ): Use it.
74427
74428 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74429
74430         * lib/posixver.c, lib/posixver.h: New files.
74431         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74432
74433 2002-02-02  Paul Eggert  <eggert@twinsun.com>
74434             Bruno Haible  <bruno@clisp.org>
74435
74436         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
74437         (fwrite_success_callback): New declaration.
74438         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
74439         print_unicode_char. Call failure callback instead of error.
74440         (fwrite_success_callback): New function.
74441         (exit_failure_callback): New function.
74442         (fallback_failure_callback): New function.
74443         (print_unicode_char): Call unicode_to_mb.
74444
74445 2002-01-26  Jim Meyering  <meyering@lucent.com>
74446
74447         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
74448         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
74449
74450 2002-01-26  Jim Meyering  <meyering@lucent.com>
74451
74452         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
74453
74454 2002-01-22  Paul Eggert  <eggert@twinsun.com>
74455
74456         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
74457
74458 2002-01-22  Jim Meyering  <meyering@lucent.com>
74459
74460         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
74461         Otherwise, some versions of automake would omit the rule that makes
74462         Makefile from Makefile.in.
74463
74464 2002-01-21  Paul Eggert  <eggert@twinsun.com>
74465
74466         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
74467         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74468         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
74469         (memcoll): Set errno to zero if there is no error.
74470
74471         * lib/quotearg.c (quotearg_buffer_restyled):
74472         Fix bug with quoting buffers containing NUL when backslashing escapes.
74473         This bug was exposed by the other changes in this patch.
74474         (quotearg_n_options): New arg ARGSIZE.
74475         All callers changed.
74476         (quoting_options_from_style): New function.
74477         (quotearg_n_style): Use it.
74478         (quotearg_n_style_mem): New function.
74479
74480         * lib/quotearg.h (quotearg_n_style_mem): New function.
74481
74482 2002-01-19  Jim Meyering  <meyering@lucent.com>
74483
74484         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
74485         Remove useless quotes: DF_PROG="df".
74486         * m4/strnlen.m4: New file.
74487
74488 2002-01-16  Paul Eggert  <eggert@twinsun.com>
74489
74490         * lib/backupfile.c (ISDIGIT): Comment fix.
74491         * lib/getdate.y (ISDIGIT): Likewise.
74492         * lib/posixtm.c (ISDIGIT, year): Likewise.
74493         * lib/strverscmp.c (ISDIGIT): Likewise.
74494         * lib/userspec.c (ISDIGIT): Likewise.
74495
74496 2002-01-16  Jim Meyering  <meyering@lucent.com>
74497
74498         * lib/getdate.y: Add three semicolons, each just before a closing
74499         brace. Bison (as of version 1.31) no longer papers over that mistake.
74500
74501 2002-01-05  Jim Meyering  <meyering@lucent.com>
74502
74503         * lib/version-etc.c (version_etc_copyright): Update copyright year.
74504
74505 2001-12-19  Paul Eggert  <eggert@twinsun.com>
74506
74507         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
74508         not silently exit merely because the output buffer happens to
74509         have nothing pending.
74510
74511 2001-12-18  Paul Eggert  <eggert@twinsun.com>
74512
74513         See the big note in ../ChangeLog.
74514         * lib/human.c (suffixes): Prefer K to k for 1024.
74515         (generate_suffix_backwards): New function.
74516         (human_readable_inexact): Use it.
74517         * lib/xstrtol.c (__xstrtol): If there is no number but there
74518         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
74519         Accept 'K' as well as 'k'.
74520
74521 2001-12-15  Jim Meyering  <meyering@lucent.com>
74522
74523         * lib/regex.h (__restrict_arr): Update from libc.
74524
74525         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
74526         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
74527         (STREQ): Define.
74528
74529 2001-12-14  Jim Meyering  <meyering@lucent.com>
74530
74531         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
74532         Suggestion from Bruno Haible.
74533
74534 2001-12-10  Jim Meyering  <meyering@lucent.com>
74535
74536         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
74537         xrealloc, Instead, include "xalloc.h".
74538         (initbuffer): Don't cast xmalloc return value to char*.
74539         (readline): Reword comment.
74540         Don't cast xrealloc return value to char*
74541         Return NULL, not 0.
74542
74543 2001-12-09  Jim Meyering  <meyering@lucent.com>
74544
74545         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
74546         about `signed and unsigned type in conditional expression'.
74547         * lib/posixtm.c (posix_time_parse): Likewise.
74548
74549         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
74550
74551         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
74552         to avoid a pedantic warning.
74553
74554         * lib/getstr.c: Don't include assert.h.
74555         (getstr): Remove warning-evoking assertions.
74556         Return -1 if offset parameter is out of bounds.
74557         Change the type of a local from int to size_t.
74558
74559         * lib/strftime.c (my_strftime_localtime_r): Include this function
74560         definition in the `#if ! HAVE_TM_GMTOFF' block.
74561
74562         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
74563         Include xalloc.h instead.
74564
74565 2001-12-02  Jim Meyering  <meyering@lucent.com>
74566
74567         * lib/tempname.c: Don't declare getenv, thus reverting the change of
74568         2001-11-18.  It's no longer necessary, now that stdlib.h is always
74569         included.
74570
74571         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
74572         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
74573
74574 2001-11-30  Akim Demaille  <akim@epita.fr>
74575
74576         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
74577         before being defined.
74578
74579 2001-11-27  Paul Eggert  <eggert@twinsun.com>
74580
74581         * lib/quotearg.h (quotearg_n, quotearg_n_style):
74582         First arg is int, not unsigned.
74583         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
74584         (SIZE_MAX, UINT_MAX): New macros.
74585         (quotearg_n_options): Abort if N is negative.
74586         Avoid overflow check on hosts where size_t is 64 bits and int
74587         is 32 bits, as overflow is impossible there.
74588         Fix off-by-one typo that caused unnecessary reallocation.
74589
74590 2001-11-27  Jim Meyering  <meyering@lucent.com>
74591
74592         * lib/tempname.c: Merge with version from libc.
74593         * lib/regex.c: Likewise.
74594
74595         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
74596         systems for which STDC_HEADERS is 0, it was not included, resulting in
74597         a warning about an integer-to-pointer conversion problem with getenv.
74598         Reported by Volker Borchert.
74599
74600 2001-11-26  Jim Meyering  <meyering@lucent.com>
74601
74602         * lib/gtod.h: Remove file.
74603         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
74604         * lib/gettimeofday.c: Don't include gtod.h.
74605         (GTOD_init): Remove function.
74606         (rpl_gettimeofday): Do its job here instead, rather than aborting.
74607         Suggestion from Volker Borchert.
74608
74609 2001-11-23  Jim Meyering  <meyering@lucent.com>
74610
74611         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
74612         it.
74613         * lib/hash.c (struct hash_table): Define it here instead.
74614
74615 2001-11-22  Jim Meyering  <meyering@lucent.com>
74616
74617         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
74618
74619 2001-11-20  Jim Meyering  <meyering@lucent.com>
74620
74621         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
74622         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
74623
74624 2001-11-19  Jim Meyering  <meyering@lucent.com>
74625
74626         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
74627         directory.  Use "conftestXXXXXX" as the template.
74628         Suggestion from Paul Eggert.
74629
74630         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
74631         immediately, so the test doesn't mistakenly hit the max-open-files
74632         limit.
74633
74634 2001-11-18  Paul Eggert  <eggert@twinsun.com>
74635
74636         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
74637         (TEMPORARIES): New macro.
74638         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
74639         removes an artificial limitation (e.g. HP-UX 10.20, where
74640         TMP_MAX is 17576).
74641
74642 2001-11-18  Jim Meyering  <meyering@lucent.com>
74643
74644         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
74645
74646 2001-11-18  Jim Meyering  <meyering@lucent.com>
74647
74648         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
74649         on SunOS 4.
74650
74651         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
74652         files will be created before anything else.
74653
74654 2001-11-17  Paul Eggert  <eggert@twinsun.com>
74655
74656         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
74657         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
74658
74659 2001-11-17  Jim Meyering  <meyering@lucent.com>
74660
74661         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
74662         Prompted by a report from Bob Proulx.
74663
74664         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
74665         Instead, require UTILS_FUNC_MKSTEMP.
74666
74667 2001-11-17  Jim Meyering  <meyering@lucent.com>
74668
74669         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
74670         Now, that's done as part of AC_FUNC_STRTOD.
74671
74672 2001-11-17  Jim Meyering  <meyering@lucent.com>
74673
74674         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
74675         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
74676         rather than group writable.  Patch by Juan F. Codagnone.
74677
74678         * lib/readtokens.c: Remove explicit declarations of xmalloc and
74679         xrealloc, Instead, include "xalloc.h".
74680
74681         * lib/mountlist.c: Include unlocked-io.h after all system headers.
74682         Remove explicit declarations of xmalloc, xrealloc,
74683         and xstrdup.  Instead, include "xalloc.h".
74684
74685         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74686         unlocked-io.h.
74687         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74688         Likewise.
74689         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74690
74691         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74692         Reported by Padraig Brady.
74693
74694         * lib/mkstemp.c: #undef mkstemp.
74695         Include config.h.
74696         (rpl_mkstemp): Rename from mkstemp.
74697         Protoize.
74698
74699 2001-11-16  Jim Meyering  <meyering@lucent.com>
74700
74701         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74702         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74703         determine the amount of total physical memory, use pstat_getstatic.
74704         HPUX-11 doesn't define _SC_PHYS_PAGES.
74705         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74706         If sysconf couldn't be used to determine the amount of available
74707         physical memory, use both pstat_getstatic and pstat_getdynamic.
74708         Based on a patch from Bob Proulx.
74709
74710 2001-11-10  Jim Meyering  <meyering@lucent.com>
74711
74712         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74713         (jm_PREREQ): Use it.
74714
74715 2001-11-09  Jim Meyering  <meyering@lucent.com>
74716
74717         * m4/jm-macros.m4: Require autoconf-2.52f.
74718         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74719         Use these AC_-prefixed names, not the AM_-prefixed ones.
74720
74721         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74722
74723 2001-11-05  Jim Meyering  <meyering@lucent.com>
74724
74725         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74726
74727 2001-11-04  Jim Meyering  <meyering@lucent.com>
74728
74729         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74730         $DEFS.
74731
74732 2001-11-03  Jim Meyering  <meyering@lucent.com>
74733
74734         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74735         of AC_DEFUN.
74736
74737         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74738         know the name of the variable in the macro definition.
74739
74740 2001-11-03  Jim Meyering  <meyering@lucent.com>
74741
74742         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74743         in argmatch_to_argument call.
74744
74745         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74746         argument.
74747
74748         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74749         e.g., a fault due to an attempt to free a NULL pointer.
74750
74751 2001-11-01  Jim Meyering  <meyering@lucent.com>
74752
74753         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74754         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74755
74756 2001-11-01  Jim Meyering  <meyering@lucent.com>
74757
74758         * lib/dirfd.c, lib/dirfd.h: New files.
74759         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74760
74761         * lib/hash.c (hash_print) [TESTING]: Clean up.
74762
74763 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74764
74765         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74766         to avoid a warning if -Wall.
74767
74768 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74769
74770         * README: New file
74771         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74772         (per RMS's instructions, this is now the canonical source)
74773         * lgpl/, gpl/: New directories.
74774
74775 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74776
74777         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74778
74779 2001-10-21  Jim Meyering  <meyering@lucent.com>
74780
74781         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74782         this code would end up calling gettext even in packages built
74783         with --disable-nls.
74784         * lib/getopt.c (_): Likewise.
74785         * lib/regex.c (_): Likewise.
74786
74787 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74788
74789         * m4/error.m4 (jm_PREREQ_ERROR):
74790         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74791         AC_FUNC_STRERROR_R does that.
74792         Check for strerror declaration.
74793
74794         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74795         are supposed to have them these days.
74796         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74797         Merge changes from latest Autoconf CVS.
74798         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74799         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74800         POSIX decided to standardize on the int flavor of strerror_r.
74801
74802 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74803
74804         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74805         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74806         Use strerror_r that is only a macro, even if it is not a function.
74807         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74808         (private_strerror): Use prototypes, not old-style function definition.
74809         (print_errno_message): New function.
74810         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74811         char*-flavored one.
74812         (error_tail, error, error_at_line): Use it.
74813
74814 2001-10-11  Jim Meyering  <meyering@lucent.com>
74815
74816         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74817         and quote_n (1, ... to avoid clobbering a buffer.
74818
74819 2001-10-05  Jim Meyering  <meyering@lucent.com>
74820
74821         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74822         hash-pjw.h.
74823         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74824         * lib/hash-pjw.h: New file.
74825
74826 2001-09-30  Jim Meyering  <meyering@lucent.com>
74827
74828         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74829         `struct fsstat' has the `f_fstypename' member.
74830         Use that to define FS_TYPE, which is now used to make
74831         the getfsstat link test tighter.
74832
74833 2001-09-30  Jim Meyering  <meyering@lucent.com>
74834
74835         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74836         Include <sys/ucred.h>, for Apple Darwin.
74837         Include sys/mount.h and sys/fs_types.h only if available.
74838         (FS_TYPE): Define.
74839         (read_filesystem_list): Use FS_TYPE.
74840
74841 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74842
74843         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74844         a boolean context.
74845
74846 2001-09-29  Jim Meyering  <meyering@lucent.com>
74847
74848         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74849         [one-argument getmntent function]): Include stdio.h before mntent.h.
74850         SunOS 4.1.x needs it for the declaration of `FILE'.
74851         Patch by Volker Borchert.
74852
74853         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74854         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74855         sys/fs_types.h, and make the link-test for getfsstat guard #include
74856         directives with appropriate #if HAVE_*_H tests so that we can
74857         detect getfsstat on Apple Darwin1.3.7 systems.
74858         Reported by Nelson Beebe.
74859         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74860
74861 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74862
74863         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74864         #defines strtoimax.  Also treat the other strto* functions
74865         like strtoimax.
74866
74867         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74868         Check for strtoul and strtoumax,
74869         as those declarations are made even in the signed case.
74870         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74871         Likewise, for strtol and strtoimax.
74872
74873 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74874
74875         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74876         #defines strtoimax.  Also treat the other strto* functions
74877         like strtoimax.
74878
74879         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74880         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74881         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74882
74883 2001-09-26  Jim Meyering  <meyering@lucent.com>
74884
74885         Most macros in unlocked-io.h had the wrong number of arguments.
74886         * lib/gen-uio: New script.
74887         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74888         * lib/unlocked-io.hin: Remove file.
74889         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74890         rather than trying to embed it here.
74891         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74892         Reported by Padraig Brady.
74893
74894 2001-09-25  Volker Borchert  <bt@teknon.de>
74895
74896         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74897         `result'.
74898
74899 2001-09-24  Jim Meyering  <meyering@lucent.com>
74900
74901         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74902
74903 2001-09-23  Jim Meyering  <meyering@lucent.com>
74904
74905         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74906         instead of the mere test for existence of mntent.h.  The latter
74907         would get a false-positive on AIX 3.4 systems.
74908         In the outer getmntent if-block, don't die if neither of the getmntent
74909         tests succeeds.  Instead, just fall through and continue with the
74910         remaining tests.
74911
74912 2001-09-23  Jim Meyering  <meyering@lucent.com>
74913
74914         * lib/mountlist.c: Remove useless parentheses in #if directives.
74915         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74916         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74917
74918 2001-09-22  Jim Meyering  <meyering@lucent.com>
74919
74920         * m4/gettext.m4: New file.  From gettext.
74921         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
74922         * m4/progtest.m4: Likewise
74923         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
74924         * m4/glibc21.m4: Likewise.
74925
74926         * m4/libintl.m4: Remove.  No longer used.
74927
74928 2001-09-22  Jim Meyering  <meyering@lucent.com>
74929
74930         * lib/localcharset.c: Update from latest gettext.
74931         * lib/config.charset: Likewise.
74932
74933 2001-09-20  Jim Meyering  <meyering@lucent.com>
74934
74935         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
74936         strtoimax.
74937         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
74938         strtoumax.
74939
74940 2001-09-20  Jim Meyering  <meyering@lucent.com>
74941
74942         * lib/xstrtol.c (strtoimax): Guard declaration with
74943         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
74944         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
74945         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
74946         (strtoumax): Likewise, for completeness (it wasn't necessary).
74947
74948 2001-09-17  Paul Eggert  <eggert@twinsun.com>
74949
74950         * lib/strtoimax.c (HAVE_LONG_LONG):
74951         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
74952         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
74953         to work around bug in IBM C compiler.
74954
74955 2001-09-17  Jim Meyering  <meyering@lucent.com>
74956
74957         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
74958         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
74959         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
74960         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
74961         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
74962         whenever the right hand side need not be expanded by the shell.
74963
74964 2001-09-16  Paul Eggert  <eggert@twinsun.com>
74965
74966         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
74967         library.  It's not correct, as some older glibcs are buggy.
74968         fnmatch wasn't fixed until glibc 2.2.
74969
74970         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
74971         special shell magic here.
74972
74973 2001-09-16  Jim Meyering  <meyering@lucent.com>
74974
74975         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
74976         * m4/jm-macros.m4: Require it.
74977
74978 2001-09-16  Jim Meyering  <meyering@lucent.com>
74979
74980         * lib/mkdir.c: New file.
74981
74982 2001-09-15  Jim Meyering  <meyering@lucent.com>
74983
74984         * m4/jm-macros.m4: Check for help2man.
74985
74986 2001-09-11  Jim Meyering  <meyering@lucent.com>
74987
74988         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
74989         The body, by Paul Eggert, was moved here from configure.in.
74990         * m4/jm-macros.m4: Require UTILS_HOST_OS.
74991
74992 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74993
74994         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
74995         (jm_PREREQ): Use it.
74996
74997 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74998
74999         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
75000         Use ssize_t, not int, to store result of readlink.
75001         Check for ssize_t overflow as well as size_t overflow,
75002         as POSIX says the result of readlink is implementation-defined
75003         when ssize_t overflows.
75004         Remove unnecessary cast to char*.
75005         Use free+malloc instead of realloc, as the storage doesn't need
75006         to be preserved and it's clearer and can be more efficient that way.
75007         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
75008         * lib/xreadlink.h (xreadlink): Update prototype.
75009
75010 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75011
75012         * lib/xgetcwd.c: Revert some of the previous change; intead,
75013         fix the HAVE_GETCWD_NULL code to behave more like the
75014         !HAVE_GETCWD_NULL code used to.
75015
75016         Include "xalloc.h".
75017         (xgetcwd): Do not return NULL when memory is exhausted; instead,
75018         invoke xalloc_die.
75019
75020 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75021
75022         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
75023         sys/param.h, as pathmax.h includes them.
75024
75025 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75026
75027         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
75028         (jm_PREREQ_XGETCWD): New macro.
75029
75030         * m4/getcwd.m4: New file.
75031
75032 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75033
75034         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
75035         like the HAVE_GETCWD_NULL code.
75036         Include pathmax.h if not HAVE_GETCWD.
75037         Do not include xalloc.h.
75038         (INITIAL_BUFFER_SIZE): New symbol.
75039         Do not use xmalloc / xrealloc, since the caller is responsible for
75040         handling errors.  Preserve errno around `free' during failure.
75041         Do not overrun buffer when using getwd.
75042
75043 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75044
75045         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
75046         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
75047         getcwd (NULL, 0).
75048
75049 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75050
75051         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
75052         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
75053         spotted by Jim Meyering.
75054
75055 2001-09-03  Jim Meyering  <meyering@lucent.com>
75056
75057         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
75058         failure.
75059
75060 2001-09-02  Jim Meyering  <meyering@lucent.com>
75061
75062         * lib/error.c: Update from GNU libc.
75063
75064 2001-09-01  Jim Meyering  <meyering@lucent.com>
75065
75066         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
75067         Used by df.
75068
75069 2001-09-01  Jim Meyering  <meyering@lucent.com>
75070
75071         * lib/xreadlink.c: New file.
75072         * lib/xreadlink.h: New file.
75073         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
75074         xreadlink.h.
75075
75076         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
75077         doesn't conflict with sparc Solaris 7's definition in
75078         /usr/include/sys/int_types.h.
75079
75080         * lib/exclude.c: Use `""', not `<>' to #include non-system header
75081         files.
75082         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
75083         and strncasecmp as r-values.  Unixware didn't have declarations.
75084
75085 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75086
75087         * lib/xstrtol.h: Add copyright notice.
75088         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
75089         LONGINT_INVALID_SUFFIX_CHAR.
75090
75091 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75092
75093         * lib/xstrtol.c (strtoimax): New decl.
75094
75095 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75096
75097         * lib/xgetcwd.c: Don't include pathmax.h.
75098         Include stdlib.h and unistd.h if available.
75099         Include xalloc.h.
75100         (xmalloc, xstrdup, free): Remove decls.
75101         (xgetcwd): Don't assume sizes fit in unsigned.
75102         Check for overflow when computing sizes.
75103         Simplify reallocation code.
75104
75105 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75106
75107         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
75108         a directory's st_size can have an arbitrary value, so the old
75109         usage could waste an arbitrary amount of memory.  All uses
75110         changed.
75111         * lib/savedir.h: Update prototype.
75112
75113 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75114
75115         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
75116
75117         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
75118         old strtoimax.c.
75119
75120         Also, make the following further changes to make this file's
75121         configuration more similar to that of strtol.c:
75122         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
75123         (strtoumax, uintmax_t, strtoull, strtol): Remove.
75124         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
75125         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
75126         changed to signed values.
75127
75128         And make the following changes as well:
75129         Fix copyright notice, as 1999 was missing.
75130         (verify): New macro.
75131         (strtoimax): Check sizes at compile-time, not run-time.
75132         Prefer strtol to strtoll if both work.
75133         (main): Remove; it was not that useful and was a pain to maintain.
75134
75135         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
75136
75137 2001-08-31  Jim Meyering  <meyering@lucent.com>
75138
75139         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
75140         Use an initial, malloc'd, buffer of length 128 rather than
75141         a statically allocated one of length 1024.
75142
75143 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75144
75145         Simplify code, partly by assuming autoconf 2.52 semantics.
75146
75147         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
75148
75149         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
75150         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
75151         All uses removed.
75152         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
75153         Move AC_REQUIRE to next-to-top level, to avoid confusion.
75154         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
75155         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
75156         jm_AC_HEADER_INTTYPES_H.
75157         * m4/jm-macros.m4 (jm_MACROS): Likewise.
75158
75159         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
75160
75161         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75162         Quote first arg of AC_DEFUN.
75163         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
75164         since they are needed to parse the include file even if we need
75165         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
75166         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
75167         but with opposite signedness.
75168
75169 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75170
75171         Merge 'exclude' changes from tar 1.13.22.
75172         This fixes one or two unlikely storage allocation overflow bugs,
75173         but doesn't change user-visible behavior otherwise.
75174
75175 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75176
75177         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
75178         (jm_PREREQ_EXCLUDE): New macro.
75179
75180 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75181
75182         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
75183         tm to be declared.
75184
75185 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75186
75187         * lib/hash.c: Remove '2001' from copyright notice.
75188
75189 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75190
75191         * lib/full-write.h: New file.
75192         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
75193         * lib/full-write.c: Correct credits, as cccp.c no longer
75194         exists and anyway it was so heavily changed from the old cccp
75195         code as to be unrecognizable.  Include full-write.h.
75196         (full_write) Return size_t, with short writes meaning failure.
75197         All callers changed.  This fixes a bug with large buffers
75198         on 64-bit hosts.
75199         * lib/utime.c: Include full-write.h.
75200
75201 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75202
75203         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
75204         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
75205         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
75206         Include if available.
75207         (<xalloc.h>): Include
75208         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
75209         (verify): New macro.  Use it to verify that EXCLUDE macros do not
75210         collide with FNM macros.
75211         (struct patopts): New struct.
75212         (struct exclude): Use it, as exclude patterns now come with options.
75213         (new_exclude): Support above changes.
75214         (new_exclude, add_exclude_file):
75215         Initial size must now be a power of two to simplify overflow checking.
75216         (free_exclude, fnmatch_no_wildcards): New function.
75217         (excluded_filename): No longer requires options arg, as the options
75218         are determined by add_exclude.  Now returns bool, not int.
75219         (excluded_filename, add_exclude):
75220         Add support for the fancy new exclusion options.
75221         (add_exclude, add_exclude_file): Now takes int options arg.
75222         Check for arithmetic overflow when computing sizes.
75223         (add_exclude_file): xrealloc might modify errno, so don't
75224         realloc until after errno might be used.
75225
75226         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
75227         New macros.
75228         (free_exclude): New decl.
75229         (add_exclude, add_exclude_file): Now takes int options arg.
75230         (excluded_filename): No longer requires options arg, as the options
75231         are determined by add_exclude.  Now returns bool, not int.
75232
75233 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75234
75235         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
75236
75237 2001-08-27  Jim Meyering  <meyering@lucent.com>
75238
75239         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
75240
75241         * lib/version-etc.c (N_): Remove definition.
75242         Revert most of last change.
75243         Instead, simply don't mark the `Copyright...' string for translation.
75244         Based on advice from Paul Eggert.
75245
75246         * lib/strtoxmax.c: Tweak comment.
75247
75248 2001-08-26  Jim Meyering  <meyering@lucent.com>
75249
75250         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
75251
75252         * m4/xstrtoimax.m4: New file.
75253         * m4/xstrtoumax.m4: Add comments explaining why we
75254         AC_REPLACE_FUNCS(strtol).
75255
75256 2001-08-26  Jim Meyering  <meyering@lucent.com>
75257
75258         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
75259         of copyright with `%s' so translators don't get an untranslated
75260         message in 2002.
75261         (COPYRIGHT_YEAR): Define.
75262         (version_etc): Use fprintf rather than fputs.
75263         Suggestion from Ulrich Drepper.
75264
75265         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
75266
75267         * lib/strtoll.c: New file, from GNU libc.
75268         * lib/xstrtoimax.c: New file.
75269
75270         * lib/xstrtol.h: Add xstrtoimax.
75271         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
75272         * lib/strtoimax.c: New file.  Likewise, but first define
75273         STRTOUXMAX_SIGNED.
75274
75275         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
75276         ...
75277         * lib/strtoxmax.c: ... then renamed to this.
75278
75279 2001-08-18  Paul Eggert  <eggert@twinsun.com>
75280
75281         * m4/inttypes.m4: Add AC_PREREQ(2.13).
75282         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
75283         (jm_AC_TYPE_INTMAX_T): New macro.
75284         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
75285
75286         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
75287
75288         * m4/longlong.m4: Renamed from ulonglong.m4.
75289         * m4/inttypes.m4: Renamed from inttypes_h.m4.
75290         * m4/uintmax_t.m4: Removed.
75291
75292 2001-08-13  Paul Eggert  <eggert@twinsun.com>
75293
75294         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
75295         Port to Solaris 8, where 'sed' requires a space after the 'r'
75296         command, and where sh dislikes "$/".  Clean up the spacing a bit.
75297         Redirect output to $tmp just once.
75298
75299 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
75300
75301         * lib/addext.c (<errno.h>): Include.
75302         (errno): Declare if not defined.
75303         (addext): Work correctly when pathconf returns -1 and leaves
75304         errno alone because there is no limit.  Also, work even if
75305         pathconf returns a value greater than SIZE_MAX.
75306
75307 2001-08-12  Jim Meyering  <meyering@lucent.com>
75308
75309         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
75310         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
75311         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
75312         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
75313         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
75314         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
75315         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
75316         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
75317         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
75318         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
75319         utime.m4, utimes.m4, xstrtoumax.m4:
75320         Quote the first argument in each use of AC_DEFUN.
75321
75322 2001-08-12  Jim Meyering  <meyering@lucent.com>
75323
75324         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
75325         Simply `return getcwd (NULL, 0);'.
75326         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
75327         Use 1300 as initial value for length, not PATH_MAX.
75328
75329         * lib/pathmax.h: Clean up cpp syntax.
75330
75331 2001-08-12  Jim Meyering  <meyering@lucent.com>
75332
75333         * lib/gettimeofday.c: New file.
75334         * lib/gtod.h: New file.
75335         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
75336
75337 2001-08-05  Jim Meyering  <meyering@lucent.com>
75338
75339         * m4/jm-macros.m4: Require autoconf-2.52.
75340
75341 2001-08-04  Jim Meyering  <meyering@lucent.com>
75342
75343         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
75344         stmt, to get in sync with glibc.
75345
75346 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75347
75348         The following changes are from gettext 0.10.39 as maintained by
75349         Bruno Haible.
75350
75351         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
75352         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
75353         with inverted sense.  All uses changed.
75354
75355         * lib/mbswidth.c: Don't include <limits.h>.
75356         Include <stdlib.h> and <string.h> unconditionally.
75357         (iswcntrl, mbsinit, ISCNTRL): New macros.
75358         (mbsnwidth): Use K&R style function declarations.
75359         Don't bother checking for MB_LEN_MAX == 1, since the compiler
75360         can optimize it when MB_CUR_MAX == 1.
75361         The width of control characters is zero, not 1.
75362
75363 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75364
75365         The following changes are from gettext 0.10.39 as maintained by
75366         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
75367
75368         * m4/codeset.m4: Upgrade to serial AM1.
75369         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
75370         all uses changed.  Quote first arg of AC_DEFUN.
75371         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
75372
75373         * m4/iconv.m4: Upgrade to serial AM2.
75374         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
75375         Add --with-libconv-prefix.
75376         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
75377         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
75378         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
75379         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
75380         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
75381
75382         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
75383         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
75384         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
75385         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
75386         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
75387         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
75388         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
75389         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
75390         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75391
75392         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
75393         string.h any more.
75394
75395         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
75396         not the default value.
75397
75398         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
75399         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
75400         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
75401         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
75402         Also check for iswcntrl, used for wcwidth fallback.
75403         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
75404         to Autoconf 2.13.
75405
75406 2001-08-03  Jim Meyering  <meyering@lucent.com>
75407
75408         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
75409         as it was in the original.  Reported by Paul Eggert.
75410
75411 2001-07-16  Jim Meyering  <meyering@lucent.com>
75412
75413         * m4/gettimeofday.m4: New file.
75414         Prompted by a report from Bernhard Baehr.
75415
75416 2001-07-15  Jim Meyering  <meyering@lucent.com>
75417
75418         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
75419         stuff. Now it's in ../Makefile.cfg.
75420
75421 2001-07-15  Jim Meyering  <meyering@lucent.com>
75422
75423         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
75424         (BUILT_SOURCES): Add unlocked-io.h.
75425         (io_functions): Define.
75426         (unlocked-io.h): New rule.
75427         (DISTCLEANFILES): Add unlocked-io.h.
75428         (all-local): Depend on unlocked-io.h, to ensure it is created.
75429
75430         * lib/unlocked-io.hin: New file
75431
75432         * lib/regex.c: Update from glibc.
75433
75434 2001-07-05  Jim Meyering  <meyering@lucent.com>
75435
75436         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
75437         recommendation.
75438         (libfetish_a_SOURCES): Put all .h files here instead.
75439         Remove a thus-exposed (better checks in automake) duplicate and
75440         two unnecessary .h files.
75441
75442 2001-07-04  Jim Meyering  <meyering@lucent.com>
75443
75444         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
75445         that generates jm-glibc-io.m4 so that it doesn't trigger any make
75446         distcheck failure.
75447
75448 2001-07-02  Jim Meyering  <meyering@lucent.com>
75449
75450         The following changes were prompted by suggestions from Bruno Haible.
75451
75452         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
75453         is now generated.
75454         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
75455         definition of EXTRA_DIST.
75456         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
75457         ensure that the generated file is created/updated whenever the list
75458         of $(unlocked_functions) is changed.
75459         (jm-glibc-io.m4): New rule.
75460         (unlocked-io.h): New rule -- currently unused.
75461
75462 2001-06-24  Jim Meyering  <meyering@lucent.com>
75463
75464         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
75465         unmatched right bracket, rather than kludging it with an extra,
75466         falsely-matching quote in a comment.  Patch by Akim Demaille.
75467
75468 2001-06-11  Jim Meyering  <meyering@lucent.com>
75469
75470         * lib/regex.c: Update from GNU libc.
75471
75472 2001-05-27  Jim Meyering  <meyering@lucent.com>
75473
75474         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
75475         Check for ut_type in struct utmp.
75476
75477 2001-05-27  Jim Meyering  <meyering@lucent.com>
75478
75479         * lib/readutmp.h (UT_TYPE): Define.
75480
75481 2001-05-24  Jim Meyering  <meyering@lucent.com>
75482
75483         * lib/argmatch.c: Include "quote.h".
75484         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
75485         quote function.  Reported by Göran Uddeborg.
75486
75487 2001-05-22  Jim Meyering  <meyering@lucent.com>
75488
75489         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
75490         now that we use the package-supplied version unconditionally.
75491         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
75492
75493 2001-05-21  Jim Meyering  <meyering@lucent.com>
75494
75495         * m4/regex.m4: Change a couple backticks to single quotes to avoid
75496         shell syntax errors.
75497
75498 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75499
75500         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
75501
75502 2001-05-20  Paul Eggert  <eggert@twinsun.com>
75503
75504         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
75505         Don't bother to check library strftime, since
75506         we'll be using our own my_strftime function anyway.
75507         Define my_strftime instead of strftime.
75508
75509 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
75510
75511         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
75512         which is not yet declared.
75513
75514 2001-05-15  Jim Meyering  <meyering@lucent.com>
75515
75516         * m4/regex.m4: Use proper quoting so brackets appear in the test
75517         program.
75518         Reported by, and with help from, Bruno Haible.
75519
75520 2001-05-13  Jim Meyering  <meyering@lucent.com>
75521
75522         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
75523         undefined.
75524
75525 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75526
75527         dirname code cleanup.  base_name now behaves more compatibly
75528         with POSIX basename when given file names that have trailing
75529         slashes, and similarly for dir_name.  Add new primitives
75530         base_len and dir_len.  Put the directory-name-related decls
75531         into dirname.h.
75532
75533         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
75534         * lib/backupfile.c (base_name): Likewise.
75535         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
75536         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
75537         * lib/makepath.c (strip_trailing_slashes): Likewise.
75538         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
75539         ISSLASH): Likewise.
75540         * lib/rename.c (strip_trailing_slashes): Likewise.
75541         * lib/same.c (base_name): Likewise.
75542         * lib/stripslash.c (ISSLASH): Likewise.
75543
75544         * lib/addext.c: Include <dirname.h> after size_t is defined.
75545         * lib/backupfile.c: Likewise.
75546
75547         * lib/addext.c (addext): Use base_len to trim redundant
75548         trailing slashes instead of doing it ourselves.
75549         But do not trim the last slash if it is not redundant.
75550
75551         * lib/backupfile.c (find_backup_file_name,
75552         max_backup_version): Use base_len instead of rolling it ourselves.
75553         Handle the case of "" and (on DOS) "C:" correctly.
75554
75555         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
75556         needed. Include <string.h>, <dirname.h>.
75557         (base_name): Allow file names ending in slashes, other than names
75558         that are all slashes.  In this case, return the basename followed
75559         by the slashes.  This is more general, and can be used in places
75560         where the original base_name purposely had an assertion failure.
75561         (base_len): New function.
75562
75563         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
75564         Do not include <assert.h>; no longer needed.
75565         Include xalloc.h.
75566         (memrchr): Remove decl.
75567         (dir_name_r): Remove.
75568         (dir_len): Renamed from dirlen.  All callers changed.
75569         Rewrite in terms of base_name, for simplicity and consistency.
75570         (dir_name): Never return NULL.  All callers changed.
75571         Do not include <stdlib.h> in test program; no longer needed.
75572         return 0; is fine for test program.
75573
75574         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
75575         New macros.
75576         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
75577
75578         * lib/path-concat.c (path_concat): Use base_len to compute
75579         base length, not strlen; this means we cannot rely on memcpy
75580         to null-terminate.
75581
75582         * lib/same.c (STREQ): Remove.
75583         (same_name): Handle the case where the basename ends in trailing '/'.
75584
75585         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
75586         a slash was stripped.  Do not strip the last slash after a
75587         file system prefix.
75588
75589 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75590
75591         * lib/Makefile.am (libfetish_a_SOURCES):
75592         Add strftime.c, since we now compile it on all hosts.
75593
75594         * lib/strftime.c (my_strftime):
75595         Define to nstrftime if emacs, but only if my_strftime is not defined.
75596         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
75597         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
75598         Add one more extra argument: a nanoseconds value.
75599         All uses changed.
75600         (ns): New macro.
75601         (my_strftime function): Add %N format.
75602         (emacs_strftimeu): Renamed from emacs_strftime,
75603         with extra ut argument.
75604
75605 2001-05-09  Paul Eggert  <eggert@twinsun.com>
75606
75607         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
75608
75609 2001-04-21  Jim Meyering  <meyering@lucent.com>
75610
75611         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
75612         doesn't interfere.
75613
75614 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75615
75616         * m4/ftruncate.m4: Check for chsize.
75617         Link with ftruncate.o unconditionally if ftruncate is missing.
75618         This was required when cross-compiling to i586-mingw32msvc.
75619
75620 2001-04-08  Jim Meyering  <meyering@lucent.com>
75621
75622         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
75623         recomputed; that's necessary when the offset spans a DST transition.
75624         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
75625
75626 2001-04-02  Jim Meyering  <meyering@lucent.com>
75627
75628         * lib/regex.h, regex.c: Update from GNU libc.
75629
75630 2001-03-24  Jim Meyering  <meyering@lucent.com>
75631
75632         * m4/jm-macros.m4: Require autoconf-2.49d.
75633
75634 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
75635
75636         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
75637
75638 2001-03-19  Paul Eggert  <eggert@twinsun.com>
75639
75640         * lib/version-etc.c (version_etc_copyright): Update to 2001.
75641
75642 2001-03-17  Jim Meyering  <meyering@lucent.com>
75643
75644         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
75645         now that the version in autoconf is equivalent.
75646         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
75647
75648         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
75649         Suggestion from Akim Demaille.
75650
75651         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
75652         (jm_PREREQ_TEMPNAME): New function.
75653
75654 2001-03-16  Paul Eggert  <eggert@twinsun.com>
75655
75656         * lib/tempname.c (uint64_t): Define to uintmax_t if
75657         not defined, and if UINT64_MAX is not defined.
75658         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
75659         Reported by John David Anglin.
75660
75661 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
75662
75663         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
75664         resolve alias if codeset is empty.
75665         * lib/config.charset (BeOS): Use wildcard syntax.
75666
75667 2001-03-13  Jim Meyering  <meyering@lucent.com>
75668
75669         * lib/path-concat.c (path_concat)
75670         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
75671         concatenating e.g., `C:' and `foo'.
75672         From Bruno Haible.
75673
75674 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75675
75676         * lib/localcharset.c (locale_charset): Don't use
75677         setlocale(LC_CTYPE,NULL). Don't return NULL.
75678         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
75679
75680 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75681
75682         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
75683         support for DOS/DJGPP.
75684
75685 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75686
75687         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75688         lacks mkstemp.  Compile our own tempname.c if we compile our own
75689         mkstemp.c, as mkstemp relies on tempname.
75690
75691 2001-03-01  Jim Meyering  <meyering@lucent.com>
75692
75693         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75694         AH_VERBATIM really does output its argument verbatim.
75695
75696 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75697
75698         * lib/Makefile.am (libfetish_a_SOURCES):
75699         Add dup-safer.c, fopen-safer.c.
75700         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75701
75702         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75703         * lib/unistd-safer.h: New files.
75704
75705 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75706
75707         The mkstemp replacement is taken from glibc 2.2.2, with some
75708         portability fixes for use outside glibc, as follows:
75709
75710         * lib/tempname.c (struct_stat64): New macro.
75711         (direxists, __gen_tempname): Use it.
75712         This avoids a portability problem with Solaris 8.
75713
75714         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75715         (<stddef.h>, <stdint.h>, <string.h>):
75716         Include only if STDC_HEADERS || _LIBC.
75717         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75718         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75719         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75720         (__set_errno): Define this macro if <errno.h> doesn't.
75721         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75722         Define these macros if <stdio.h> doesn't.
75723         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75724         Define these macros if <sys/stat.h>
75725         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75726         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75727         __xstat64): Define if not _LIBC.
75728         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75729         (__gen_tempname): Invoke gettimeofday only if
75730         HAVE_GETTIMEOFDAY || _LIBC;
75731         otherwise, fall back on plain "time".
75732         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75733
75734         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75735
75736         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75737
75738 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75739
75740         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75741
75742 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75743
75744         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75745         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75746         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75747         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75748
75749 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75750
75751         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75752         Remove workaround macros for hosts that have mbrtowc but not
75753         mbstate_t, as we now insist on proper declarations for both
75754         before using mbrtowc.
75755
75756 2001-02-17  Jim Meyering  <meyering@lucent.com>
75757
75758         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75759         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75760         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75761         UnixWare 7.1.1.
75762
75763         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75764         rather than AC_CACHE_VAL.
75765
75766 2001-02-17  Jim Meyering  <meyering@lucent.com>
75767
75768         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75769         around included file name.
75770
75771         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75772
75773         * lib/strftime.c: Update from GNU libc (the only changes were to
75774         comments).
75775
75776 2001-02-17  Jim Meyering  <meyering@lucent.com>
75777
75778         * lib/regex.c: Update from libc.
75779
75780 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75781
75782         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75783         clash.
75784
75785 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75786
75787         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75788         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75789         Reported by Mark Hounschell via Paul Eggert.
75790
75791 2001-02-07  Jim Meyering  <meyering@lucent.com>
75792
75793         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75794
75795 2001-02-05  Jim Meyering  <meyering@lucent.com>
75796
75797         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75798         it includes the patch required for `large file' support with at least
75799         HP-UX's 10.20 /bin/cc.
75800
75801 2001-02-03  Jim Meyering  <meyering@lucent.com>
75802
75803         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75804         AS_IF, now that it works once again (mysteriously).
75805         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75806
75807 2001-01-30  Jim Meyering  <meyering@lucent.com>
75808
75809         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75810         * m4/chown.m4: Rename conftestchown to conftest.chown.
75811         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75812         s/conftestdir2/conftest.d2/.
75813         * m4/utimes.m4: s/conftestdata/conftest.data/
75814         Inspired by Pavel Roskin's change in autoconf.
75815
75816 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75817
75818         * lib/config.charset: Update for FreeBSD 4.2.
75819
75820 2001-01-27  Jim Meyering  <meyering@lucent.com>
75821
75822         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75823         a use of AS_IF.
75824         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75825
75826 2001-01-26  Jim Meyering  <meyering@lucent.com>
75827
75828         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75829         quotearg.c includes it.
75830
75831 2001-01-26  Jim Meyering  <meyering@lucent.com>
75832
75833         * lib/quotearg.c: Include stddef.h.
75834         * lib/quote.c: Include stddef.h.
75835         Reported by Axel Kittenberger.
75836
75837         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75838         line in double quotes so that it evokes a better diagnostic.
75839         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75840         Reported by Axel Kittenberger.
75841
75842 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75843
75844         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75845         as if it was a `charset'.
75846
75847 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75848
75849         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75850         has const.
75851
75852 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75853
75854         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75855         to avoid a warning.  Add back 'const' to inptr.
75856
75857 2001-01-20  Jim Meyering  <meyering@lucent.com>
75858
75859         Be sure that headers are checked before used in code compiled
75860         for the type checks.
75861         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75862         In place of that, invoke jm_CHECK_ALL_TYPES.
75863         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75864         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75865         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75866         The check for ssize_t was mistakenly run before the test for unistd.h.
75867
75868         The configure-time check for stdbool.h was missing.
75869         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75870         (jm_PREREQ_HASH): New function.
75871
75872 2001-01-17  Jim Meyering  <meyering@lucent.com>
75873
75874         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75875         for autoconf-2.49c.
75876         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75877
75878 2001-01-16  Jim Meyering  <meyering@lucent.com>
75879
75880         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75881         From Bruno Haible.
75882
75883 2001-01-14  Jim Meyering  <meyering@lucent.com>
75884
75885         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75886         foo and bar.  Create conftestdir/ in the script, not in the C code.
75887         Remove directories in the script, not in the C code.
75888         Remove conftestdir{,2} before trying to create the directory.
75889         Make the entire configure script fail if the mkdir fails.
75890
75891 2001-01-14  Jim Meyering  <meyering@lucent.com>
75892
75893         * lib/rename.c: New file.  From Volker Borchert.
75894         Include stdlib.h, string.h or strings.h, and xalloc.h.
75895         Use strip_trailing_slashes rather than open-coding it.
75896
75897 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75898
75899         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75900
75901 2001-01-03  Jim Meyering  <meyering@lucent.com>
75902
75903         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75904         of local `inptr' to avoid warning with some system declarations of
75905         iconv.
75906
75907 2001-01-02  Volker Borchert  <bt@teknon.de>
75908
75909         * m4/rename.m4: New file.
75910         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75911
75912 2001-01-01  Jim Meyering  <meyering@lucent.com>
75913
75914         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75915         even on systems with utmpx.h.  It's necessary for the declaration of
75916         utmp's ut_user member.  Reported by Andreas Jaeger.
75917
75918         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75919         available. They are required for the declarations of getgrgid and
75920         getpwuid resp.
75921         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
75922         Reported by Andreas Jaeger.
75923
75924 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
75925
75926         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
75927         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
75928         so `make install' also works in VPATH builds.
75929
75930 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
75931
75932         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
75933         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
75934         can be used in subdirectories.
75935
75936 2000-12-29  Paul Eggert  <eggert@twinsun.com>
75937
75938         * lib/modechange.c: Do not assume that mode_t uses the
75939         traditional octal encoding.  E.g. "chmod 1 FOO" should set
75940         the other-execute bit of FOO even if S_IXOTH != 1.
75941
75942         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
75943         WOTH, XOTH, ALLM): New macros.
75944         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
75945          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
75946         Use them.
75947         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
75948         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
75949         (mode_compile):
75950         No need to use uintmax_t; unsigned long is long enough.
75951         Don't bother to get suffix since we don't use it.
75952
75953 2000-12-26  Jim Meyering  <meyering@lucent.com>
75954
75955         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
75956         better with autoheader.
75957
75958 2000-12-24  Jim Meyering  <meyering@lucent.com>
75959
75960         * lib/hash.c (is_prime): Return explicit boolean values.
75961         (hash_get_first): Return NULL to appease Irix5.6's 89.
75962         Reported by Nelson Beebe.
75963
75964 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
75965
75966         * lib/localcharset.c (locale_charset): Add support for Win32.
75967
75968 2000-12-18  Paul Eggert  <eggert@twinsun.com>
75969
75970         * lib/physmem.h, lib/physmem.c: New files.
75971
75972         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
75973         (noinst_HEADERS): Add physmem.h.
75974
75975         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
75976         't' for compatibility with Solaris 8 sort.
75977
75978 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
75979
75980         * lib/config.charset: Add support for BeOS.
75981
75982 2000-12-17  Jim Meyering  <meyering@lucent.com>
75983
75984         * m4/dos.m4 (jm_AC_DOS): New file and macro.
75985         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
75986
75987 2000-12-16  Jim Meyering  <meyering@lucent.com>
75988
75989         This bug had a serious impact on chown: `chown N:M FILE' (for integer
75990         N and M) would have treated it like `chown N:N FILE'.
75991
75992         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
75993
75994 2000-12-16  Jim Meyering  <meyering@lucent.com>
75995
75996         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
75997         SHELLS_FILE to a file name that's useful on djgpp systems.
75998         Include stdlib.h.
75999         (ADDITIONAL_DEFAULT_SHELLS): Define.
76000         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
76001         Based mostly on a patch from Prashant TR.
76002
76003 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
76004
76005         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
76006         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
76007         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
76008
76009 2000-12-08  Andreas Schwab  <schwab@suse.de>
76010
76011         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
76012         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
76013
76014 2000-12-07  Jim Meyering  <meyering@lucent.com>
76015
76016         * lib/stripslash.c (ISSLASH): Define.
76017         (strip_trailing_slashes): Use ISSLASH rather than comparing against
76018         `/'.
76019         From Prashant TR.
76020
76021         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76022         (dir_name_r): Declare this function as static.
76023         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
76024         manifest itself on a name containing a mix of slashes and
76025         backslashes.
76026         Make this function work with names starting with a DOS-style
76027         drive letter and colon prefix.
76028         (dir_name): Append `.' if necessary.
76029         Based mostly on patches from Prashant TR and Eli Zaretskii.
76030
76031         * lib/dirname.h (dir_name_r): Remove prototype.
76032
76033 2000-12-06  Paul Eggert  <eggert@twinsun.com>
76034
76035         * m4/off_t-format.m4: Remove this file.
76036         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
76037
76038 2000-12-06  Jim Meyering  <meyering@lucent.com>
76039
76040         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
76041         replacement strtoull, we may well need the replacement strtoul, too.
76042         Check for declarations of strtoul and strtoull.
76043         Check for strtol.  Mainly as a cue to cause automake to include
76044         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
76045         Check for limits.h -- strtol.c needs it.
76046
76047 2000-12-05  Jim Meyering  <meyering@lucent.com>
76048
76049         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
76050
76051 2000-12-04  Jim Meyering  <meyering@lucent.com>
76052
76053         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
76054         Also include memory.h, stdlib.h, unistd.h if appropriate.
76055         Reported by Andreas Jaeger (conflicting declaration of malloc).
76056
76057 2000-12-02  Jim Meyering  <meyering@lucent.com>
76058
76059         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
76060         * m4/jm-macros.m4 (jm_MACROS): require it.
76061
76062 2000-12-02  Jim Meyering  <meyering@lucent.com>
76063
76064         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
76065
76066 2000-12-01  Paul Eggert  <eggert@twinsun.com>
76067
76068         * lib/memrchr.c: Include <config.h> before any system include file.
76069
76070 2000-11-30  Jim Meyering  <meyering@lucent.com>
76071
76072         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
76073
76074 2000-11-30  Jim Meyering  <meyering@lucent.com>
76075
76076         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
76077
76078 2000-11-29  Paul Eggert  <eggert@twinsun.com>
76079
76080         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
76081
76082 2000-11-26  Jim Meyering  <meyering@lucent.com>
76083
76084         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
76085
76086 2000-11-22  Paul Eggert  <eggert@twinsun.com>
76087
76088         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
76089         size of (size_t) -1; it's not portable.
76090
76091 2000-11-17  Jim Meyering  <meyering@lucent.com>
76092
76093         * lib/strstr.c: Update from GNU libc.
76094
76095 2000-11-17  Akim Demaille  <akim@epita.fr>
76096
76097         * lib/obstack.h: Formatting changes.
76098         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
76099         prevent type checking.
76100         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
76101         cast the value to (void *): assigning a `foo *' to a `void *'
76102         variable is valid.
76103         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
76104
76105 2000-11-16  Jim Meyering  <meyering@lucent.com>
76106
76107         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
76108
76109 2000-11-11  Jim Meyering  <meyering@lucent.com>
76110
76111         * lib/error.c: Add a couple #includes, merging from GNU libc version.
76112
76113 2000-11-10  Jim Meyering  <meyering@lucent.com>
76114
76115         * lib/obstack.h: Update from GNU libc.
76116         * lib/obstack.c: Likewise.
76117
76118 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
76119
76120         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
76121
76122 2000-11-06  Paul Eggert  <eggert@twinsun.com>
76123
76124         * lib/getusershell.c (setusershell): Use rewind rather than
76125         fseek/fseeko, to avoid configuration hassles with fseeko.
76126         Don't bother opening SHELLS_FILE if shellstream is NULL;
76127         it's not necessary.
76128
76129 2000-11-05  Jim Meyering  <meyering@lucent.com>
76130
76131         * lib/makepath.h (make_dir): Declare.
76132         * lib/makepath.c (make_dir): Remove `static' attribute.
76133         Tweak a comment.
76134
76135 2000-11-04  Jim Meyering  <meyering@lucent.com>
76136
76137         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
76138
76139 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
76140
76141         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
76142         last one in a bucket, advance to the next bucket.
76143
76144 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
76145
76146         * lib/fnmatch.c: Do not comment out all the code if we are using
76147         the GNU C library, because in some cases we are replacing buggy
76148         code in the GNU C library itself.
76149
76150 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
76151
76152         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
76153         (regex_compile): Catch bogus \(\1\).
76154
76155 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76156
76157         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
76158         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
76159         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
76160
76161 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76162
76163         * lib/error.h, getline.h, modechange.h:
76164         Remove "2000" from Copyright line, as the file hasn't been
76165         changed this year other than in the copyright notice.
76166
76167         * lib/xalloc.h: Add "2000" to Copyright line, as this file
76168         was changed this year.
76169
76170 2000-10-29  Jim Meyering  <meyering@lucent.com>
76171
76172         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
76173         renaming.
76174         * m4/ls-mntd-fs.m4: Likewise
76175
76176 2000-10-29  Jim Meyering  <meyering@lucent.com>
76177
76178         * lib/xstat.in: Fix grammar in comment.
76179
76180 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
76181
76182         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
76183         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
76184         doesn't define __restrict_arr.
76185
76186 2000-10-28  Jim Meyering  <meyering@lucent.com>
76187
76188         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
76189         (jm_PREREQ_MEMCHR): New function.
76190
76191 2000-10-28  Jim Meyering  <meyering@lucent.com>
76192
76193         * lib/memchr.c: Update from libc.
76194         Adjust for portability:
76195         [HAVE_STDLIB_H]: Include stdlib.h.
76196         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
76197         Undef __memchr, too.
76198         [!weak_alias]: Define __memchr to memchr.
76199
76200         * lib/regex.c: Update from libc.
76201         * lib/regex.h: Likewise.
76202         * lib/getopt1.c: Likewise.
76203         * lib/memcmp.c: Likewise.
76204
76205         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
76206         Avoid using fseek, when possible -- it's broken by design.
76207         Patch by Ulrich Drepper.
76208
76209 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
76210
76211         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
76212         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
76213         Giving in to popular pressure to shut up the compiler with casts.
76214
76215 2000-10-26  Jim Meyering  <meyering@lucent.com>
76216
76217         * lib/strftime.c: Update from libc.
76218
76219 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
76220
76221         * regex.c: More `unsigned char' -> `re_char' changes.
76222         Also change several `int' into `re_wchar_t'.
76223         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
76224         (PUSH_FAILURE_POINTER): Don't cast any more.
76225         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
76226         We want GCC to complain, since this piece of code makes
76227         re_match non-reentrant, which *should* be fixed.
76228         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
76229         (EXTEND_BUFFER): Use RETALLOC.
76230         (SET_LIST_BIT): Don't cast.
76231         (re_wchar_t): New type.
76232         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
76233         that those two functions will always properly return.
76234         (IMMEDIATE_QUIT_CHECK): Cast to void.
76235         (analyse_first): Use recursion rather than an explicit stack.
76236         (re_compile_fastmap): Can't fail anymore.
76237         (re_search_2): Don't check re_compile_fastmap for failure.
76238         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
76239         Now also sets the new value (passed in a new argument).
76240         (re_match_2_internal): Use it.
76241         Also, use a new var `reg' of type size_t when looping through regs
76242         rather than reuse the inappropriate `mcnt'.
76243
76244 2000-10-25  Jim Meyering  <meyering@lucent.com>
76245
76246         * lib/obstack.c: Update from libc.
76247
76248 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
76249
76250         * regex.c (regex_compile): Change the way of handling a range from
76251         a char less than 256 to a char not less than 256.
76252
76253 2000-10-24  Andrew Innes  <andrewi@gnu.org>
76254
76255         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
76256         NT-Emacs only.
76257         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
76258         so that re_search functions only quit when callers expect them to.
76259
76260 2000-10-23  Jim Meyering  <meyering@lucent.com>
76261
76262         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
76263         wrong.  That set_locale call must not have any side effects.
76264         From Paul Eggert.
76265
76266 2000-10-22  Jim Meyering  <meyering@lucent.com>
76267
76268         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
76269         [CYCLIC]: Remove now-unused definition.
76270
76271         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
76272         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
76273         Suggestion from Ulrich Drepper.
76274
76275 2000-10-21  Jim Meyering  <meyering@lucent.com>
76276
76277         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
76278         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
76279         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
76280
76281 2000-10-21  Jim Meyering  <meyering@lucent.com>
76282
76283         * lib/dirname.c (memrchr): Declare if necessary.
76284         (dir_name): Remove the restriction that there be no
76285         trailing slashes.  Now, this code skips past them, effectively
76286         ignoring them.
76287         [TEST_DIRNAME] (main): New unit tests.
76288
76289         * lib/memrchr.c: New file from GNU libc.
76290         Undef __memrchr, too.
76291         [!weak_alias]: Define __memrchr to memrchr.
76292         Guard weak_alias use with `#ifdef weak_alias'.
76293
76294 2000-10-21  Jim Meyering  <meyering@lucent.com>
76295
76296         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
76297         (dir_name): Use dir_name_r.
76298         * lib/dirname.h (dir_name_r): Declare it.
76299
76300 2000-10-17  Jim Meyering  <meyering@lucent.com>
76301
76302         * lib/quote.h (PARAMS): Define and use.
76303         Reported by Akim Demaille.
76304
76305         * lib/getopt.c: Update from libc.
76306
76307 2000-10-16  Jim Meyering  <meyering@lucent.com>
76308
76309         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
76310         setlocale.
76311         From Jan Fedak.
76312
76313 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
76314
76315         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
76316
76317 2000-09-25  Jim Meyering  <meyering@lucent.com>
76318
76319         * lib/md5.h (rol): Define (from GnuPG).
76320
76321         * lib/sha.c: Give credit (GnuPG) where due.
76322         (M): Use rol rather than open-coding it.
76323         Add a FIXME comment.
76324
76325 2000-09-21  Jim Meyering  <meyering@lucent.com>
76326
76327         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
76328         Reported by Michael Stone.
76329
76330 2000-09-20  Jim Meyering  <meyering@lucent.com>
76331
76332         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
76333         (noinst_HEADERS): Add sha.h.
76334         Based on code from Scott G. Miller and from GnuPG.
76335
76336 2000-09-18  Jim Meyering  <meyering@lucent.com>
76337
76338         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
76339         LIBS. Otherwise, everyone ends up linking with -lelf for some
76340         configurations.
76341         Reported by Mike Stone.
76342
76343 2000-09-15  Jim Meyering  <meyering@lucent.com>
76344
76345         * lib/regex.c: Update from libc.
76346
76347 2000-09-10  Jim Meyering  <meyering@lucent.com>
76348
76349         * lib/getopt.c (_getopt_internal): Update from glibc.
76350
76351 2000-09-09  Jim Meyering  <meyering@lucent.com>
76352
76353         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
76354         think it should be used as a general replacement for isascii.
76355         * lib/fnmatch.c: Likewise.
76356         * lib/mbswidth.c: Likewise
76357         * lib/regex.c: Likewise.
76358
76359         Don't use atoi.
76360         * lib/userspec.c: Include sys/param.h and limits.h.
76361         Include xstrtol.h.
76362         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76363         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
76364         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
76365         UID, GID.  Check range.
76366
76367 2000-09-06  Jim Meyering  <meyering@lucent.com>
76368
76369         * lib/getopt.c (_getopt_internal): Update from glibc.
76370
76371 2000-08-30  Jim Meyering  <meyering@lucent.com>
76372
76373         * lib/strftime.c: Merge in changes from GNU libc.
76374
76375 2000-08-26  Jim Meyering  <meyering@lucent.com>
76376
76377         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
76378         * m4/fpending.m4: New file.
76379
76380 2000-08-26  Jim Meyering  <meyering@lucent.com>
76381
76382         * lib/closeout.c: Include "__fpending.h".
76383         (close_stdout_status): Return right away if there's nothing to flush.
76384
76385         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
76386         * lib/__fpending.c: New file.
76387         * lib/__fpending.h: New file.
76388
76389 2000-08-20  Jim Meyering  <meyering@lucent.com>
76390
76391         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
76392         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
76393         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
76394
76395 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
76396
76397         Improve fileutils installation on systems where running
76398         programs (like install) can't be unlinked.
76399         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
76400         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
76401
76402 2000-08-07  Paul Eggert  <eggert@twinsun.com>
76403
76404         Standardize on "memory exhausted" instead of "Memory exhausted"
76405         or "virtual memory exhausted".
76406         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
76407         "virtual memory exhausted".
76408         * lib/same.c (same_name): Invoke xalloc_die instead of printing
76409         our own message.
76410         * lib/userspec.c (parse_user_spec): Likewise.
76411         * lib/bumpalloc.h: comment fix
76412         * lib/same.c, userspec.c: Include xalloc.h.
76413
76414         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
76415         not char *const and pointing to a constant array.
76416         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
76417         (xrealloc): Comment fix.
76418
76419         * lib/userspec.c (parse_user_spec):
76420         Don't translate a message until just before returning,
76421         to avoid unnecessary translation.
76422
76423 2000-08-07  Jim Meyering  <meyering@lucent.com>
76424
76425         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
76426         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
76427         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
76428         getgroups.c, gethostname.c, getopt.h, group-member.c,
76429         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
76430         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
76431         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
76432         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
76433         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
76434         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
76435         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
76436         yesno.c: Back out Copyright date changes for each file with no change
76437         this year.  This eases coordination with other programs using the same
76438         source code modules.  From Paul Eggert.
76439
76440 2000-08-06  Paul Eggert  <eggert@twinsun.com>
76441
76442         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
76443         not char, for compatibility with glibc 2.1.3 strftime.c.
76444
76445 2000-08-03  Greg McGary  <greg@mcgary.org>
76446
76447         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
76448         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
76449         (EXTEND_BUFFER): Use them.
76450
76451 2000-08-01  Jim Meyering  <meyering@lucent.com>
76452
76453         * lib/dirname.c (ISSLASH): Define.
76454         (BACKSLASH_IS_PATH_SEPARATOR): Define.
76455         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
76456         both `\' and `/' may be use as path separators.
76457         Based on a patch from Prashant TR.
76458
76459 2000-07-31  Paul Eggert  <eggert@twinsun.com>
76460
76461         * lib/quotearg.c (quotearg_n_options): Don't make the initial
76462         slot vector a constant, since it might get modified.
76463
76464 2000-07-31  Jim Meyering  <meyering@lucent.com>
76465
76466         * lib/xmalloc.c: Use `virtual memory exhausted', not
76467         `Memory exhausted'.
76468         * lib/obstack.c (print_and_abort): Likewise.
76469
76470 2000-07-30  Paul Eggert  <eggert@twinsun.com>
76471
76472         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
76473         buffer, so that the caller can always quote one small
76474         component of a "memory exhausted" message in slot 0.
76475         From a suggestion by Jim Meyering.
76476
76477 2000-07-30  Jim Meyering  <meyering@lucent.com>
76478
76479         * lib/makepath.c (make_path): Quote the other instance, too.
76480
76481         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
76482         (STATIC_BUF_SIZE): Define.
76483         (quotearg_n_options): Use only statically allocated storage when
76484         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
76485         than STATIC_BUF_SIZE.
76486
76487 2000-07-29  Jim Meyering  <meyering@lucent.com>
76488
76489         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
76490         * lib/dirname.c (dir_name): Likewise.
76491
76492         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
76493         `/'.
76494
76495         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
76496         (dir_name): Assert that there are no trailing slashes.
76497
76498 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
76499
76500         * lib/mbswidth.h (mbswidth): Add a flags argument.
76501         (mbswidth): New declaration.
76502         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
76503         * lib/mbswidth.c (mbswidth): Add a flags argument.
76504         (mbsnwidth): New function.
76505
76506 2000-07-24  Jim Meyering  <meyering@lucent.com>
76507
76508         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
76509
76510 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76511
76512         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
76513
76514 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76515
76516         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
76517         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
76518         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
76519         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
76520         invoke multibyte primitives.
76521
76522 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76523
76524         * lib/quotearg.c:
76525         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
76526         so that mbstate_t is always defined.
76527
76528         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
76529         be 1 in at least one GCC installation, and this configuration
76530         error is likely to be common.  Ignoring MB_LEN_MAX hurts
76531         performance on hosts that have mbrtowc but have only unibyte
76532         locales, but I assume these hosts are rare.
76533
76534 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76535
76536         * lib/mbswidth.c (_XOPEN_SOURCE):
76537         Don't define; this causes problems on Solaris 7.
76538         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
76539
76540 2000-07-23  Jim Meyering  <meyering@lucent.com>
76541
76542         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
76543         too: getgrgid, getpwuid, getuid.
76544
76545 2000-07-23  Jim Meyering  <meyering@lucent.com>
76546
76547         * lib/basename.c (base_name): Add an assertion.
76548
76549 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
76550
76551         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
76552         shadow its mbsinit function.
76553
76554 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76555
76556         * lib/mbswidth.h: New file.
76557         * lib/mbswidth.c: New file.
76558         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
76559         (noinst_HEADERS): Add mbswidth.h.
76560
76561 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76562
76563         * lib/config.charset: Add support for FreeBSD. Improve support for
76564         HP-UX and IRIX 6.
76565
76566 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
76567
76568         * m4/mbswidth.m4: New file.
76569         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
76570
76571 2000-07-15  Jim Meyering  <meyering@lucent.com>
76572
76573         * lib/makepath.c: Include quote.h.
76574         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
76575         corresponding argument in a `quote (...)' call.
76576         Give better diagnostics.
76577
76578         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
76579         (noinst_HEADERS): Add quote.h.
76580
76581         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
76582         from tar's src/misc.c.
76583         * lib/quote.h: New file.  Prototypes for same.
76584
76585 2000-07-14  Paul Eggert  <eggert@twinsun.com>
76586
76587         From a suggestion by Bruno Haible.
76588         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
76589         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
76590         to decide whether to define the BeOS workaround macro;
76591         this adjusts to the change to AC_MBSTATE_T.
76592
76593 2000-07-14  Jim Meyering  <meyering@lucent.com>
76594
76595         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
76596         jm_AC_TYPE_UINTMAX_T.
76597
76598 2000-07-13  Paul Eggert  <eggert@twinsun.com>
76599
76600         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
76601
76602         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
76603         quotearg_buffer_restyled): Add support for
76604         clocale_quoting_style.  Undo previous change to
76605         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
76606         and "{RIGHT QUOTATION MARK}" msgids.
76607
76608 2000-07-10  Paul Eggert  <eggert@twinsun.com>
76609
76610         From a suggestion by Bruno Haible.
76611         * m4/mbstate_t.m4 (AC_MBSTATE_T):
76612         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
76613         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
76614         and mbstate_t, to a single-part test that simply defines mbstate_t.
76615         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
76616         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
76617
76618 2000-07-10  Jim Meyering  <meyering@lucent.com>
76619
76620         * m4/strerror_r.m4: Mirror the correction made in autoconf.
76621
76622         * m4/gnu-source.m4: Output to confdefs.h directly.
76623         Suggestion from Akim Demaille.
76624
76625 2000-07-09  Paul Eggert  <eggert@twinsun.com>
76626
76627         The old behavior of quoting `like this' doesn't look good with
76628         newer, ISO-style fonts.  See:
76629         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
76630
76631         Instead, quote "like this" by default.  Let the translator
76632         tailor the locale-specific quoting behavior by providing
76633         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
76634
76635         * lib/quotearg.c (N_): New macro.
76636         (gettext_default): New function.
76637         (quotearg_buffer_restyled): Use
76638         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
76639         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
76640
76641 2000-07-09  Jim Meyering  <meyering@lucent.com>
76642
76643         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
76644         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
76645
76646         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
76647         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
76648
76649 2000-07-09  Jim Meyering  <meyering@lucent.com>
76650
76651         * lib/Most files: Update copyright dates to include 2000.
76652
76653 2000-07-08  Jim Meyering  <meyering@lucent.com>
76654
76655         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
76656         if not defined.
76657         (xgethostname): Remove now-unnecessary #ifdef.
76658         Move declaration of `err' into loop where it's used.
76659
76660 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76661         and Bruno Haible  <haible@clisp.cons.org>
76662
76663         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
76664         only if the test for an object-type mbstate_t fails.  This
76665         prevents us from mistakenly reporting that mbstate_t is a
76666         system object type after we "#define mbstate_t int" to work
76667         around its lack.
76668
76669 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76670         and Bruno Haible  <haible@clisp.cons.org>
76671
76672         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
76673
76674 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76675
76676         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
76677         to strerror_r.
76678         Include <ctype.h> for use of isalpha.
76679
76680 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76681
76682         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
76683         by allocating a larger buffer. Test the gethostname return value for
76684         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
76685         returns an error and ENAMETOOLONG isn't defined.
76686
76687 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76688
76689         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76690         dimension.
76691
76692 2000-07-04  Jim Meyering  <meyering@lucent.com>
76693
76694         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76695         of the deprecated AC_CHECKING.
76696
76697 2000-07-04  Jim Meyering  <meyering@lucent.com>
76698
76699         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76700         Reported by Bruno Haible.
76701
76702 2000-07-04  Jim Meyering  <meyering@lucent.com>
76703
76704         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76705         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76706         lacks mbrtowc.
76707
76708 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76709
76710         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76711         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76712
76713 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76714         and Bruno Haible  <haible@clisp.cons.org>
76715
76716         * lib/quotearg.c (mbrtowc):
76717         Assign to *pwc, and return 1 only if result is nonzero.
76718         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76719
76720 2000-07-03  Jim Meyering  <meyering@lucent.com>
76721
76722         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76723
76724 2000-07-03  Jim Meyering  <meyering@lucent.com>
76725
76726         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76727         This is necessary to get a definition of e.g., UTMP_FILE on
76728         HP-UX 10.20.
76729         From Bob Proulx.
76730
76731 2000-07-02  Jim Meyering  <meyering@lucent.com>
76732
76733         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76734
76735         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76736         AC_LIBOBJ(function_name).
76737         * m4/chown.m4: Likewise.
76738         * m4/fnmatch.m4: Likewise.
76739         * m4/ftruncate.m4: Likewise.
76740         * m4/getgroups.m4: Likewise.
76741         * m4/getline.m4: Likewise.
76742         * m4/group-member.m4: Likewise.
76743         * m4/jm-macros.m4: Likewise.
76744         * m4/lstat.m4: Likewise.
76745         * m4/malloc.m4: Likewise.
76746         * m4/memcmp.m4: Likewise.
76747         * m4/nanosleep.m4: Likewise.
76748         * m4/putenv.m4: Likewise.
76749         * m4/realloc.m4: Likewise.
76750         * m4/regex.m4: Likewise.
76751         * m4/stat.m4: Likewise.
76752         * m4/strftime.m4: Likewise.
76753
76754 2000-07-02  Jim Meyering  <meyering@lucent.com>
76755
76756         * lib/quotearg.c (mbstate_t): Don't define here.
76757
76758 2000-07-02  Jim Meyering  <meyering@lucent.com>
76759
76760         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76761
76762 2000-07-01  Jim Meyering  <meyering@lucent.com>
76763
76764         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76765
76766 2000-07-01  Jim Meyering  <meyering@lucent.com>
76767
76768         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76769         problem.
76770
76771 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76772
76773         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76774         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76775
76776 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76777
76778         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76779         per change in ../m4/ls-mntd-fs.m4.
76780         (read_filesystem_list): Ignore symbolic links.
76781
76782 2000-06-29  Jim Meyering  <meyering@lucent.com>
76783
76784         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76785         for declaration of strcmp.
76786
76787         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76788
76789         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76790         Avoid warning by casting result to `char *' to remove `const'.
76791
76792 2000-06-28  Jim Meyering  <meyering@lucent.com>
76793
76794         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76795         included by quotearg.c, for which we perform this test.  From
76796         Bruno Haible.
76797
76798 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76799
76800         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76801         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76802         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76803
76804 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76805
76806         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76807
76808 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76809
76810         savedir now sets errno on failure and invokes xmalloc to get memory.
76811         Fix a couple of other minor bugs while we're at it.
76812
76813         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76814         (NAMLEN): Remove macro.
76815         (malloc, realloc): Remove decls.
76816         (stpcpy): Likewise.
76817         ("xalloc.h"): Include.
76818         (NAME_SIZE_DEFAULT): New macro.
76819         (savedir): Use xmalloc / xrealloc to allocate memory.
76820         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76821         Skip "" directory entries.
76822         Use strlen to calculate directory entry length, since the old method
76823         is rarely used these days and isn't worth supporting.
76824         Don't use a pointer after freeing it.
76825         Check for integer overflow when calculating allocation size.
76826         Use memcpy to copy entries, instead of stpcpy.
76827         Set errno properly when returning NULL.
76828         Check for readdir error.
76829
76830 2000-06-26  Jim Meyering  <meyering@lucent.com>
76831
76832         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76833
76834 2000-06-25  Jim Meyering  <meyering@lucent.com>
76835
76836         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76837         Linux header bug when _XOPEN_SOURCE is defined to 500.
76838
76839 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76840
76841         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76842         deficiency.
76843
76844 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76845
76846         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76847         Include xalloc.h.
76848         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76849
76850 2000-06-24  Jim Meyering  <meyering@lucent.com>
76851
76852         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76853         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76854         for which strerror does return char*, but which lacks a conveniently
76855         accessible declaration of the function.  If the compile-test says
76856         strerror_r doesn't work, then resort to a `run'-test that works on
76857         BeOS and segfaults on DEC Unix.
76858
76859 2000-06-24  Jim Meyering  <meyering@lucent.com>
76860
76861         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76862
76863 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76864
76865         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76866         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76867
76868 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76869
76870         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76871         (mbrtowc, mbstate_t): Define substitutes if
76872         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76873         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76874         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76875
76876 2000-06-23  Jim Meyering  <meyering@lucent.com>
76877
76878         * m4/afs.m4: Add missing AC_MSG_RESULT.
76879         Reported by Bruno Haible.
76880
76881         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76882         Suggestion from Bruno Haible.
76883
76884 2000-06-23  Jim Meyering  <meyering@lucent.com>
76885
76886         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76887
76888 2000-06-21  Jim Meyering  <meyering@lucent.com>
76889
76890         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76891
76892 2000-06-21  Jim Meyering  <meyering@lucent.com>
76893
76894         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76895         (noinst_HEADERS): Add getstr.h.
76896
76897         * lib/getline.c (getstr): Move into a separate file.
76898         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76899         the following changes: new parameter, delim2; both delim[12]
76900         parameters have type `int', not `char'.  The latter would lose
76901         with 8-bit delimiters.
76902         * lib/getstr.h: New file.
76903
76904 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76905
76906         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76907         than 1024, return a memory chunk of least possible size, instead
76908         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76909         Use free/xmalloc instead of xrealloc to avoid copying for very long
76910         paths.
76911
76912 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76913
76914         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76915         the empty string.
76916
76917 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76918
76919         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76920         address, not strdup.  Include <stdlib.h> and don't declare free().
76921
76922 2000-06-19  Jim Meyering  <meyering@lucent.com>
76923
76924         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
76925
76926 2000-06-18  Jim Meyering  <meyering@lucent.com>
76927
76928         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
76929
76930         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
76931         `checking whether...' message to be consistent with that of the
76932         lstat test.
76933
76934 2000-06-18  Jim Meyering  <meyering@lucent.com>
76935
76936         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
76937         Besides, these days every porting target provides a mkdir function.
76938
76939         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
76940         needed. (this snippet comes from src/system.h).
76941
76942 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
76943
76944         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
76945
76946 2000-06-15  Paul Eggert  <eggert@twinsun.com>
76947
76948         * lib/human.c (adjust_value): New function.
76949         (human_readable_inexact): Apply rounding style even when
76950         printing approximate values.
76951
76952 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76953
76954         * lib/human.c (human_readable_inexact): Allow an input block
76955         size that is not a multiple of the output block size, and vice versa.
76956         Reported by Piergiorgio Sartor.
76957
76958 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76959
76960         * lib/getdate.y (get_date): Apply relative times after time
76961         zone indicator, not before.  Reported by Todd A. Jacobs.
76962
76963 2000-06-13  Jim Meyering  <meyering@lucent.com>
76964
76965         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
76966
76967         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
76968
76969 2000-06-12  Paul Eggert  <eggert@twinsun.com>
76970
76971         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
76972
76973 2000-06-12  Jim Meyering  <meyering@lucent.com>
76974
76975         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
76976         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
76977         optional argument.
76978         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
76979         the optional argument, `lib'.
76980
76981 2000-06-08  Jim Meyering  <meyering@lucent.com>
76982
76983         * m4/largefile.m4: Remove file (now that it's part of autoconf).
76984
76985 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76986
76987         Rewrite largefile configuration so that we don't need to run
76988         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
76989         AC_CANONICAL_HOST in configure.in -- jmm]
76990
76991         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
76992         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
76993         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
76994         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
76995         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
76996         All uses changed.
76997         Instead of inspecting the output of getconf, try to compile the
76998         test program without and with the macro definition.
76999         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
77000         for getconf.  Instead, check for the needed flags by compiling
77001         test programs.
77002
77003 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77004
77005         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
77006
77007 2000-06-04  Jim Meyering  <meyering@lucent.com>
77008
77009         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
77010         SunOS 4.1.4 for which gid_t is an unsigned type.
77011
77012 2000-06-03  Jim Meyering  <meyering@lucent.com>
77013
77014         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
77015         now that autoconf requires that.
77016
77017         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
77018         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
77019         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
77020
77021 2000-06-03  Jim Meyering  <meyering@lucent.com>
77022
77023         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
77024
77025 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77026
77027         * m4/glibc21.m4: New file.
77028         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
77029
77030 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77031
77032         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
77033         newer, don't install charset.alias.
77034         * lib/config.charset: Change the Linux/glibc rules so they become empty
77035         on glibc-2.1 or newer.
77036
77037 2000-06-02  Jim Meyering  <meyering@lucent.com>
77038
77039         * lib/mountlist.c: Back out last change.  Instead, do this...
77040         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
77041         me_dummy member using the same `ignore'-testing code.
77042         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
77043         fs_type strings.
77044         From Mark D. Roth.
77045
77046 2000-05-29  Jim Meyering  <meyering@lucent.com>
77047
77048         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
77049         mounts with the `ignore' attribute.  Based on a patch from
77050         Mark D. Roth.
77051
77052 2000-05-28  Jim Meyering  <meyering@lucent.com>
77053
77054         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
77055         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77056         * m4/stat.m4: Likewise.
77057         * m4/lstat.m4: Likewise.
77058         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
77059
77060         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
77061         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
77062
77063 2000-05-26  Jim Meyering  <meyering@lucent.com>
77064
77065         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
77066
77067 2000-05-24  Jim Meyering  <meyering@lucent.com>
77068
77069         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
77070         autoconf requires that.
77071         * m4/lib-check.m4: Likewise.
77072         * m4/jm-macros.m4: Likewise.
77073         * m4/strftime.m4: Likewise.
77074
77075         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
77076         AC_CHECK_DECLS, now that autoconf requires that.
77077
77078 2000-05-22  Jim Meyering  <meyering@lucent.com>
77079
77080         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77081         * m4/lstat.m4: Likewise.
77082
77083 2000-05-22  Jim Meyering  <meyering@lucent.com>
77084
77085         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
77086
77087 2000-05-20  Jim Meyering  <meyering@lucent.com>
77088
77089         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
77090         (jm_PREREQ): Use it.
77091
77092 2000-05-18  Jim Meyering  <meyering@lucent.com>
77093
77094         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
77095         back, too, since it may have been modified by allocate_entry.
77096         (hash_delete): Rewrite to use neither the assignment operator
77097         nor the comma operator in an if-expression.
77098
77099 2000-05-15  Paul Eggert  <eggert@twinsun.com>
77100
77101         * lib/closeout.c:
77102         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
77103         Remove; no longer needed.
77104         "quotearg.h": Add include.
77105         (file_name): Do not bother to explicitly initialize to NULL; it's less
77106         efficient on some hosts.
77107         (close_stdout_status): Remove test as to whether stdout was already
77108         closed; it breaks for the case "echo x | sort >&-".
77109         Quote file name colons.
77110         Do not assume that _("write error") lacks format strings.
77111
77112 2000-05-15  Jim Meyering  <meyering@lucent.com>
77113
77114         * lib/version-etc.c (version_etc_copyright): Update the copyright
77115         string used in all --version output.
77116
77117 2000-05-14  Jim Meyering  <meyering@lucent.com>
77118
77119         * lib/closeout.c (close_stdout_set_file_name): New function.
77120         (close_stdout_status): Use new file-scoped global.
77121         Return right away if fstat says the stdout file descriptor is invalid.
77122         * lib/closeout.h (close_stdout_set_file_name): Declare.
77123
77124 2000-05-10  Jim Meyering  <meyering@lucent.com>
77125
77126         * lib/closeout.c [default_exit_status]: New file-scoped variable.
77127         (close_stdout_set_status): New function.
77128         * lib/closeout.h (close_stdout_set_status): Declare.
77129
77130 2000-05-09  Jim Meyering  <meyering@lucent.com>
77131
77132         * m4/gettext.m4: Rename this...
77133         * m4/libintl.m4: ...to this.
77134
77135 2000-05-08  Jim Meyering  <meyering@lucent.com>
77136
77137         * lib/long-options.c: Don't include closeout.h.
77138         (parse_long_options): Don't call close_stdout for --version.
77139
77140 2000-05-06  Paul Eggert  <eggert@twinsun.com>
77141
77142         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
77143         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
77144         2.1.3 bug.  This avoids a clash when files like regex.c define
77145         _GNU_SOURCE.
77146
77147 2000-05-06  Jim Meyering  <meyering@lucent.com>
77148
77149         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
77150         (AC_REPLACE_FUNCS): Add strnlen.
77151
77152         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
77153         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
77154
77155         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
77156         AC_SEARCH_LIBS call for nanosleep.
77157         (LIB_NANOSLEEP): Set and AC_SUBST.
77158
77159 2000-05-06  Jim Meyering  <meyering@lucent.com>
77160
77161         * lib/strnlen.c: Undefine __strnlen and strnlen.
77162         [!weak_alias]: Define __strnlen to strnlen.
77163
77164         * lib/atexit.c: New file, from libiberty.
77165
77166 2000-05-06  Jim Meyering  <meyering@lucent.com>
77167
77168         * lib/closeout.c (close_stdout_status): Also check for errors on the
77169         stderr stream.
77170
77171 2000-05-05  Jim Meyering  <meyering@lucent.com>
77172
77173         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
77174         AC_SEARCH_LIBS call for clock_gettime.
77175         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
77176
77177         * m4/search-libs.m4: Update from autoconf.
77178
77179         su doesn't work on Solaris 2.6.
77180         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
77181         <shadow.h>.  Reported by Dragos Harabor.
77182
77183 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
77184
77185         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
77186         memcpy instead of xmalloc, xrealloc, path_concat.
77187         (locale_charset): Treat empty environment variables as absent.
77188         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
77189
77190 2000-05-04  Jim Meyering  <meyering@lucent.com>
77191
77192         * lib/getopt.c: Update from glibc.
77193         * lib/obstack.c: Likewise.
77194         * lib/obstack.h: Likewise.
77195         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
77196         file
77197
77198         * lib/regex.h: Likewise.
77199         * lib/strndup.c: Likewise.
77200         * lib/strnlen.c: New file, from glibc.
77201
77202 2000-05-03  Jim Meyering  <meyering@lucent.com>
77203
77204         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
77205
77206 2000-05-02  Paul Eggert  <eggert@twinsun.com>
77207
77208         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
77209         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
77210         compile-time test, rather than inspecting host and OS, to
77211         decide whether to define _LARGEFILE_SOURCE.
77212
77213 2000-05-01  Jim Meyering  <meyering@lucent.com>
77214
77215         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
77216
77217         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
77218         Based on a patch from Bruno Haible.
77219
77220 2000-05-01  Jim Meyering  <meyering@lucent.com>
77221
77222         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
77223
77224 2000-04-29  Jim Meyering  <meyering@lucent.com>
77225
77226         * lib/path-concat.c: Declare strdup only if it's not defined.
77227         * lib/canon-host.c: Likewise.
77228
77229 2000-04-28  Jim Meyering  <meyering@lucent.com>
77230
77231         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
77232         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
77233         is included first, then limits.h is included by locale.h by libintl.h.
77234         From John David Anglin.
77235
77236 2000-04-25  Jim Meyering  <meyering@lucent.com>
77237
77238         * lib/makepath.c (S_IRWXUGO): Define.
77239         (make_path): Always perform explicit chmod if MODE specifies any
77240         of the `special' permission bits.  Prompted by a bug report against
77241         install from Mate Wierdl and Joost van Baal.
77242
77243 2000-04-18  Jim Meyering  <meyering@lucent.com>
77244
77245         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
77246         (jm_PREREQ): Use it.
77247
77248 2000-04-18  Jim Meyering  <meyering@lucent.com>
77249
77250         * lib/README: New file.
77251
77252         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
77253         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
77254
77255 2000-04-17  Jim Meyering  <meyering@lucent.com>
77256
77257         Get it right :-)
77258         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
77259         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
77260         Suggestion from Akim Demaille.
77261
77262 2000-04-17  Jim Meyering  <meyering@lucent.com>
77263
77264         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
77265         the definition of it to rpl_strftime also defined-away the system's
77266         declaration.
77267
77268 2000-04-15  Jim Meyering  <meyering@lucent.com>
77269
77270         Use `C' to denote so-called `contiguous' files, the same way
77271         that tar does.
77272         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
77273         (ftypelet): Use S_ISCTG.
77274         From Michael Deutschmann.
77275
77276 2000-04-14  Jim Meyering  <meyering@lucent.com>
77277
77278         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
77279         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
77280         clobbered.
77281
77282 2000-04-14  Jim Meyering  <meyering@lucent.com>
77283
77284         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
77285
77286 2000-04-13  Jim Meyering  <meyering@lucent.com>
77287
77288         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
77289         AH_VERBATIM to insert required #ifndef into config.h.in.
77290         Suggestion from Akim Demaille.
77291
77292 2000-04-12  Jim Meyering  <meyering@lucent.com>
77293
77294         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
77295         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
77296         Christian Krackowizer.
77297
77298         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
77299         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
77300         (AC_SYS_LARGEFILE): Require.
77301         (AM_C_PROTOTYPES): Require.
77302
77303 2000-04-08  Jim Meyering  <meyering@lucent.com>
77304
77305         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
77306         names don't conflict.  Reported by Eli Zaretskii.
77307
77308 2000-04-07  Jim Meyering  <meyering@lucent.com>
77309
77310         * lib/putenv.c: Move inclusion of errno.h so it follows that of
77311         sys/types.h, to work around system header problems on AIX 3.2.5.
77312         From Bruno Haible.
77313
77314 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
77315
77316         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
77317         bug.  Deal with the different error behavior of Irix iconv.
77318
77319 2000-04-05  Paul Eggert  <eggert@twinsun.com>
77320
77321         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
77322         IRIX if the installer said otherwise.
77323
77324 2000-04-05  Jim Meyering  <meyering@lucent.com>
77325
77326         Portability tweaks required for ultrix4.3.
77327         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
77328         (jm_CHECK_DECLS): Add getutent to the list of functions.
77329         (_jm_DECL_HEADERS): Add utmpx.h.
77330         From John David Anglin.
77331
77332         * m4/strftime.m4: Back out the 2000-04-02 change.
77333         Instead of that change, simply undefine putenv in the test program.
77334
77335 2000-04-05  Jim Meyering  <meyering@lucent.com>
77336
77337         Portability tweaks required for ultrix4.3.
77338         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
77339         getutent.
77340         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
77341         * lib/canon-host.c: Declare strdup.
77342         * lib/path-concat.c: Likewise.
77343         From John David Anglin.
77344
77345 2000-04-04  Jim Meyering  <meyering@lucent.com>
77346
77347         Be more DOS 8.3-friendly.
77348         * lib/ref-add.sin: Renamed from ref-add.sed.in.
77349         * lib/ref-del.sin: Renamed from ref-del.sed.in.
77350         * lib/Makefile.am: Reflect renaming.
77351         Reported by Eli Zaretskii.
77352
77353         Use a temporary file name that won't clash with `charset.alias'
77354         in the DOS 8.3 name space.
77355         * lib/Makefile.am (charset_tmp): Define.
77356         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
77357         (uninstall-local): Likewise.
77358         Reported by Eli Zaretskii.
77359
77360 2000-04-03  Jim Meyering  <meyering@lucent.com>
77361
77362         * m4/gettext.m4: Fix typo in comment.
77363
77364         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
77365         textutils/configure.in).  Suggestion from Paul Eggert.
77366         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
77367
77368 2000-04-02  Paul Eggert  <eggert@twinsun.com>
77369
77370         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
77371         variable in the shell rather than using putenv, which isn't
77372         portable.  This avoids the configure-time inter-test dependency
77373         on the potentially-renamed putenv function.
77374
77375 2000-03-30  Paul Eggert  <eggert@twinsun.com>
77376
77377         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
77378         before checking struct stat.st_blksize, so that
77379         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
77380
77381 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77382
77383         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
77384         since strftime.c uses HAVE_STRFTIME to decide whether to use
77385         the underlying strftime.
77386
77387 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77388
77389         * lib/time/strftime.c (my_strftime): Make sure we call the system
77390         strftime, not ourselves, when invoking the underlying strftime.
77391
77392 2000-03-24  Jim Meyering  <meyering@lucent.com>
77393
77394         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
77395         (charset_alias): Define.
77396         (install-exec-local): Factor out common code.
77397         (uninstall-local): Split lines longer than 80.
77398         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
77399         (SUFFIXES): Define.
77400         (.sed.in.sed): New rule.  Don't redirect directly to $@.
77401         (CLEANFILES): Add ref-add.sed and ref-del.sed.
77402
77403 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
77404
77405         * lib/config.charset: Output a line containing "Packages using this
77406         file".
77407         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
77408         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
77409         ref-del.sed): New rules.
77410
77411 2000-03-17  Jim Meyering  <meyering@lucent.com>
77412
77413         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
77414         Otherwise, include <strings.h>
77415
77416 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
77417
77418         * lib/unicodeio.c (utf8_wctomb): New function.
77419         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
77420         format instead of in UCS-4 with platform dependent endianness.
77421
77422 2000-03-10  Jim Meyering  <meyering@lucent.com>
77423
77424         * m4/lib-check.m4: Look for getspnam in -lgen, too.
77425         From Marco Franzen.
77426
77427 2000-03-07  Paul Eggert  <eggert@twinsun.com>
77428
77429         * lib/savedir.c (savedir): Work even if directory size is
77430         negative; this can happen with some screwy NFS configurations.
77431
77432 2000-03-06  Jim Meyering  <meyering@lucent.com>
77433
77434         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
77435         if it's NULL (because we ran out of memory).  From Bruno Haible.
77436
77437 2000-03-05  Jim Meyering  <meyering@lucent.com>
77438
77439         * lib/localcharset.c ("path-concat.h"): Include.
77440         (get_charset_aliases): Use path_concat instead of ANSI string
77441         concatenation.
77442
77443         * lib/unicodeio.h (PARAMS): Define.
77444         Use it to guard prototype.
77445
77446 2000-03-04  Jim Meyering  <meyering@lucent.com>
77447
77448         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
77449         for lib/localcharset.c.
77450
77451 2000-03-04  Jim Meyering  <meyering@lucent.com>
77452
77453         * lib/Makefile.am (install-exec-local): Create $(libdir) before
77454         installing into it.
77455         (uninstall-local): Uncomment this rule so `make distcheck' works
77456         once again.
77457
77458         * lib/unicodeio.c (<errno.h>): Include it.
77459         (errno): Declare if not defined.
77460
77461         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
77462
77463         * lib/config.charset: New version, incorporating remarks from a linux
77464         i18n mailing list.  From Bruno Haible.
77465
77466 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
77467
77468         * m4/codeset.m4: New file.
77469         * m4/iconv.m4: New file.
77470         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
77471
77472 2000-03-03  Jim Meyering  <meyering@lucent.com>
77473
77474         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
77475
77476 2000-03-02  Jim Meyering  <meyering@lucent.com>
77477
77478         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
77479         the messages come out on separate lines.
77480
77481         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
77482         rather than jm_CHECK_DECLARATIONS.
77483         * m4/decl.m4: Remove now-unused file.
77484
77485         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
77486         geteuid.
77487
77488 2000-03-02  Jim Meyering  <meyering@lucent.com>
77489
77490         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
77491
77492 2000-03-01  Jim Meyering  <meyering@lucent.com>
77493
77494         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
77495         * lib/unicodeio.c: Likewise.
77496
77497 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
77498
77499         * lib/config.charset: New file.
77500         * lib/localcharset.c: New file.
77501         * lib/unicodeio.h, lib/unicodeio.c: New files.
77502         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
77503         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
77504         (noinst_HEADERS): Add unicodeio.h.
77505         (all-local, install-exec-local, charset.alias): New targets.
77506
77507 2000-02-28  Paul Eggert  <eggert@twinsun.com>
77508
77509         * lib/quotearg.c (ALERT_CHAR): New macro.
77510         (quotearg_buffer_restyled): Use it.
77511
77512 2000-02-27  Jim Meyering  <meyering@lucent.com>
77513
77514         * m4/check-decl.m4: Add getenv to the list.
77515
77516 2000-02-27  Jim Meyering  <meyering@lucent.com>
77517
77518         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
77519         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
77520
77521         * lib/backupfile.c: Guard inclusion of stdlib.h with
77522         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
77523         Declare malloc if needed.
77524
77525         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
77526         `#ifndef HAVE_DECL..'
77527         now that autoconf always defines the HAVE_DECL_ symbols.
77528         * lib/human.c: Likewise.
77529         * lib/same.c: Likewise.
77530         * lib/strtoumax.c: Likewise.
77531
77532         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
77533         declaration check was not run.
77534         * lib/hash.c: Likewise.
77535         * lib/human.c: Likewise.
77536         * lib/same.c: Likewise.
77537         * lib/strtoumax.c: Likewise.
77538
77539         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
77540         `.', then first look up the entire `.'-containing string as a login
77541         name.
77542
77543 2000-02-23  Jim Meyering  <meyering@lucent.com>
77544
77545         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
77546         in place of my hack.
77547
77548 2000-02-18  Paul Eggert  <eggert@twinsun.com>
77549
77550         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
77551         (textint): New typedef.
77552         (parser_control): Member year changed from int to textint.
77553         All uses changed.
77554         (YYSTYPE): Removed; replaced by %union with int and textint members.
77555         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
77556         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
77557         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
77558         (tSNUMBER, tUNUMBER): Now of type <textintval>.
77559         (date, number, to_year): Use width of number in digits, not its value,
77560         to determine whether it's a 2-digit year, or a 2-digit time.
77561         (yylex): Store number of digits of numeric tokens.
77562         Reported by John Kendall.
77563
77564         (parser_control): Changed from struct parser_control to typedef (for
77565         consistency).  All uses changed.
77566
77567         (tID): Removed; not used.
77568         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
77569
77570 2000-02-14  Paul Eggert  <eggert@twinsun.com>
77571
77572         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
77573         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
77574
77575 2000-02-12  Jim Meyering  <meyering@lucent.com>
77576
77577         * lib/userspec.c (ISDIGIT): Define it.
77578         (isdigit): Remove definition.
77579         (is_number): Use ISDIGIT, not isdigit.
77580         <libintl.h>: Include.
77581         (_ and N_): Define.
77582         (parse_user_spec): Mark translatable strings.
77583
77584 2000-02-10  Jim Meyering  <meyering@lucent.com>
77585
77586         With these changes, nanosleep.[ch] are finally enough like the other
77587         lib/* replacement files to compile on a few more losing systems.
77588
77589         * lib/nanosleep.h: Don't include config.h.
77590         Remove prototype from declaration of nanosleep.
77591         (PARAMS): Remove now-unneeded definition.
77592         * lib/nanosleep.c: #undef nanosleep.
77593         (rpl_nanosleep): Rename from nanosleep.
77594
77595 2000-02-10  Jim Meyering  <meyering@lucent.com>
77596
77597         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
77598         gnu_nanosleep to rpl_nanosleep.
77599
77600 2000-02-09  Jim Meyering  <meyering@lucent.com>
77601
77602         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
77603         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
77604
77605 2000-02-08  Akim Demaille  <akim@epita.fr>
77606
77607         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
77608         `[' and `]' and remove uses of `changequote'.
77609         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
77610         (AC_SYS_LARGEFILE): Likewise.
77611         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
77612         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
77613         of changequote.
77614         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
77615         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
77616         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
77617         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
77618
77619 2000-02-05  Jim Meyering  <meyering@lucent.com>
77620
77621         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
77622         Remove explicit use of AC_HEADER_TIME.  It is required by
77623         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
77624         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
77625         in autoconf whereby the expansion of the latter ended up preceding
77626         the expansion of its prerequisite, AC_HEADER_TIME.
77627         Reported by Volker Borchert.
77628
77629 2000-02-03  Jim Meyering  <meyering@lucent.com>
77630
77631         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
77632
77633 2000-02-03  Jim Meyering  <meyering@lucent.com>
77634
77635         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
77636         rather than with `#if HAVE_UTMPNAME'.
77637
77638 2000-02-02  Jim Meyering  <meyering@lucent.com>
77639
77640         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
77641         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
77642         Reported by Eli Zaretskii.
77643
77644 2000-02-01  Jim Meyering  <meyering@lucent.com>
77645
77646         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
77647
77648 2000-01-31  Jim Meyering  <meyering@lucent.com>
77649
77650         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
77651         functions.  Add the time.h and sys/time.h headers along with the
77652         AC_REQUIRE'ment of AC_HEADER_TIME.
77653
77654 2000-01-31  Jim Meyering  <meyering@lucent.com>
77655
77656         * lib/nanosleep.h (nanosleep): Guard declaration with
77657         `#if ! HAVE_DECL_NANOSLEEP'.
77658         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
77659         the declaration in that vendor's sys/timers.h.
77660         Reported by Christian Krackowizer.
77661
77662         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
77663         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
77664         (ISPRINT): Likewise.
77665         Reported by Tom Tromey.
77666
77667 2000-01-30  Jim Meyering  <meyering@lucent.com>
77668
77669         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
77670
77671         * m4/prereq.m4 (utmp_includes): Define.
77672         Check for ut_user and ut_name members in both struct utmpx
77673         and struct utmp.
77674
77675 2000-01-30  Jim Meyering  <meyering@lucent.com>
77676
77677         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
77678         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
77679         header files where only utmpx.ut_user is declared.
77680
77681         * lib/readutmp.h (UT_USER): Define.
77682
77683 2000-01-29  Jim Meyering  <meyering@lucent.com>
77684
77685         * m4/lib-check.m4: New file containing library-related checks from
77686         fileutils and sh-utils (textutils had none).
77687
77688 2000-01-28  Jim Meyering  <meyering@lucent.com>
77689
77690         * m4/perl.m4: Change format of warning message to look more like that
77691         from the missing script.  Suggestion from François Pinard.
77692
77693 2000-01-25  Jim Meyering  <meyering@lucent.com>
77694
77695         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77696         well as time.h in the compile check.
77697         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77698         Fix typo in cross-compiling case: s/yes/no/.
77699
77700 2000-01-23  Jim Meyering  <meyering@lucent.com>
77701
77702         * m4/jm-macros.m4: Move df-related tests here from
77703         fileutils/configure.in
77704
77705         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77706         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77707
77708         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77709         s/space/ac_fsusage_space/.
77710         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77711
77712         * m4/ftruncate.m4: New file (derived from part of
77713         fileutils/configure.in).
77714         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77715         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77716
77717         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77718         AC_SUBST these here, rather than just in sh-util/configure.in, so
77719         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77720         all the same.
77721         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77722         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77723         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77724         (AC_SUBST(POW_LIBM)): Likewise.
77725         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77726
77727 2000-01-23  Jim Meyering  <meyering@lucent.com>
77728
77729         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77730         obstack.c.
77731
77732 2000-01-22  Jim Meyering  <meyering@lucent.com>
77733
77734         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77735
77736         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77737
77738         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77739         configure.in
77740         (AC_CHECK_HEADERS): Likewise for sh-utils.
77741         (AC_CHECK_HEADERS): Likewise for textutils.
77742         Merge the three lists of headers.
77743
77744         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77745         from fileutils' configure.in.
77746
77747         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77748         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77749         check-decl.m4.
77750
77751         * m4/check-decl.m4: Use #if rather than #ifdef.
77752         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77753         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77754         (_jm_DECL_HEADERS): Define new function.
77755         (jm_CHECK_DECLARATIONS): Require it.
77756
77757 2000-01-22  Jim Meyering  <meyering@lucent.com>
77758
77759         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77760         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77761         Required for some AIX systems.  Reported by Christian Krackowizer.
77762         [TESTING] (main): New function.
77763
77764         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77765         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77766         letters.
77767
77768         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77769         iswprint.
77770
77771         * lib/strverscmp.c (ISDIGIT): Define.
77772         (strverscmp): Use ISDIGIT, not isdigit.
77773
77774 2000-01-19  Jim Meyering  <meyering@lucent.com>
77775
77776         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77777         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77778         defines `struct timespec' in <sys/time.h>
77779
77780         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77781         Thanks to Akim for explaining.
77782
77783 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77784
77785         * lib/nanosleep.c (nanosleep):
77786         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77787         POSIX.1 doesn't require SA_INTERRUPT and some systems
77788         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77789         it's been part of POSIX.1 since day 1 (in 1988).
77790
77791 2000-01-17  Jim Meyering  <meyering@lucent.com>
77792
77793         * lib/interlock: Remove unused file.  Reported by François Pinard.
77794
77795 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77796
77797         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77798         alert, backslash, formfeed, and vertical tab unnecessarily in
77799         shell quoting style.
77800
77801 2000-01-16  Jim Meyering  <meyering@lucent.com>
77802
77803         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77804         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77805         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77806         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77807
77808 2000-01-16  Jim Meyering  <meyering@lucent.com>
77809
77810         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77811         because the latter didn't work.
77812
77813 2000-01-15  Jim Meyering  <meyering@lucent.com>
77814
77815         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77816         (AC_REPLACE_FUNCS): Add memcpy and memset.
77817         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77818         Add strpbrk.
77819         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77820
77821 2000-01-12  Jim Meyering  <meyering@lucent.com>
77822
77823         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77824         (jm_PREREQ): Use it.
77825         (jm_PREREQ_READUTMP): New macro.
77826         (jm_PREREQ): Use it.
77827
77828 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77829
77830         Quote multibyte characters correctly.
77831         * m4/c-bs-a.m4: New file.
77832         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77833         (jm_PREREQ): Use it.
77834
77835 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77836
77837         * m4/uintmax_t.m4: Port to autoconf 2.13.
77838
77839 2000-01-08  Jim Meyering  <meyering@ascend.com>
77840
77841         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77842         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77843
77844 2000-01-04  Jim Meyering  <meyering@ascend.com>
77845
77846         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77847         jm_STRUCT_DIRENT_D_TYPE.
77848         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77849         jm_STRUCT_DIRENT_D_INO.
77850         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77851         jm_STRUCT_UTIMBUF.
77852         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77853         renamings.
77854         * m4/utime.m4: Likewise.
77855
77856         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77857         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77858
77859 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77860
77861         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77862         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77863
77864 2000-01-02  Jim Meyering  <meyering@ascend.com>
77865
77866         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77867         remember if this is necessary.
77868
77869 1999-12-26  Jim Meyering  <meyering@ascend.com>
77870
77871         * m4/jm-macros.m4: Use it here.
77872         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77873
77874 1999-12-23  Jim Meyering  <meyering@ascend.com>
77875
77876         * m4/jm-macros.m4: Check for clock_gettime (moved from
77877         fileutils/configure.in)
77878         Check for gettimeofday.
77879
77880 1999-12-20  Jim Meyering  <meyering@ascend.com>
77881
77882         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77883         autoconf-2.14a-1999-12-20.
77884
77885 1999-12-19  Jim Meyering  <meyering@ascend.com>
77886
77887         * m4/lstat-slash.m4: New file.
77888         * m4/jm-macros.m4: Use the new macro:
77889         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77890
77891 1999-12-07  Jim Meyering  <meyering@ascend.com>
77892
77893         * m4/perl.m4: Require that File::Compare be available, too.
77894         Too many systems seem to lack it.
77895
77896         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77897         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77898
77899 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77900
77901         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77902         problem with the QNX 4.25 shell, which doesn't propagate exit
77903         status of failed commands inside shell assignments.
77904
77905 1999-11-17  Jim Meyering  <meyering@ascend.com>
77906
77907         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77908
77909 1999-11-07  Jim Meyering  <meyering@ascend.com>
77910
77911         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77912
77913 1999-11-06  Jim Meyering  <meyering@ascend.com>
77914
77915         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77916         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77917
77918 1999-11-05  Jim Meyering  <meyering@ascend.com>
77919
77920         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
77921         configure.in of textutils, fileutils, and sh-utils into this one
77922         (shared between those packages) file.
77923         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
77924         AC_STRUCT_ST_BLKSIZE.
77925
77926 1999-11-03  Jim Meyering  <meyering@ascend.com>
77927
77928         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
77929         of AC_CHECK_TYPE checks includes unistd.h.
77930         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
77931         Suggestion from Akim Demaille.
77932
77933 1999-10-30  Jim Meyering  <meyering@ascend.com>
77934
77935         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
77936         m4-quoted string.
77937         * m4/ls-mntd-fs.m4: Likewise.
77938         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
77939         * m4/jm-winsz1.m4: Likewise.
77940
77941         * m4/const.m4: Remove file, since the fix made it into the experimental
77942         version of autoconf.
77943         * m4/mktime.m4: Likewise.
77944
77945         * m4/check-type.m4: Remove file, now that the latest version of
77946         AC_CHECK_TYPE takes a third arg to specify additional #includes.
77947
77948         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
77949         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
77950         AC_CHECK_TYPE.
77951
77952 1999-10-04  Jim Meyering  <meyering@ascend.com>
77953
77954         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
77955
77956 1999-09-22  Paul Eggert  <eggert@twinsun.com>
77957
77958         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
77959         2.95.1 bug with HP-UX 10.20.
77960
77961 1999-09-17  Jim Meyering  <meyering@ascend.com>
77962
77963         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
77964         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
77965         due to missing strdup (against sh-utils-2.0).
77966
77967 1999-08-29  Jim Meyering  <meyering@ascend.com>
77968
77969         * m4/jm-macros.m4: Require jm_BISON.
77970         * m4/bison.m4: New file.
77971
77972 1999-08-17  Paul Eggert  <eggert@twinsun.com>
77973
77974         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
77975         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
77976
77977 1999-08-05  Jim Meyering  <meyering@ascend.com>
77978
77979         * m4/getline.m4: Rename test file from conftestdata to conftest.data
77980         to avoid conflicts with `conftest' on 8+3 filesystems.
77981         Suggestion from Eli Zaretskii.
77982
77983 1999-08-04  Jim Meyering  <meyering@ascend.com>
77984
77985         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
77986         fileutils and sh-utils (textutils's getline test was inadequate).
77987         (AM_FUNC_GETLINE): Run this test.
77988         (AC_CHECK_FUNCS): Check for getdelim.
77989         Reported by Bob Proulx.
77990
77991 1999-08-02  Jim Meyering  <meyering@ascend.com>
77992
77993         * m4/jm-macros.m4: Add a comment.
77994
77995 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77996
77997         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
77998         <inttypes.h> defines strtoumax as a macro (and not as a
77999         function).
78000
78001 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78002
78003         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
78004         that we can shift, multiply and divide unsigned long long
78005         values; Ultrix cc can't do it.
78006
78007 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78008
78009         * m4/mktime.m4: New file, which is a preview of what should appear
78010         in the next public autoconf release.
78011
78012 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78013
78014         * m4/lfs.m4: Remove this file.
78015         * m4/largefile.m4: New file.  It contains the old contents of
78016         lfs.m4, except that all names with prefix AC_LFS have been
78017         changed to use the prefix AC_SYS_LARGEFILE instead, to be
78018         compatible with future autoconf versions.  Also, some minor m4
78019         quoting problems have been fixed.
78020
78021 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78022
78023         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
78024         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
78025         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
78026         and simplify the shell code.
78027
78028 1999-08-01  Jim Meyering  <meyering@ascend.com>
78029
78030         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
78031         m4.
78032
78033 1999-07-20  Jim Meyering  <meyering@ascend.com>
78034
78035         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
78036
78037 1999-07-15  Jim Meyering  <meyering@ascend.com>
78038
78039         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
78040
78041 1999-05-22  Jim Meyering  <meyering@ascend.com>
78042
78043         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
78044
78045 1999-05-20  Jim Meyering  <meyering@ascend.com>
78046
78047         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
78048         Add a colon after each `then' in case $4 is empty.
78049
78050 1999-05-16  Jim Meyering  <meyering@ascend.com>
78051
78052         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
78053
78054 1999-05-10  Jim Meyering  <meyering@ascend.com>
78055
78056         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
78057
78058         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
78059         AC_FUNC_MKTIME.
78060
78061 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
78062
78063         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
78064
78065 1999-05-04  Paul Eggert  <eggert@twinsun.com>
78066
78067         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
78068         not CPPFLAGS, so that linking works correctly in IRIX.
78069
78070 1999-04-30  Paul Eggert  <eggert@twinsun.com>
78071
78072         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
78073
78074 1999-04-20  Paul Eggert  <eggert@twinsun.com>
78075
78076         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
78077         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
78078         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
78079         jm_AC_TYPE_UNSIGNED_LONG_LONG.
78080         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
78081
78082         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
78083
78084 1999-04-20  Jim Meyering  <meyering@ascend.com>
78085
78086         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
78087         AC_REPLACE xstroull if necessary.  From Paul Eggert.
78088         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
78089
78090 1999-04-18  Jim Meyering  <meyering@ascend.com>
78091
78092         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
78093         * m4/jm-macros.m4: Use it.
78094
78095 1999-04-06  Jim Meyering  <meyering@ascend.com>
78096
78097         * m4/strftime.m4: Remove test for %f.
78098
78099 1999-03-29  Jim Meyering  <meyering@ascend.com>
78100
78101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
78102         superset of the AC_TYPE_* checks in the textutils, fileutils,
78103         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
78104         AC_TYPE_PID_T.
78105
78106 1999-03-28  Jim Meyering  <meyering@ascend.com>
78107
78108         * m4/jm-macros.m4: Define GNU_PACKAGE here.
78109         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
78110         replaced e.g., in the *.sh files of the sh-utils.
78111
78112 1999-03-20  Jim Meyering  <meyering@ascend.com>
78113
78114         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
78115         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
78116         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
78117
78118 1999-03-19  Jim Meyering  <meyering@ascend.com>
78119
78120         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
78121
78122 1999-03-12  Jim Meyering  <meyering@ascend.com>
78123
78124         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
78125
78126 1999-03-07  Jim Meyering  <meyering@ascend.com>
78127
78128         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
78129         declared.
78130
78131 1999-02-17  Jim Meyering  <meyering@ascend.com>
78132
78133         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
78134         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
78135
78136 1999-02-07  Jim Meyering  <meyering@ascend.com>
78137
78138         * m4/group-member.m4: New file -- extracted from sh-utils'
78139         configure.in.
78140
78141         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
78142         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
78143
78144 1999-02-06  Jim Meyering  <meyering@ascend.com>
78145
78146         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
78147         * m4/fnmatch.m4: Likewise.
78148         * m4/getgroups.m4: Likewise.
78149         * m4/lstat.m4: Likewise.
78150         * m4/malloc.m4: Likewise.
78151         * m4/putenv.m4: Likewise.
78152         * m4/realloc.m4: Likewise.
78153         * m4/regex.m4: Likewise.
78154         * m4/stat.m4: Likewise.
78155         * m4/strftime.m4: Likewise.
78156         Suggestion from Alain Magloire.
78157
78158         * m4/chown.m4: Use `.$ac_objext', not `.o'.
78159         * m4/fnmatch.m4: Likewise.
78160         * m4/getgroups.m4: Likewise.
78161         * m4/getline.m4: Likewise.
78162         * m4/lstat.m4: Likewise.
78163         * m4/malloc.m4: Likewise.
78164         * m4/memcmp.m4: Likewise.
78165         * m4/putenv.m4: Likewise.
78166         * m4/realloc.m4: Likewise.
78167         * m4/regex.m4: Likewise.
78168         * m4/stat.m4: Likewise.
78169         * m4/strftime.m4: Likewise.
78170         Suggestion from Alain Magloire.
78171
78172         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
78173         an argument.
78174
78175         * m4/regex.m4: Add a run-time Test for proper operation of
78176         re_compile_pattern.
78177
78178 1999-01-31  Jim Meyering  <meyering@ascend.com>
78179
78180         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
78181
78182 1999-01-30  Jim Meyering  <meyering@ascend.com>
78183
78184         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
78185
78186         * m4/jm-mktime.m4: Make this a wrapper around the official
78187         AM_FUNC_MKTIME rather than my private copy, now that the official one
78188         is up to date.
78189         * m4/mktime.m4: Remove file.
78190
78191         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
78192         * m4/uptime.m4: Likewise.
78193         * m4/uintmax_t.m4: Likewise.
78194
78195 1999-01-28  Jim Meyering  <meyering@ascend.com>
78196
78197         * m4/jm-macros.m4: Use jm_AFS.
78198         * m4/afs.m4: New file (from fileutils' configure.in).
78199
78200         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
78201         * m4/chown.m4: Likewise.
78202         * m4/d-ino.m4: Likewise.
78203         * m4/d-type.m4: Likewise.
78204         * m4/fnmatch.m4: Likewise.
78205         * m4/getgroups.m4: Likewise.
78206         * m4/gettext.m4: Likewise.
78207         * m4/jm-mktime.m4: Likewise.
78208         * m4/jm-winsz2.m4: Likewise.
78209         * m4/lcmessage.m4: Likewise.
78210         * m4/ls-mntd-fs.m4: Likewise.
78211         * m4/malloc.m4: Likewise.
78212         * m4/memcmp.m4: Likewise.
78213         * m4/putenv.m4: Likewise.
78214         * m4/realloc.m4: Likewise.
78215         * m4/st_mtim.m4: Likewise.
78216         * m4/strftime.m4: Likewise.
78217
78218 1999-01-16  Jim Meyering  <meyering@ascend.com>
78219
78220         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
78221         (ARGMATCH_DIE_DECL): Define.
78222
78223 1999-01-12  Jim Meyering  <meyering@ascend.com>
78224
78225         * m4/Makefile.am.in: Rewrite to avoid using fmt.
78226         Reported by Lars Hecking.
78227
78228 1999-01-10  Jim Meyering  <meyering@ascend.com>
78229
78230         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
78231         gross kludge.
78232         * m4/inttypes_h.m4: Likewise.
78233         * m4/lstat.m4: Likewise.
78234         * m4/malloc.m4: Likewise.
78235         * m4/readdir.m4: Likewise.
78236         * m4/realloc.m4: Likewise.
78237         * m4/st_dm_mode.m4: Likewise.
78238         * m4/stat.m4: Likewise.
78239         * m4/utimbuf.m4: Likewise.
78240         * m4/utimes.m4: Likewise.
78241
78242         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
78243         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
78244         comments in config.h.in are meaningful.
78245
78246         * m4/jm-macros.m4: Require autoconf-2.13 here.
78247
78248         * m4/regex.m4: By default, don't use the included regex.c on systems
78249         with glibc 2.  Suggestion from Uli Drepper.
78250
78251 1999-01-02  Jim Meyering  <meyering@ascend.com>
78252
78253         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
78254
78255 1998-12-18  Jim Meyering  <meyering@ascend.com>
78256
78257         * m4/Makefile.am.in (Makefile.am): Simplify rule.
78258         Based on a suggestion from Lars Hecking.
78259
78260 1998-11-16  Paul Eggert  <eggert@twinsun.com>
78261
78262         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
78263
78264 1998-11-16  Jim Meyering  <meyering@ascend.com>
78265
78266         * m4/lfs.m4: Double-quote the `uname...` expression.
78267
78268 1998-11-14  Jim Meyering  <meyering@ascend.com>
78269
78270         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
78271         * m4/stat.m4: Likewise.
78272
78273 1998-11-03  Jim Meyering  <meyering@ascend.com>
78274
78275         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
78276         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
78277
78278 1998-10-18  Jim Meyering  <meyering@ascend.com>
78279
78280         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
78281
78282 1998-10-17  Jim Meyering  <meyering@ascend.com>
78283
78284         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
78285         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
78286         calls for those previously hard-coded headers.  Instead, take a new
78287         parameter.
78288         (jm_CHECK_DECLARATIONS): Reflect interface change.
78289         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
78290         (jm_CHECK_DECL_LOCALTIME_R): New macro.
78291
78292         * m4/mktime.m4: Test for spring-forward gap before long-running test.
78293
78294 1998-10-14  Jim Meyering  <meyering@ascend.com>
78295
78296         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
78297         instead of "TZ=America/Vancouver".  From Paul Eggert.
78298
78299 1998-10-11  Jim Meyering  <meyering@ascend.com>
78300
78301         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
78302         This adds a test for a recently added compatibility fix for mktime.c.
78303         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
78304
78305 1998-09-27  Jim Meyering  <meyering@ascend.com>
78306
78307         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
78308
78309         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
78310         ../configure.in, including a change from Gordon Matzigkeit to allow
78311         cross-compiling for the Hurd.
78312
78313         * m4/glibc.m4: New file/macro to test for the GNU C Library
78314         versions 1 and 2.  From Gordon Matzigkeit.
78315         Indent.
78316
78317 1998-09-21  Jim Meyering  <meyering@ascend.com>
78318
78319         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
78320
78321 1998-08-18  Paul Eggert  <eggert@twinsun.com>
78322
78323         Port nanosecond-resolution times to UnixWare 2.1.2 and
78324         pedantic Solaris 2.6.
78325
78326         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
78327         AC_STRUCT_ST_MTIM.
78328         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
78329         Generate name of ns member, instead of just 1 or undef.
78330         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
78331
78332 1998-08-15  Jim Meyering  <meyering@ascend.com>
78333
78334         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
78335         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
78336         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
78337         instead of jm_TYPE_SSIZE_T.
78338
78339 1998-08-12  Jim Meyering  <meyering@ascend.com>
78340
78341         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
78342
78343 1998-08-02  Jim Meyering  <meyering@ascend.com>
78344
78345         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
78346         in acconfig.h manually.
78347
78348 1998-07-31  Paul Eggert  <eggert@twinsun.com>
78349
78350         * m4/st_mtim.m4: New file.
78351
78352 1998-07-28  Jim Meyering  <meyering@ascend.com>
78353
78354         * m4/utimes.m4: Undef stat.
78355
78356 1998-07-25  Jim Meyering  <meyering@ascend.com>
78357
78358         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
78359         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
78360
78361 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
78362
78363         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
78364         uid and gid actually remain unchanged.
78365
78366 1998-07-07  Jim Meyering  <meyering@ascend.com>
78367
78368         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
78369
78370 1998-07-04  Jim Meyering  <meyering@ascend.com>
78371
78372         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
78373         to prove that this macro can be used in packages without regex.c.
78374
78375 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
78376
78377         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
78378         is to be used.
78379
78380 1998-07-03  Jim Meyering  <meyering@ascend.com>
78381
78382         * m4/gettext.m4: Add -lintl if it's found to be necessary.
78383
78384         * m4/gettext.m4: New file -- from gettext-0.10.35.
78385         * m4/lcmessage.m4: Likewise.
78386         * m4/progtest.m4: Likewise.
78387
78388         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
78389         * m4/jm-macros.m4: Require the new macro.
78390
78391 1998-06-29  Jim Meyering  <meyering@ascend.com>
78392
78393         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
78394         for the definition of NGROUPS (used in a system header included
78395         by sys/mount.h).
78396
78397 1998-06-28  Jim Meyering  <meyering@ascend.com>
78398
78399         * m4/ls-mntd-fs.m4: New file.
78400         * m4/fstypename.m4: New file.
78401
78402         * m4/jm-macros.m4: Require the new macro.
78403         * m4/jm-glibc-io.m4: New file.
78404
78405 1998-05-19  Jim Meyering  <meyering@ascend.com>
78406
78407         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
78408         * m4/lchown.m4: New file.
78409
78410         * m4/Makefile.am.in: New file.
78411         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
78412
78413 1998-05-14  Jim Meyering  <meyering@ascend.com>
78414
78415         * m4/Makefile.am (EXTRA_DIST): Add them.
78416         * m4/jm-macros.m4: New file.
78417         * m4/utimbuf.m4: New file.
78418
78419 1998-05-12  Jim Meyering  <meyering@ascend.com>
78420
78421         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
78422
78423 1998-05-11  Jim Meyering  <meyering@ascend.com>
78424
78425         * m4/isc-posix.m4: New file.
78426
78427 1998-05-10  Jim Meyering  <meyering@ascend.com>
78428
78429         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
78430
78431 1998-05-09  Jim Meyering  <meyering@ascend.com>
78432
78433         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
78434         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
78435         with automake.
78436
78437         * m4/ssize_t.m4: New file.
78438         * m4/mktime.m4: Remove file -- the new automake has this now.
78439
78440 1998-04-26  Jim Meyering  <meyering@ascend.com>
78441
78442         * m4/assert.m4: New file.
78443         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
78444
78445 1998-04-05  Jim Meyering  <meyering@ascend.com>
78446
78447         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
78448         (jm_PREREQ): Use it here.
78449
78450 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
78451
78452         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
78453         in acconfig.h.
78454
78455 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
78456
78457         * m4/prereq.m4: New file.
78458         * m4/error.m4: New file.
78459         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
78460
78461 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
78462
78463         * m4/getline.m4: Don't set am_cv_func_working_getline before the
78464         cache-check for the same variable -- that defeated the purpose of
78465         the test; the test program was never run.  This was a problem only
78466         on systems with losing getline functions -- HP-UX 10.20 is one.
78467         Reported by Bjorn Helgaas.
78468
78469 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
78470
78471         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
78472
78473 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
78474
78475         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
78476
78477         * m4/const.m4: New file.  Use an initializer in this declaration
78478         typedef int charset[2]; const charset x;
78479         Reported by Bob Glickstein.
78480
78481 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
78482
78483         * m4/chown.m4: Fix reversed types on -1 args to chown.
78484         From Kaveh Ghazi.
78485
78486 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
78487
78488         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
78489         Add lseek and memchr.
78490
78491         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
78492         T.E.Dickey <dickey@clark.net> said that some older preprocessors
78493         have a 20-character limit on names.
78494
78495 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
78496
78497         * m4/inttypes_h.m4: New file.
78498         * m4/uintmax_t.m4: New file.
78499         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
78500
78501
78502         -----
78503
78504         Local Variables:
78505         coding: utf-8
78506         End:
78507
78508         Copyright (C) 1997-2011 Free Software Foundation, Inc.
78509
78510         Copying and distribution of this file, with or without
78511         modification, are permitted provided the copyright notice
78512         and this notice are preserved.